Имя: Пароль:
1C
1С v8
Формирование печатной формы
0 ONE1
 
03.12.21
15:32
Помогите пожалуйста, скорее всего вопрос очень глупый. Переделываю печатную форму Задания на перевозку, а конкретно нужно  дополнительную информацию заполнить, но при выводе табличной части все колонки кроме доп информации задваиваются, если закомменитировать условие с доп инф, то все норм выводит

Пока ВыборкаПоНомерамСтрок.Следующий() Цикл
                ВыборкаПоКодамСтрок = ВыборкаПоНомерамСтрок.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);    
                Пока ВыборкаПоКодамСтрок.Следующий() Цикл
                    НомерСтроки = НомерСтроки + 1;
                    ОбластьСтрокаТаблицы.Параметры.НомерЗаказа = НомерСтроки;
                    ВыборкаПоПолучателям = ВыборкаПоКодамСтрок.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
                    ПервыйПолучатель = Истина;
                    КоличествоПолучателей = ВыборкаПоПолучателям.Количество() - 1;
                    
                    Пока ВыборкаПоПолучателям.Следующий() Цикл        
                        Если ПервыйПолучатель Тогда
                            ПервыйПолучатель = Ложь;            
                            ЗаполняемаяОбласть = ОбластьСтрокаТаблицы;
                        Иначе
                            ЗаполняемаяОбласть = ОбластьДопСтрокаТаблицы;
                        КонецЕсли;
                        ИтогоВес   = 0;
                        ИтогоОбъем = 0;    
                        КоличествоМестПоСтроке = 0;
                        
                        Выборка = ВыборкаПоПолучателям.Выбрать();
                        Пока Выборка.Следующий() Цикл
                            ИтогоВес   = ИтогоВес + Выборка.Вес;
                            ИтогоОбъем = ИтогоОбъем + Выборка.Объем;
                            
                            КоличествоМестПоСтроке = КоличествоМестПоСтроке + Выборка.КоличествоМест;
                            ЗаполняемаяОбласть.Параметры.Заполнить(Выборка);
                        КонецЦикла;
                        
                        ИтогоКоличествоМест = ИтогоКоличествоМест + КоличествоМестПоСтроке;
                        
                        ПараметрыГрузаПолучателя = Новый Структура;
                        ПараметрыГрузаПолучателя.Вставить("Вес",            ИтогоВес);
                        ПараметрыГрузаПолучателя.Вставить("Объем",          ИтогоОбъем);
                        ПараметрыГрузаПолучателя.Вставить("КоличествоМест", КоличествоМестПоСтроке);
                        ЗаполняемаяОбласть.Параметры.Заполнить(ПараметрыГрузаПолучателя)
                        
                        Пока ДопВыборка.Следующий() Цикл
                            Сообщить(ДопВыборка.Распоряжение);
                              Если ТипЗнч(ДопВыборка.Распоряжение) = Тип("ДокументСсылка.ПоручениеЭкспедитору") Тогда    
                                ДополнительнаяИнформация = ПолучитьТекстРаспоряжения(ДопВыборка.Распоряжение);
                                ЗаполняемаяОбласть.Параметры.ДополнительнаяИнформация = ДополнительнаяИнформация;        
                            ИначеЕсли ТипЗнч(ДопВыборка.Распоряжение) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") Тогда
                                   ДополнительнаяИнформация = ПолучитьДопИнфПриобретения(ДопВыборка.Распоряжение);
                                   ЗаполняемаяОбласть.Параметры.ДополнительнаяИнформация = ДополнительнаяИнформация;
                            ИначеЕсли ТипЗнч(ДопВыборка.Распоряжение) = Тип("ДокументСсылка.ЗаказПоставщику") Тогда                              
                                   ДополнительнаяИнформация = ПолучитьДопИнфЗаказа(ДопВыборка.Распоряжение);
                                   ЗаполняемаяОбласть.Параметры.ДополнительнаяИнформация = ДополнительнаяИнформация;                              
                               КонецЕсли;
                               ТабличныйДокумент.Вывести(ЗаполняемаяОбласть);
                           КонецЦикла;
1 lodger
 
03.12.21
15:57
ну так махни местами строки
ТабличныйДокумент.Вывести(ЗаполняемаяОбласть);
КонецЦикла;
2 ONE1
 
03.12.21
16:09
(1) Тогда некорректно отображается ДополнительнаяИнформация, заполняется только 1 строка