Имя: Пароль:
1C
1С v8
Как подтянуть в печатную форму данные из табличной части документа?
0 Natali15
 
13.02.22
18:19
Бухгалтерия 3.0. В документ "Реализация товаров и услуг" с помощью расширения добавила две колонки в табличную часть "Товары" . Теперь нужно, чтобы эти колонки также отражались в печатной форме "Универсальный передаточный документ". в расширение добавила макет этой печатной формы, добавила колонки, задала параметры, а как теперь в коде это написать не понимаю, объясните, пожалуйста
1 hhhh
 
13.02.22
18:23
(0) посмотри как другие колонки подтягиваются, и сделай свои колонки точно также.
2 Natali15
 
13.02.22
18:25
(1) как можно найти, где заполняются эти данные?
3 Natali15
 
13.02.22
18:34
(1)     ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    Если ВерсияПостановления1137 >= 5 Тогда
        ОбластьЗапись = ОбластьМакета.Область("ОбластьЗапись");
    КонецЕсли;
    
    КоличествоСтраниц = 1;
    
    СчетФактураБезНДС = Истина;
    НДСНеВыставляетя  = Истина;
    
    НомерСтроки = 0;
    НомерЛиста = 1;
    КоличествоСтрок = ТаблицаДокумента.Количество();
    Для каждого СтрокаДокумента Из ТаблицаДокумента Цикл
        
        НомерСтроки = НомерСтроки + 1;
        СтрокаДокумента.НомерСтроки = НомерСтроки;
        
        Если ВерсияПостановления1137 >= 4 Тогда
            Если ЭтоУниверсальныйПередаточныйДокумент Тогда
                СтрокаДокумента.Акциз = "без
                    |акциза";
            КонецЕсли;
            
            Если ЗначениеЗаполнено(СтрокаДокумента.РегистрационныйНомерТД) Тогда
                СтрокаДокумента.ПредставлениеГТД = СтрокаДокумента.РегистрационныйНомерТД;
            Иначе
                СтрокаДокумента.ПредставлениеГТД = "";
                Если Не ВыводитьРНПТ
                    ИЛИ ВыводитьРНПТ И Не ЗначениеЗаполнено(СтрокаДокумента.СведенияОПрослеживаемости) Тогда
                    СтрокаДокумента.ПредставлениеСтраны = "";
                КонецЕсли;
            КонецЕсли;
        КонецЕсли;
        
        ОбластьМакета.Параметры.Заполнить(СтрокаДокумента);
        
        Если НЕ ЗначениеЗаполнено(СтрокаДокумента.СтавкаНДС) Тогда
            ОбластьМакета.Параметры.СтавкаНДС = "--";
            Если СтрокаДокумента.СуммаНДС = 0 Тогда
                ОбластьМакета.Параметры.СуммаНДС = "--";
            КонецЕсли;
        КонецЕсли;
        
        ДозаполнитьСтрокуСчетаФактуры1137(ОбластьМакета, ВыборкаСФ.ВидСчетаФактуры);
        
        Если ДанныеШапки.НДСИсчисляетсяНалоговымАгентом Тогда
            ДозаполнитьПараметрыНДСИсчисляетНалоговыйАгент(ОбластьМакета);
            ОбластьМакета.Параметры.Стоимость = СтрокаДокумента.Стоимость;
        КонецЕсли;
        
        Если ВыводитьРНПТ
            И ЗначениеЗаполнено(СтрокаДокумента.СведенияОПрослеживаемости) Тогда
            ТаблицаРНПТ = СтрокаДокумента.СведенияОПрослеживаемости;
            ПерваяСтрока = Истина;
            ОбластьЗапись.ГраницаСнизу  = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);
            ОбластьЗапись.ГраницаСверху = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);
            Для ИндексСтроки = 0 По ТаблицаРНПТ.Количество() - 1 Цикл
                Если Не ПерваяСтрока Тогда
                    // Получаем область для последующих строк для очистки параметров.
                    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
                    ОбластьЗапись = ОбластьМакета.Область("ОбластьЗапись");
                    ОбластьЗапись.ГраницаСнизу  = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);
                    ОбластьЗапись.ГраницаСверху = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.НетЛинии);
                КонецЕсли;
                ОбластьМакета.Параметры.ПредставлениеГТД           = ТаблицаРНПТ[ИндексСтроки].НомерТовара;
                ОбластьМакета.Параметры.ЕдиницаИзмеренияПрослежКод = ТаблицаРНПТ[ИндексСтроки].ЕдиницаИзмеренияКод;
                ОбластьМакета.Параметры.ЕдиницаИзмеренияПрослеж    = ТаблицаРНПТ[ИндексСтроки].ЕдиницаИзмеренияНаименование;
                ОбластьМакета.Параметры.КоличествоПрослеж          = ТаблицаРНПТ[ИндексСтроки].Количество;
                ПоследняяПодстрока = Ложь;
                Если ИндексСтроки = ТаблицаРНПТ.Количество() - 1 Тогда
                    ОбластьЗапись.ГраницаСнизу = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
                    ПоследняяПодстрока = Истина;
                КонецЕсли;
                ПоследняяСтрока = (НомерСтроки = КоличествоСтрок) И ПоследняяПодстрока;
                Если НЕ ПроверитьВыводСчетаФактурыНаСтраницу(ТабДокумент, ОбластьМакета, ПоследняяСтрока, Макет, НомерЛиста, НомерСчетаФактуры, ЭтоУниверсальныйПередаточныйДокумент) Тогда
                    КоличествоСтраниц = КоличествоСтраниц + 1;
                КонецЕсли;
                ТабДокумент.Вывести(ОбластьМакета);
                ПерваяСтрока = Ложь;
            КонецЦикла;
        Иначе
            Если ВерсияПостановления1137 >= 5 Тогда
                ОбластьЗапись.ГраницаСнизу  = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
                ОбластьЗапись.ГраницаСверху = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);
                Если ВыводитьРНПТ Тогда
                    ОбластьМакета.Параметры.ЕдиницаИзмеренияПрослежКод = "--";
                    ОбластьМакета.Параметры.ЕдиницаИзмеренияПрослеж    = "--";
                    ОбластьМакета.Параметры.КоличествоПрослеж          = "--"
                КонецЕсли;
            КонецЕсли;
            Если НЕ ПроверитьВыводСчетаФактурыНаСтраницу(ТабДокумент, ОбластьМакета, (НомерСтроки = КоличествоСтрок), Макет, НомерЛиста, НомерСчетаФактуры, ЭтоУниверсальныйПередаточныйДокумент) Тогда
                КоличествоСтраниц = КоличествоСтраниц + 1;
            КонецЕсли;
            ТабДокумент.Вывести(ОбластьМакета);
        КонецЕсли;
        
        СчетФактураБезНДС = СчетФактураБезНДС И СтрокаДокумента.СуммаНДС = 0
            И СтрокаДокумента.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
        
        НДСНеВыставляетя = НДСНеВыставляетя И СтрокаДокумента.СуммаНДС = 0
            И НЕ ЗначениеЗаполнено(СтрокаДокумента.СтавкаНДС);
        
    КонецЦикла;

    ТабДокумент.Область(ТабДокумент.ВысотаТаблицы,,ТабДокумент.ВысотаТаблицы,).ВместеСоСледующим = Истина;
    


вот в этой области подтягиваются параметры из документа. Куда прописать нужно?
4 Natali15
 
13.02.22
18:34
вот в этой области подтягиваются параметры из документа. Куда прописать нужно? (1)
5 Михаил Козлов
 
13.02.22
19:15
Обычно, перед формированием печатной формы формируют данные для нее. Поищите в модуле менеджера что-нибудь типа ПолучитьДанныеДляСчетаФактуры.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn