Имя: Пароль:
1C
1С v8
Как програмно вывести значение Дт в документе
0 Shecurok
 
16.04.19
12:01
Привет всем, делаю внешнюю обработку, последнее задание осталось вывести Дт в печатную форму..
Вывел Кт простым копированием кода из этого же документа, но другой ПФ. Там код выглядит так:

Функция ТекстЗапросаАктНаСписаниеМатериалов()
ТекстЗапроса =
"ВЫБРАТЬ
|    ТребованиеНакладная.Материалы.(
|    Счет КАК Счет
(...)

Функция ПечатьАктНаСписаниеМатериалов
Для Каждого Строка Из Материалы Цикл
Параметры.Вставить("Счет", Строка.Счет);

(...)

Все, готово, Кт добавлен. А Дт в этой же печатной форме есть только в ОбластиШапка. И простым добавлением аналогичного текста с другими параметрами не вставляет. В исходном документе в шапке Дт (в макете у нее название КоррСчет) вставляется так:

Функция ПечатьМ11(МассивОбъектов, ОбъектыПечати)
Если Не Шапка.СчетаУчетаЗатратВТаблице Тогда
Параметры.Вставить("ПредставлениеПодразделения", ПредставлениеПодразделенияЗатрат(Шапка));
Параметры.Вставить("КоррСчет",Шапка.СчетЗатратКод);
Иначе

// Может быть несколько, если счета учета затрат - в таблице
Получатели = Новый Соответствие;
СчетаУчетаЗатрат = Новый Соответствие;
Для Каждого СтрокаТабличнойЧасти Из Материалы Цикл
Получатели.Вставить(СтрокаТабличнойЧасти.ПодразделениеЗатрат, ПредставлениеПодразделенияЗатрат(СтрокаТабличнойЧасти));
СчетаУчетаЗатрат.Вставить(СтрокаТабличнойЧасти.СчетЗатратКод);
КонецЦикла;

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

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

КонецЕсли;


В шапку у меня вывести получилось, а в область Строка нет. Ничего не пойму.
Важное замечание!!!
В области шапка в моей печатной форме Дт выводится только под парметром СчетЗатратКод, а если поменяю на КоррСчет не выведется.
.Код для Дт в шапке такой:
Функция ТекстЗапросаАктНаСписаниеМатериалов()
ТекстЗапроса =
"ВЫБРАТЬ
|    ТребованиеНакладная.СчетЗатрат.Код КАК СчетЗатратКод,
|    ТребованиеНакладная.Материалы.(
|    СчетЗатрат.Код КАК СчетЗатратКод
|    ) КАК Материалы,
1 hhhh
 
16.04.19
12:11
(0) просто невероятный бред. Продолжайте рыть дальше.
2 Shecurok
 
16.04.19
12:14
(1) Да сам прекрасно всё понимаю, но кручусь как могу. Учитывая что с программированием я до этого не сталкивался это очень тяжело даётся.