Имя: Пароль:
1C
1С v8
Не получется правильно вывести данные
0 ЮлияКорж
 
14.02.12
12:18
Я хочу вывести результаты запроса в отчет,я хочу в одной ячейки поставить проверку  и в поле оклад вывести оклад если он определен, а иначе разряд, но оклад в базе неопределен,выводит разряд но несколько раз  
   номер = 0;
   Пока РезультатыНазначения.Следующий() Цикл
       если номер=0 тогда
           ОбластьОсновныеСведения.Параметры.ДатаПриема=РезультатыНазначения.ДатаС;
       конецесли;
               ОбластьШапка.Параметры.КодПодразделения=РезультатыНазначения.Подразделение.Код;
           ОбластьШапка.Параметры.НаименованиеПодразделения=(РезультатыНазначения.Подразделение.Код+"("+РезультатыНазначения.Подразделение.Наименование +")");
       //конецесли;
       номер = 1 + номер;
       Если номер > 10 Тогда
           Прервать;
       КонецЕсли;
       
       ОбластьНазначенияИПеремещения.Параметры["ДатаС" + номер] = Формат(РезультатыНазначения.ДатаС,"ДФ=""дд.ММ.гггг""");
       ОбластьНазначенияИПеремещения.Параметры["Подразделение" + номер] = РезультатыНазначения.Подразделение;
       ОбластьНазначенияИПеремещения.Параметры["Должность" + номер] = РезультатыНазначения.Должность;
       ОбластьНазначенияИПеремещения.Параметры["Код" + номер] = РезультатыНазначения.Должность.КодКП;
       ОбластьНазначенияИПеремещения.Параметры["Приказ"+номер] = ОбщегоНазначения.ПолучитьНомерНаПечать(РезультатыНазначения.Приказ) + " від " + Формат(РезультатыНазначения.Приказ.Дата,"ДФ=дд.ММ.гг");
       Если  РезультатыНазначения.Оклад<>Неопределено тогда
       ОбластьНазначенияИПеремещения.Параметры.["Оклад"+номер]=РезультатыНазначения.Разряд;
       Иначе
       ОбластьНазначенияИПеремещения.Параметры.["Оклад"+номер]=Формат(РезультатыНазначения.Оклад,"ЧДЦ=2");
       КонецЕсли;        
КонецЦикла;
1 Wobland
 
14.02.12
12:19
предлагаю эту "проверку" забабашить в запросе
2 le_
 
14.02.12
12:20
Зачем вторую тему создавать?
v8: Не получается отладить запрос
3 ЮлияКорж
 
14.02.12
12:21
Запрос уже работает выводит данные но мне не нравится как
4 Shurjk
 
14.02.12
12:22
(3) Думаешь тебе тут макет нарисуют?
5 ЮлияКорж
 
14.02.12
12:26
Дата            Назва структурного підрозділу (код)                                Професія, посада                                    Розряд (оклад)                "Підстава,
наказ №"            Підпис працівника        
                                           назва                        код за КП*                                Дата            Назва структурного підрозділу (код)                                Професія, посада                                    Розряд (оклад)                "Підстава,
наказ №"            Підпис працівника        
                                           назва                        код за КП*                                                
22.07.2010            Отдел технического контроля                                контролер в литейном пр-ве                                    5                30к від 22.07.10                    
13.04.2011            Управление                                инженер-программист 2кат                                    5                251к від 13.04.11
6 Wobland
 
14.02.12
12:26
(5) да.. мне тоже так не нравится
7 kosts
 
14.02.12
12:27
(6) Согласен, не очень...
8 ЮлияКорж
 
14.02.12
12:27
Выводит в поле оклад 2 раза розряд при условии что поле оклад пустое
9 Wobland
 
14.02.12
12:31
(8) а в консоли тоже дважды? по коду не скажешь, что два раза выводится
10 Wobland
 
14.02.12
12:32
+(9) сделай уже ЕСТЬNULL() на свой оклад в запросе
11 ЮлияКорж
 
14.02.12
12:35
Если  РезультатыНазначения.Оклад=Неопределено тогда
       ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]=РезультатыНазначения.Разряд;
       Иначе
       ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]=Формат(РезультатыНазначения.Оклад,"ЧДЦ=2");
       КонецЕсли;        
а именно ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]=РезультатыНазначения.Разряд; просто если оклад имеется тогда необходимо в переменной его присвоить, а если нет то присвоить разряд
12 Wobland
 
14.02.12
12:36
(11) ответь на (9)
13 salvator
 
14.02.12
12:36
ВЫБОР КОГДА Траляля и поехали
14 ЮлияКорж
 
14.02.12
12:39
Я извиняюсь за сумбурность. Мне просто тяжело сформулировать свою мысль,проще что то написать понимаю,а сказать правиль выразится не получается-проблема
15 salvator
 
14.02.12
12:41
(14) Тогда попробуйте сформулируйте её четко.
16 Wobland
 
14.02.12
12:43
(14) меня пару раз миста в таких случая выручала. в голове каша, не знаю, с какой стороны подойти и всё такое.. иду на мисту создавать тему, пытаюсь облечь это в слова, и внезапно становится всё понятно и хорошо. наведи порядок в голове
17 БалбесВ1с
 
14.02.12
12:48
Я как увидел пидродзилу,так и забыл всё что знал!
18 hhhh
 
14.02.12
12:51
(17) мат здесь не приветствуется.
19 СноваЗдорова
 
14.02.12
13:01
Требую не писать тут на коверканом русском!
20 ЮлияКорж
 
17.02.12
12:07
Опять ерунда с выводом данных я хочу чтобы в переменной оклад которой присваивается результат выполнения запроса,выводился либо разряд либо оклад в зависимость что заполнено в начислениях, а он мне выводит только рязряд и два раза  прописала
|ЕстьNull(ПлановыеНачисления.Показатель1,0) КАК Оклад,
|ЕстьNull(ПлановыеНачисления.ТарифныйРазряд1,0) КАК Разряд
и далее
Если РезультатыНазначения.Оклад<>Неопределено  тогда
           ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]=Формат(РезультатыНазначения.Оклад,"ЧДЦ=2")
       иначе  ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]="";
         Если   РезультатыНазначения.Разряд<>Неопределено тогда
            ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]=РезультатыНазначения.Разряд
            иначе
       ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]="";
       КонецЕсли;
21 ЮлияКорж
 
17.02.12
12:08
что в логике не так
22 Wobland
 
17.02.12
12:10
(20) Оклад у тебя всегда будет отличаться от неопределено в выборке. обработай ситуацию в запросе. я не смог понять, как именно надо обработать...
23 Wobland
 
17.02.12
12:13
(21) "либо разряд либо оклад в зависимость что заполнено в начислениях" скажи другими словами
24 ЮлияКорж
 
17.02.12
12:17
Допустим есть ДокПриема в доке приема указан разряд,потом был док перемещения изменился вид начисления стал оклад, в личной карточке сотрудника я должна это отобразить в печатной форме есть переменная  
ОбластьНазначенияИПеремещения.Параметры["Оклад"+номер]в которую я вывожу результат запроса в зависимости какое заполнено но оно мне выводит два раза разряд что в доке приеме где указан разряд,что в
доке перемещения, в кот я вообще не указала способ начисления и оклад он должен был вывести ""
25 Wobland
 
17.02.12
12:25
(24)ЕСТЬNULL(ПлановыеНачисления.Показатель1, ПлановыеНачисления.ТарифныйРазряд1) КАК ОкладИлиРазрядОднимПолем
не подойдёт?
26 hhhh
 
17.02.12
12:38
(24) Если РезультатыНазначения.Оклад>0  тогда
27 ЮлияКорж
 
17.02.12
13:35
Cпасибо всем все получилось всё элементарно просто
28 Wobland
 
17.02.12
14:25
(27) что было-то?
29 ЮлияКорж
 
17.02.12
14:36
И ЭТО СРАБОТАЛО
ЕСТЬNULL(ПлановыеНачисления.Показатель1, ПлановыеНачисления.ТарифныйРазряд1) КАК ОкладИлиРазрядОднимПолем
И ТО Я ОБОИМИ СПОСОБАМИ ПРОБОВАЛА спасибо!!!
Основная теорема систематики: Новые системы плодят новые проблемы.