Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 янв 2025, 01:43

Проблема заполнения ячейки "Параметр" в макете

Автор Yanawerg, 27 дек 2024, 15:29

0 Пользователей и 1 гость просматривают эту тему.

Yanawerg

По аналогии с уже существующим макетом печатной формы создал ещё один и вношу некоторые изменения.
Создал копию общего макета и скопировал внешний макет (все копии прошлого макета).
Два поля меняются как мне надо после того как вписал что надо но одно поле всё никак не меняется, что-то ещё нужно где-то указать что бы в итоге изменилось или я не правильно что-то прописываю ?
Функция Печать(СуммыВРублях = Ложь) Экспорт
   
    МассивОбъектов = Новый Массив();
    МассивОбъектов.Добавить(СсылкаНаОбъект);
   
     ТабДокумент = Новый ТабличныйДокумент;
   
    // Устанавливаем параметры печати и колонтитулы
    ТабДокумент.ОриентацияСтраницы     = ОриентацияСтраницы.Ландшафт;
    ТабДокумент.ПолеСверху                = 12;
    ТабДокумент.ПолеСлева                 = 0;
    ТабДокумент.ПолеСнизу                 = 0;
    ТабДокумент.ПолеСправа                = 0;
    ТабДокумент.АвтоМасштаб         = Истина;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_УниверсальныйПередаточныйДокумент";
   
    ПервыйДокумент                        = Истина;
    ВыводитьКолонтитул                 = Истина;
    ТабДокументНеВыводитьНаПечать     = Истина;
    ДокументыСчетФактураНеТребуется = ОпределитьСчетФактураТребуются(МассивОбъектов);
   
    Для каждого Ссылка Из МассивОбъектов Цикл
           
        Если Не ПервыйДокумент Тогда
            ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
        КонецЕсли;
        ПервыйДокумент = Ложь;
        НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
       
        РеквизитыДокумента = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Ссылка, "Ссылка, Дата, Номер, Организация,
            |ВидОперации, Контрагент, ДоговорКонтрагента, ОтпускРазрешил, ГлавныйБухгалтер, Подразделение,
            |ДоверенностьНомер, ДоверенностьДата, ДоверенностьВыдана, ДоверенностьЧерезКого");
           
        ДанныеДокумента = Новый Структура();
        ДанныеДокумента.Вставить("ДокументСсылка",                    РеквизитыДокумента.Ссылка);
        ДанныеДокумента.Вставить("Номер",                             РеквизитыДокумента.Номер);
        ДанныеДокумента.Вставить("Дата",                              РеквизитыДокумента.Дата);
        ДанныеДокумента.Вставить("Ссылка",                               Документы.СчетФактураВыданный.ПустаяСсылка());
        ДанныеДокумента.Вставить("ДокументОснование",                 РеквизитыДокумента.Ссылка);
        ДанныеДокумента.Вставить("Организация",                         РеквизитыДокумента.Организация);
        ДанныеДокумента.Вставить("Контрагент",                           РеквизитыДокумента.Контрагент);
        ДанныеДокумента.Вставить("ДоговорКонтрагента",                   РеквизитыДокумента.ДоговорКонтрагента);
        ДанныеДокумента.Вставить("Руководитель",                       РеквизитыДокумента.ОтпускРазрешил);
        ДанныеДокумента.Вставить("ГлавныйБухгалтер",                  РеквизитыДокумента.ГлавныйБухгалтер);
        ДанныеДокумента.Вставить("ВалютаРегламентированногоУчета",  глЗначениеПеременной("ВалютаРегламентированногоУчета"));
        ДанныеДокумента.Вставить("Подразделение",                       РеквизитыДокумента.Подразделение);
        ///Жариков Данные по доверенности
       
        Отбор = Новый Структура("Пользователь, Организация", глЗначениеПеременной("глТекущийПользователь"), РеквизитыДокумента.Организация);
        Данные = РегистрыСведений.НастройкиАвтозаполнения.СрезПоследних(РеквизитыДокумента.Дата, Отбор);
        Если Данные.Количество() <> 0 Тогда
            ДанныеДокумента.Вставить("ДанныеСФ", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ДолжностьКладовщика",Данные[0].Должность);
            ДанныеДокумента.Вставить("ФИОКладовщика", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ДолжностьКладовщика1", ДанныеДокумента.ДолжностьКладовщика);
            ДанныеДокумента.Вставить("ФИОКладовщика1", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ФИОПБОЮЛ", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
        Иначе
            ДанныеДокумента.Вставить("ДанныеСФ", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ДолжностьКладовщика","");
            ДанныеДокумента.Вставить("ФИОКладовщика", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ДолжностьКладовщика1", "");
            ДанныеДокумента.Вставить("ФИОКладовщика1", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
            ДанныеДокумента.Вставить("ФИОПБОЮЛ", "Ломова Е.Н. согл. дов. б/н от 09.01.2025г.");
        КонецЕсли;
       
       
        //\Жариков           
        Если ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьНомер) ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьДата)
            ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьВыдана) ИЛИ ЗначениеЗаполнено(РеквизитыДокумента.ДоверенностьЧерезКого) Тогда
            Доверенность = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
                НСтр("ru = 'по доверенности №%1 от %2 выданной %3 %4'"),
                РеквизитыДокумента.ДоверенностьНомер, Формат(РеквизитыДокумента.ДоверенностьДата, "ДЛФ=ДД"),
                РеквизитыДокумента.ДоверенностьВыдана, РеквизитыДокумента.ДоверенностьЧерезКого);
            ДанныеДокумента.Вставить("Доверенность", Доверенность);
        КонецЕсли;
       
        ВидДоговора = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РеквизитыДокумента.ДоговорКонтрагента, "ВидДоговора");
        ПередачаНаРеализациюПоКомиссии = (ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);
        ДанныеДокумента.Вставить("ПередачаНаРеализациюПоКомиссии",  ПередачаНаРеализациюПоКомиссии);
       
        СчетФактураТребуется = (ДокументыСчетФактураНеТребуется.Найти(Ссылка) = Неопределено);
       
        СтруктураОтбораСчетаФактуры = Новый Структура;
        СтруктураОтбораСчетаФактуры.Вставить("ПометкаУдаления", Ложь);
       
       
        Если УчетНДС.ПечатьУниверсальногоПередаточногоДокумента(ДанныеДокумента, СчетФактураТребуется, ТабДокумент, СтруктураОтбораСчетаФактуры, "УПД_2025") = Неопределено Тогда
            Продолжить;
        КонецЕсли;   
       
        ТабДокумент.ВерхнийКолонтитул.Выводить = ВыводитьКолонтитул;
        Если ВыводитьКолонтитул Тогда
            ТабДокумент.ВерхнийКолонтитул.НачальнаяСтраница     = 2;
            ТабДокумент.ВерхнийКолонтитул.ВертикальноеПоложение = ВертикальноеПоложение.Низ;
            НомерНаПечатьСтрокой = ОбщегоНазначения.ПолучитьНомерНаПечать(ДанныеДокумента.Ссылка);
            ДатаНаПечатьСтрокой  = Формат(ДанныеДокумента.Ссылка.Дата, "ДФ='дд ММММ гггг'") + " г.";
            ЗаголовокДляПечати      = "Универсальный передаточный документ № " + НомерНаПечатьСтрокой + " от " +  ДатаНаПечатьСтрокой;
            ТабДокумент.ВерхнийКолонтитул.ТекстСлева  = ЗаголовокДляПечати;
            ТабДокумент.ВерхнийКолонтитул.ТекстСправа = "Лист [&НомерСтраницы]";
        КонецЕсли;
       
        ОбъектыПечати = новый СписокЗначений;
        ОбъектыПечати.Добавить(СсылкаНаОбъект);
        ТабДокументНеВыводитьНаПечать = Ложь;
        //УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент, НомерСтрокиНачало, ОбъектыПечати, Ссылка);
       
    КонецЦикла;
   
    Если ТабДокументНеВыводитьНаПечать Тогда
        Макет = ПолучитьМакет("УниверсальныйПередаточныйДокумент");
        ОбластьМакета = Макет.ПолучитьОбласть("Ошибка");
        ТабДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
   
    Возврат ТабДокумент;
   
   
    мВалютаРегламентированногоУчета   = глЗначениеПеременной("ВалютаРегламентированногоУчета");
   
    ТабДокумент = Новый ТабличныйДокумент;
    ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РеализацияТоваровУслуг_НакладнаяДляСклада";
   
    Макет = ПолучитьМакет("НакладнаяДляСклада");
   
    ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
    ОбластьШапки.Параметры.Контрагент = СсылкаНаОбъект.Контрагент;
    ОбластьШапки.Параметры.НомерДок = СсылкаНаОбъект.Номер;
    ОбластьШапки.Параметры.ДатаДок = СсылкаНаОбъект.Дата;
   
    Если ТипЗнч(СсылкаНаОбъект.Сделка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        ОбластьШапки.Параметры.НомерОснование = "Заказ № " + СокрЛП(СсылкаНаОбъект.Сделка.НомерВходящегоДокумента);
    КонецЕсли;
   
    ТабДокумент.Вывести(ОбластьШапки);
    КоличествоОбщ     = 0;
    ПлощадьОбщ        = 0;
    Если ТипЗнч(СсылкаНаОбъект.Сделка) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
        Для каждого Строка из СсылкаНаОбъект.Сделка.Товары Цикл
            ОбластьСтроки = Макет.ПолучитьОбласть("Строка");
            ОбластьСтроки.Параметры.пп                 = Строка.НомерСтроки;
            ОбластьСтроки.Параметры.Номенклатура     = Строка.Номенклатура;
            ОбластьСтроки.Параметры.Характеристика    = Строка.ХарактеристикаНоменклатуры;
            ОбластьСтроки.Параметры.Количество        = Строка.КоличествоСтеклопакетов;
            КоличествоОбщ     = КоличествоОбщ + Строка.КоличествоСтеклопакетов;
            //ОбластьСтроки.Параметры.Количество        = 1;
            ОбластьСтроки.Параметры.Площадь            = Строка.Площадь;
            ПлощадьОбщ        = ПлощадьОбщ + Строка.Площадь;
            ОбластьСтроки.Параметры.ЕдИзм            = Строка.ЕдиницаИзмерения;
            ОбластьСтроки.Параметры.Ширина            = Строка.Ширина;
            ОбластьСтроки.Параметры.Высота            = Строка.Высота;
            Если ДополнительныеПараметры.Цены Тогда
                ОбластьСтроки.Параметры.Цена            = Строка.Цена;
                Если СсылкаНаОбъект.Сделка.СуммаВключаетНДС Тогда
                    ОбластьСтроки.Параметры.Всего        = Строка.Сумма;
                    ОбластьСтроки.Параметры.СуммаБезНДС    = Строка.Сумма-Строка.СуммаНДС;
                Иначе
                    ОбластьСтроки.Параметры.Всего        = Строка.Сумма+Строка.СуммаНДС;
                    ОбластьСтроки.Параметры.СуммаБезНДС    = Строка.Сумма;
                КонецЕсли;
                ОбластьСтроки.Параметры.НДС                = Строка.СуммаНДС;
            КонецЕсли;
            ОбластьСтроки.Параметры.Формула            = СокрЛП(Строка.Номенклатура.Наименование);
            ОбластьСтроки.Параметры.Маркировка        = СокрЛП(Строка.Комментарий);
            ОбластьСтроки.Параметры.Код                = Строка.КодПокупателя;
            ТабДокумент.Вывести(ОбластьСтроки);
        КонецЦикла;
    КонецЕсли;
   
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьПодвал.Параметры.КоличествоОбщ = КоличествоОбщ;
    ОбластьПодвал.Параметры.ПлощадьОбщ = ПлощадьОбщ;
    ТабДокумент.Вывести(ОбластьПодвал);
   
    Возврат ТабДокумент;
       
КонецФункции

Поле "ФИОПБОЮЛ" не изменяется хотя поле ФИОКладовщика изменилось.УПД Попытка Ломова.epf

antoneus

Ну, наверно, надо что-то указать в функции УчетНДС.ПечатьУниверсальногоПередаточногоДокумента

Yanawerg

antoneus, Благодарю, ВСЁ получилось.
А то я уже голову поломал себе пока ковырял.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск