|
Не работает внешняя печатная форма | ☑ | ||
---|---|---|---|---|
0
Maratuster
03.11.15
✎
10:09
|
Всем добра )))
Поручили переделать ВПФ с бухни 2.0 на 3.0. Форма выводится на печать, но она пустая! Может кто сказать, где у меня ошибка? (Я только учусь) ОбластьМакетаСтрока = Макет.ПолучитьОбласть("Строка"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ИнвентаризацияРасчетовСКонтрагентами.Контрагенты.( | Ссылка, | НомерСтроки, | ВидЗадолженности, | Контрагент, | СчетРасчетов, | Подтверждено, | НеПодтверждено, | ИстекСрокДавности | ) Как Контрагенты |ИЗ | Документ.ИнвентаризацияРасчетовСКонтрагентами КАК ИнвентаризацияРасчетовСКонтрагентами |ГДЕ | ИнвентаризацияРасчетовСКонтрагентами.Ссылка В (&МассивСсылок)"; Запрос.УстановитьПараметр("МассивСсылок", МассивОбъектов); РезультатЗапроса = Запрос.Выполнить().Выбрать(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Для Каждого СтрокаКонтрагента из ВыборкаДетальныеЗаписи.Контрагенты Цикл СуммаПоКотрагенту = 0; Если СтрокаКонтрагента.ВидЗадолженности = Перечисления.ВидыЗадолженности.Дебиторская Тогда СведенияОКонтрагенте = УправлениеКонтактнойИнформацией.ПредставлениеКонтактнойИнформации(СтрокаКонтрагента.Контрагент, Шапка.Дата); ОбластьМакетаСтрока.Параметры.Контрагент = СтрокаКонтрагента.Контрагент; ОбластьМакетаСтрока.Параметры.СведенияОКонтрагенте = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОКонтрагенте, "НаименованиеДляПечатныхФорм, ЮридическийАдрес,Телефоны"); ТЗЗадолженности = РасшифроватьЗадолженность(СтрокаКонтрагента.Контрагент, СтрокаКонтрагента.СчетРасчетов, Шапка, Истина); СуммаПоКотрагенту = ТЗЗадолженности.Итог("СуммаОстаток"); Разница = СуммаПоКотрагенту - СтрокаКонтрагента.Подтверждено - СтрокаКонтрагента.НеПодтверждено; Если Разница > 0 Тогда //СуммаПоКотрагенту = ПолучитьСвернутыйОстаток(СтрокаКонтрагента.Контрагент, СтрокаКонтрагента.СчетРасчетов, Шапка, Истина); СуммаПоКотрагенту = СтрокаКонтрагента.Подтверждено + СтрокаКонтрагента.НеПодтверждено; КонецЕсли; ОбластьМакетаСтрока.Параметры.СуммаДебет =СуммаПоКотрагенту; ОбластьМакетаСтрока.Параметры.СуммаКредит = 0; НазваниеДокумента = ""; НомерДокумента = ""; ДатаДокумента = ""; //МинимальнаяДатаДокумента = ""; ЗаЧто = ""; ДокументПоПорядку = 0; СписокНазванийДоков.Очистить(); СписокЗаЧто.Очистить(); Для Каждого СтрокаТЗ из ТЗЗадолженности Цикл Если ЗначениеЗаполнено(СтрокаТЗ.ДокументРасчетов) Тогда ДокументПоПорядку = ДокументПоПорядку + 1; НазваниеДокументаЕдЧисло = СокрЛП(СтрокаТЗ.ДокументРасчетов.Метаданные()); Если ДокументПоПорядку=1 Тогда НазваниеДокумента = НазваниеДокументаЕдЧисло; НомерДокумента = ОбщегоНазначения.ПолучитьНомерНаПечать(СтрокаТЗ.ДокументРасчетов); ДатаДокумента = Формат(СтрокаТЗ.ДокументРасчетов.Дата,"ДФ=dd.MM.yyyy"); //МинимальнаяДатаДокумента = СтрокаТЗ.ДокументРасчетов.Дата; ТекущееЗаЧто = ОпределитьПредметЗадолженности(СтрокаТЗ.ДокументРасчетов); ЗаЧто = ТекущееЗаЧто; СписокЗаЧто.Добавить(ТекущееЗаЧто); Иначе Если СписокНазванийДоков.НайтиПоЗначению(НазваниеДокументаЕдЧисло) = Неопределено Тогда Если Найти(НазваниеДокумента,НазваниеДокументаЕдЧисло)=0 Тогда НазваниеДокумента = НазваниеДокумента + ", " + НазваниеДокументаЕдЧисло; Иначе //меняем на множественное число Если СписокНазванийДоков.НайтиПоЗначению(НазваниеДокументаЕдЧисло) = Неопределено Тогда ПодстрокаЗамены = ПолучитьПОдстрокуЗамены(НазваниеДокументаЕдЧисло); НазваниеДокумента = СтрЗаменить(НазваниеДокумента,НазваниеДокументаЕдЧисло, ПодстрокаЗамены); СписокНазванийДоков.Добавить(НазваниеДокументаЕдЧисло); КонецЕсли; КонецЕсли; КонецЕсли; НомерДокумента = НомерДокумента + Символы.ПС + ОбщегоНазначения.ПолучитьНомерНаПечать(СтрокаТЗ.ДокументРасчетов); ДатаДокумента = ДатаДокумента + Символы.ПС + Формат(СтрокаТЗ.ДокументРасчетов.Дата,"ДФ=dd.MM.yyyy"); ТекущееЗаЧто = ОпределитьПредметЗадолженности(СтрокаТЗ.ДокументРасчетов); Если СписокЗаЧто.НайтиПоЗначению(ТекущееЗаЧто) = Неопределено Тогда ЗаЧто = ЗаЧто + Символы.ПС + ТекущееЗаЧто; СписокЗаЧто.Добавить(ТекущееЗаЧто); КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; НПП = НПП + 1; ОбластьМакетаСтрока.Параметры.НПП = НПП; ОбластьМакетаСтрока.Параметры.НазваниеДокумента = НазваниеДокумента; ОбластьМакетаСтрока.Параметры.НазваниеДокумента = НазваниеДокумента; ОбластьМакетаСтрока.Параметры.НомерД = НомерДокумента; ОбластьМакетаСтрока.Параметры.ДатаД = ДатаДокумента; ОбластьМакетаСтрока.Параметры.ЗаЧто = ЗаЧто; ИтогоСуммаДебет = ИтогоСуммаДебет + СуммаПоКотрагенту; ТабДокумент.Вывести(ОбластьМакетаСтрока); КонецЕсли; КонецЦикла; |
|||
1
Горогуля
03.11.15
✎
10:10
|
а почему она должна быть полная по-твоему?
|
|||
2
butterbean
03.11.15
✎
10:11
|
Весь код не смотрел.
Почему в конце ТабДокумент не возвращается из функции?? |
|||
3
Горогуля
03.11.15
✎
10:12
|
(2) не весь код ты смотрел. функции там нет
|
|||
4
hhhh
03.11.15
✎
10:36
|
(0) зачем через задницу делать? может так
ВЫБРАТЬ | Ссылка, | НомерСтроки, | ВидЗадолженности, | Контрагент, | СчетРасчетов, | Подтверждено, | НеПодтверждено, | ИстекСрокДавности |ИЗ | Документ.ИнвентаризацияРасчетовСКонтрагентами.Контрагенты КАК ИнвентаризацияРасчетовСКонтрагентамиКонтрагенты |ГДЕ | ИнвентаризацияРасчетовСКонтрагентамиКонтрагенты.Ссылка В (&МассивСсылок) |
|||
5
Maratuster
03.11.15
✎
11:03
|
(1) а почему не должна? Я потому и спрашиваю у опытных программистов, где косяк. Сам его найти не могу - опыта мало.
(4) попробую |
|||
6
Горогуля
03.11.15
✎
11:06
|
да хрен его знает, где косяк. ну что-то выводится в ТабДокумент. и чо?
|
|||
7
Горогуля
03.11.15
✎
11:06
|
(6) или не выводится
|
|||
8
Maratuster
03.11.15
✎
11:08
|
(7) В том и дело, что не выводится. Просто пустой макет. Только шапка и подвал заполняются
|
|||
9
АдинС
03.11.15
✎
11:09
|
Тогда отладчиком смотри, что в цикле заполняется.. Наименование параметров сравни, наименование областей макетов и т.д...
|
|||
10
Maratuster
03.11.15
✎
11:09
|
(7) У меня вызывает сомнение часть, в которой результат запроса в цикл передается. Может я чего неправильно указал?
|
|||
11
Горогуля
03.11.15
✎
11:11
|
(10) точку остановка в отладчике ты не указал
|
|||
12
Maratuster
03.11.15
✎
11:18
|
(11) ставил, в нем и проблема
Но по синтаксису "ошибок нет". Просто я не могу с этим циклом справиться. |
|||
13
Maratuster
03.11.15
✎
11:20
|
(11) для точки останова пришлось модуль в конфе менять на данный. Это же ВПФ. Постоянно такие смены за... надоедят
|
|||
14
АдинС
03.11.15
✎
12:14
|
Сделай ВПФ с Формой для отладки данного модуля, в конфу встраивать модуль необязательно..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |