Имя: Пароль:
1C
 
Не отрабатывает код из общего модуля во ВПФ. УТ10.3
0 Shecurok
 
17.01.20
13:53
Делаю ВПФ УПД (там форму надо было одну прикрутить) для УТ10.3

Не появляется платежно-расчетный документ.

Код взял из общего модуля УчетНДС. Выглядит он так:
Процедура ВывестиСчетФактуруВТабличныйДокумент(ТабДокумент, Макет, ДанныеДляПечати) Экспорт

(...)

СтрокаПоДокументу = "";
    Если ДанныеДляПечати.Свойство("ТаблицаДатОплат") Тогда
        Для каждого ПараметрыДокументаОплаты Из ДанныеДляПечати.ТаблицаДатОплат Цикл
            
            Если НЕ ЗначениеЗаполнено(ПараметрыДокументаОплаты.НомерПлатежноРасчетногоДокумента)
                И НЕ ЗначениеЗаполнено(ПараметрыДокументаОплаты.ДатаПлатежноРасчетногоДокумента) Тогда
                Продолжить;
            КонецЕсли;
            СтрокаПоДокументу = СтрокаПоДокументу
                + ?(ПустаяСтрока(СтрокаПоДокументу), ?(ЭтоПечатьУПД, "", "К платежно-расчетному документу № "),", ")
                + ПараметрыДокументаОплаты.НомерПлатежноРасчетногоДокумента
                + " от " + Формат(ПараметрыДокументаОплаты.ДатаПлатежноРасчетногоДокумента, "ДФ=dd.MM.yyyy") + " г.";
            
        КонецЦикла;
    КонецЕсли;
    Если ПустаяСтрока(СтрокаПоДокументу) Тогда
        Если ДанныеДляПечати.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАванс
            ИЛИ ДанныеДляПечати.ВидСчетаФактуры = Перечисления.ВидСчетаФактурыВыставленного.НаАвансКомитента Тогда
            СтрокаПоДокументу = ?(ЭтоПечатьУПД, "", "К платежно-расчетному документу № ") + "-- от --";
        Иначе
            СтрокаПоДокументу = ?(ЭтоПечатьУПД, "", "К платежно-расчетному документу № ") + "   от";
        КонецЕсли;
    КонецЕсли;
    Если ЭтоПечатьУПД И ДанныеДляПечати.СтатусУПД = 2 Тогда
        // В УПД в статусе 2 ставятся прочерки показатели, установленные в качестве обязательных исключительно для счета-фактуры:
        // - «К платежно-расчетному документу» (строка 7);
        СтрокаПоДокументу = "--";
    КонецЕсли;
    ОбластьМакета.Параметры.ПоДокументу = СтрокаПоДокументу;

Код точно этот, проверял (комментировал - данные перестали выводится).
В типовой пф выводится номер документа + дата.

В моей ПФ отрабатываются посл. строки, т.е. выводит на макете --.
Если их комментировать будет так: (пробел) от (пробел).
Что я мог упустить?
Обработки для тестирования ВПФ нет у меня (если кто поделится, буду рад и благодарен).
1 shuhard
 
17.01.20
13:54
(0)[Обработки для тестирования ВПФ нет у меня]
сделай морду у отчета
выведи документ и кнопку
для УТ 10.3 не нужны ни какие обработки
2 Shecurok
 
17.01.20
14:02
(1) сейчас я Вас не понял)
3 Михаил Козлов
 
17.01.20
14:06
(2) У обработки создаете форму, на которой поле - ссылка на документ, который нужно печатать и кнопка, в которой вызывается Печать() из модуля обработки и отлаживайте.
4 shuhard
 
17.01.20
14:18
(3) =)
5 Shecurok
 
17.01.20
14:21
(3) спасибо, понял, буду пробовать
6 Shecurok
 
17.01.20
14:56
ну смог я наконец отладить эту впф. Но не сильно мне это помогло.
Я узнал, что ни номер, ни дата, которые мне необходимы, не попадают в структуру данных (вроде верно назвал). И точка останова на ВПФ в одном месте не срабатывает, хотя в общем модуле срабатывает.
Буду разбираться.
7 Shecurok
 
17.01.20
15:03
в общем модуле ставлю точку останова на строке

Если ДанныеДляПечати.Свойство("ТаблицаДатОплат") Тогда

и далее отладка идет по циклу.

На впф ставлю на этой строчке точку и отладка перескакивает (жму кнопку "Шагнуть в") через цикл. Следовательно данное свойство не устанвлено. Я так понимаю. И надо искать где устанавливается.
8 Shecurok
 
17.01.20
15:04
Если вдруг знает кто возможную причину скажите пожалуйста.
9 Shecurok
 
17.01.20
15:26
Разобрался, что необходимо добавить.
Вот этот код:

ТаблицаДатОплат = ДатаНомерДокументовОплаты.Выгрузить();
    ТаблицаДатОплат.Свернуть("ДатаПлатежноРасчетногоДокумента, НомерПлатежноРасчетногоДокумента");
    СтрокиКУдалению = Новый массив();
    Для каждого СтрокаОплат Из ТаблицаДатОплат Цикл
        Если не ЗначениеЗаполнено(СтрокаОплат.ДатаПлатежноРасчетногоДокумента)
            и ПустаяСтрока(СтрокаОплат.НомерПлатежноРасчетногоДокумента) Тогда
            СтрокиКУдалению.Добавить(СтрокаОплат);
        КонецЕсли;
    КонецЦикла;
    Для каждого СтрокаКУдалению Из СтрокиКУдалению Цикл
        ТаблицаДатОплат.Удалить(СтрокаКУдалению);
    КонецЦикла;
    
    ДанныеДляПечати.Вставить("ТаблицаДатОплат", ТаблицаДатОплат);


НО!

Как сделать ссылку на Счет фактуру не понял ещё.

У меня есть реквизит СсылкаНаОбъект.
Пробовал ТаблицаДатОплат = СсылкаНаОбъект.ДатаНомерДокументовОплаты.Выгрузить();
Но у меня ссылка на объект это реализация, и само собой ничего не прошло. Есть мысли как реализовать?
10 shuhard
 
17.01.20
16:37
(9)[ и само собой ничего не прошло.]
офигеть