Имя: Пароль:
1C
1С v8
Заполнение макета из выборки.
,
0 progaoff
 
24.08.18
15:43
Пишу следующее

Выборка = Запрос.Выполнить().Выбрать();
         Пока Выборка.Следующий() Цикл      
                КоличествоЕдениц = Объект.МассивОбъектов.Товары.Выгрузить();
                Итого = КоличествоЕдениц.Итог("Количество");
                ТабДок.Очистить();
              ОбластьШапки.Параметры.НомерДоговора            = Выборка.НомерДоговора;
              ОбластьШапки.Параметры.ДатаДоговора             = Выборка.ДатаДоговора;
              ОбластьШапки.Параметры.НомерЗаказа                = Выборка.НомерЗаказа;
              ОбластьШапки.Параметры.Менеджер                 = Выборка.Менеджер;
              ОбластьШапки.Параметры.Телефон                  = Выборка.Телефон;
              ОбластьШапки.Параметры.Емаил                      = Выборка.Емаил;
              ОбластьШапки.Параметры.ДатаЗаказа                  = Выборка.ДатаЗаказа;
              ОбластьШапки.Параметры.КоличествоСтрокПоЗаказу  = Выборка.КоличествоСтрок;
              ОбластьШапки.Параметры.КоличествоВсего          = Итого;
              ОбластьШапки.Параметры.СуммаСоСкидкой           = Выборка.СуммаДокумента;
              ОбластьШапки.Параметры.СуммаПредоплаты          = Выборка.СуммаПредоплаты;
              ОбластьШапки.Параметры.СуммаБезСкидки              = Выборка.СуммаДокумента+Выборка.СуммаСкидки;
              ОбластьШапки.Параметры.ПроцентСкидки            = Строка(Выборка.Скидка)+" %";
              ОбластьШапки.Параметры.Валюта                   = Выборка.Валюта;
          КонецЦикла;
              ТабДок.Вывести(ОбластьШапки);
          ВыборкаСтрок = Запрос.Выполнить().Выбрать();          
          Пока ВыборкаСтрок.Следующий() Цикл      
              ОбластьДанные.Параметры.Наименование = ВыборкаСтрок.Номенклатура;
              ОбластьДанные.Параметры.Артикул      = ВыборкаСтрок.Артикул;
              ОбластьДанные.Параметры.Количество   = ВыборкаСтрок.КоличетсвоЕдениц;
              ТабДок.Вывести(ОбластьДанные);
          КонецЦикла;      
              
              Возврат ТабДок;
В результате, ОбластьДанные, заполняеться не понятным составом, которого нет в самой выборки, вроде и код простой до безобразия, а заполнение какое то не адекватное. Куда копать подскажите пожалуста?
1 Симпатяга
 
24.08.18
15:46
(0) КоличествоЕдениц это сильно)))))
2 progaoff
 
24.08.18
15:47
(1) )))) Ну да)
3 Гипервизор
 
24.08.18
15:48
(1) ВыборкаСтрок.КоличетсвоЕдениц - сильнее))
4 Симпатяга
 
24.08.18
15:48
(0) в шапке цикл с заполнением параметров. я так понимаю один элемент всегда?
5 Симпатяга
 
24.08.18
15:49
(3) xD
6 Михаил Козлов
 
24.08.18
15:49
Странно как-то: в первом цикле очищаете ТабДок, потом его заполняете. Шапку, наверное, 1 раз нужно формировать?
2 раза выполняется запрос - непонятно, зачем.
Перед ТабДок.Вывести(ОбластьДанные) посмотрите в отладчике параметры области.
7 Вафель
 
24.08.18
15:58
ошибка здесь
ВыборкаСтрок = Запрос.Выполнить().Выбрать();
8 progaoff
 
24.08.18
16:05
(7) можно по подробнее?)
9 hhhh
 
24.08.18
16:10
(8) в запросе ошибка
10 progaoff
 
24.08.18
16:13
(9) в консоли проверял, там все норм выводит
11 Симпатяга
 
24.08.18
16:14
(0) а в чем неадекватность?
12 progaoff
 
24.08.18
16:14
(10) ай ай
13 dezss
 
24.08.18
16:22
че я только что увидел?
в цикле очищается табдок, заполняются параметры без вывода в результирующий...
так еще один и тот же запрос выполняется 2 раза и выдает разный набор колонок? О_о
14 dezss
 
24.08.18
16:22
(13) + и при этом:
Стаж: 3 года 2 месяца 2 дня
15 progaoff
 
24.08.18
16:23
(9) Спасибо.