|
Помогите новичку разобраться с ВПФ !!! 🠗 (Волшебник 03.04.2015 10:47) | ☑ | ||
---|---|---|---|---|
0
Alex_3189
03.04.15
✎
10:05
|
Создал внешний отчет, он работает нормально. теперь пытаюсь сделать впф из этого отчета.
Постоянно выскакивает ошибка: {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(170)}: В обработчике печати не был сформирован табличный документ для: 1 ВызватьИсключение(ТекстСообщенияОбОшибке); Поиск в интернете результатов не дал. Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечатнаяФормаАктаСверки") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечатнаяФормаАктаСверки", "ПечатнаяФормаАктаСверки", СформироватьПечатнуюФорму("ПечатнаяФормаАктаСверки", МассивОбъектов, ОбъектыПечати)); КонецЕсли; ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм); КонецПроцедуры Функция СформироватьПечатнуюФорму(Тип, МассивОбъектов, ОбъектыПечати) УстановитьПривилегированныйРежим(Истина); //ДанныеДокумента = ВыборкаДанныхДокумента(МассивОбъектов); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("ПФ_MXL_Макет"); СведенияОбОрганизации = СсылкаНаОбъект.Документ.СверкаВзаиморасчетов; Попытка Запрос = Новый Запрос( "ВЫБРАТЬ | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта |ИЗ | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(&НачДата, &КонДата, , , АналитикаУчетаПоПартнерам.Контрагент = &Контрагент) КАК РасчетыСКлиентамиОстаткиИОбороты | |СГРУППИРОВАТЬ ПО | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта"); Запрос.УстановитьПараметр("Контрагент",СсылкаНаОбъект.Контрагент); Запрос.УстановитьПараметр("НачДата", СсылкаНаОбъект.НачалоПериода); Запрос.УстановитьПараметр("КонДата", СсылкаНаОбъект.КонецПериода); Результат = Запрос.Выполнить(); Если Результат.Пустой() <> Истина Тогда СальдоНачальное = Результат.Выгрузить()[0].СуммаНачальныйОстаток; СальдоКонечное = Результат.Выгрузить()[0].СуммаКонечныйОстаток; Валюта = Результат.Выгрузить()[0].Валюта; КонецЕсли; Запрос1 = Новый Запрос( "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Ссылка, | ОрганизацииКонтактнаяИнформация.Тип, | ОрганизацииКонтактнаяИнформация.Вид, | ОрганизацииКонтактнаяИнформация.Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Ссылка.Ссылка = &Ссылка | И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Почтовый адрес""" ); Запрос1.УстановитьПараметр("Ссылка",СсылкаНаОбъект.Организация); Результат = Запрос1.Выполнить(); Если Результат.Пустой() <> Истина Тогда ПочтовыйАдрес = Результат.Выгрузить()[0].Представление; КонецЕсли; ЗапросТелефон = Новый Запрос( "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Ссылка, | ОрганизацииКонтактнаяИнформация.Тип, | ОрганизацииКонтактнаяИнформация.Вид, | ОрганизацииКонтактнаяИнформация.Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Ссылка.Ссылка = &Ссылка | И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Телефон""" ); ЗапросТелефон.УстановитьПараметр("Ссылка",СсылкаНаОбъект.Организация); Результат = ЗапросТелефон.Выполнить(); Если Результат.Пустой() <> Истина Тогда Телефон = Результат.Выгрузить()[0].Представление; КонецЕсли; //ТабДок = Новый ТабличныйДокумент; // Макет = ПолучитьМакет("Макет"); ОбластьОтчета = Макет.ПолучитьОбласть("Шапка"); //получение области "Строка" ОбластьОтчета.Параметры.НаименованиеОрганизации = СсылкаНаОбъект.Контрагент; ОбластьОтчета.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета.Параметры.ИННКонтрагента = СсылкаНаОбъект.Организация.ИНН; ОбластьОтчета.Параметры.ПочтовыйАдресКонтрагента = ПочтовыйАдрес; ОбластьОтчета.Параметры.КонтактныйТелефон = Телефон ; ОбластьОтчета.Параметры.ДатаНачалаПериодаСверки = СсылкаНаОбъект.НачалоПериода; ОбластьОтчета.Параметры.ДатаКонцаПериодаСверки = СсылкаНаОбъект.КонецПериода; ОбластьОтчета.Параметры.СальдоНачальноеПоТоварнымОперациям = СальдоНачальное; ОбластьОтчета.Параметры.СальдоКонечноеПоТоварнымОперациям = СальдоКонечное; ОбластьОтчета.Параметры.ВалютаВзаиморасчетов = Валюта; //установим параметры отображения табличного документа ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Истина; ТабДок.ОтображатьСетку = Ложь; //ТабДок.Вывести(ОбластьОтчета); //покажем табличный документ на экране //ТабДок.Показать(); ТабДок.Вывести(ОбластьОтчета); //Возврат ТабДок; //Возврат 1; N=0; Запрос = Новый Запрос( "ВЫБРАТЬ | РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Документы, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Дата КАК ДатаДокумента, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Номер КАК НомерДокумента, | СчетФактураВыданный.Дата КАК ДатаСчетФактуры, | СчетФактураВыданный.Номер КАК НомерСчетФактуры, | РасчетыСКлиентамиОстаткиИОбороты.КОплатеПриход КАК Начислено, | РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход КАК Оплачено, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Комментарий КАК Примечание |ИЗ | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты( | , | , | Регистратор, | , | АналитикаУчетаПоПартнерам.Контрагент = &Контрагент | И (ЗаказКлиента.Дата МЕЖДУ &НачДата И &КонДата)) КАК РасчетыСКлиентамиОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный | ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = СчетФактураВыданный.ДокументОснование"); Запрос.УстановитьПараметр("Контрагент",СсылкаНаОбъект.Контрагент); Запрос.УстановитьПараметр("НачДата", СсылкаНаОбъект.НачалоПериода); Запрос.УстановитьПараметр("КонДата", СсылкаНаОбъект.КонецПериода); ВыборкаКонтрагент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Если Запрос.Выполнить().Пустой() Тогда ОбластьОтчета = Макет.ПолучитьОбласть("НетВзаиморасчетов"); ОбластьОтчета.Параметры.Начало = СсылкаНаОбъект.НачалоПериода; ОбластьОтчета.Параметры.конец = СсылкаНаОбъект.КонецПериода; ОбластьОтчета.Параметры.НаименованиеОрганизации = СсылкаНаОбъект.Контрагент; ТабДок.Вывести(ОбластьОтчета); //Возврат ТабДок; КонецЕсли; ОбластьОтчета1 = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(ОбластьОтчета1); Пока ВыборкаКонтрагент.Следующий() Цикл ОбластьОтчета = Макет.ПолучитьОбласть("СтрокаТаблицы"); ОбластьОтчета.Параметры.Документы = ВыборкаКонтрагент.Документы; ОбластьОтчета.Параметры.ДатаДокумента = ВыборкаКонтрагент.ДатаДокумента; ОбластьОтчета.Параметры.НомерДокумента = ВыборкаКонтрагент.НомерДокумента; ОбластьОтчета.Параметры.ДатаСчетаФактуры = ВыборкаКонтрагент.ДатаСчетФактуры; ОбластьОтчета.Параметры.НомерСчетаФактуры = ВыборкаКонтрагент.НомерСчетФактуры; ОбластьОтчета.Параметры.Начислено = ВыборкаКонтрагент.Начислено; ОбластьОтчета.Параметры.Оплачено = ВыборкаКонтрагент.Оплачено; ОбластьОтчета.Параметры.Примечание = ВыборкаКонтрагент.Примечание; ОбластьОтчета.Параметры.Счетчик = N+1; N=N+1; ОбластьОтчета.Параметры.Заполнить(ВыборкаКонтрагент); ТабДок.Вывести(ОбластьОтчета); // Возврат ТабДок; КонецЦикла; ФормСтрока = "Л = ru_RU; ДП = Истина"; ПарПредмета="рубль,рубля,рублей,м,копейка,копейки,копеек,м,2"; ПрописьЧисла = ЧислоПрописью(СальдоКонечное, ФормСтрока, ПарПредмета); ОбластьОтчета2 = Макет.ПолучитьОбласть("СтрокаЗадолжность"); ОбластьОтчета2.Параметры.ДатаКонцаПериодаСверки = СсылкаНаОбъект.КонецПериода; ОбластьОтчета2.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета2.Параметры.СальдоКонечноеПоТоварнымОперациям = СальдоКонечное; ОбластьОтчета2.Параметры.ВалютаВзаиморасчетов = Валюта; ОбластьОтчета2.Параметры.ВалютаПрописью = ПрописьЧисла; ТабДок.Вывести(ОбластьОтчета2); ОбластьОтчета3 = Макет.ПолучитьОбласть("Подвал"); ОбластьОтчета3.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета3.Параметры.ТекущаяДата = ТекущаяДата(); ТабДок.Вывести(ОбластьОтчета3); //Возврат ТабДок; Исключение //если ошибка Сообщить(ОписаниеОшибки()); //MSWord.Application.Quit(); КонецПопытки; КонецФункции |
|||
1
icipher
03.04.15
✎
10:08
|
функция должна возвращать табличный документ
|
|||
2
Gbpltw
03.04.15
✎
10:10
|
ааа, ВПФ создавали в интернете, если поиск в интернете ничего не дал?
|
|||
3
Alex_3189
03.04.15
✎
10:18
|
ВПФ создавал в 1С:ERP Управление предприятием 2.0 (2.0.4.9)
icipher это Возврат ТабДок; в конце? |
|||
4
vicof
03.04.15
✎
10:21
|
Механизм внешних печатных форм в БСП и в конфах на неуправлямых формах несколько отличается.
|
|||
5
Serg_1960
03.04.15
✎
10:24
|
(0) Вы ухитрились закомментировали все "Возврат ТабДок". Хотя бы перед строкой "Конец функции" сделайте возврат "ТабДок".
|
|||
6
Wobland
03.04.15
✎
10:25
|
экая зачётная попытка.. больше так не делай
|
|||
7
Wobland
03.04.15
✎
10:25
|
+(6) так и тянет сказать Попытка //ну пожалуйста
|
|||
8
thezos
03.04.15
✎
10:26
|
(0) Неплохая попытка!) Пятнично)
|
|||
9
bolder
03.04.15
✎
10:26
|
(5) Так и создание табдок тоже закомментировано)
|
|||
10
13_Mult
03.04.15
✎
10:28
|
Ну да, Попытка не хилая )
|
|||
11
Alex_3189
03.04.15
✎
10:28
|
(5) раскоментировал ошибка та же самая
|
|||
12
thezos
03.04.15
✎
10:29
|
(11) Эх, не с того Вы начали... учите мат часть
|
|||
13
Alex_3189
03.04.15
✎
10:30
|
(10) (8) (7) Что вы имеете ввиду
|
|||
14
13_Mult
03.04.15
✎
10:30
|
(13) Попытку
|
|||
15
Wobland
03.04.15
✎
10:31
|
(13) мы имеем в виду хоть какое-нибудь образование программиста
|
|||
16
Alex_3189
03.04.15
✎
10:37
|
лучше сказали где ошибки, а какая из меня "классный" программист я сам понимаю
|
|||
17
Wobland
03.04.15
✎
10:42
|
(16) мне лениво
Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВПФ_MXL_ПеремещенияИзЗаказа") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "ВПФ_MXL_ПеремещенияИзЗаказа", "Накладные на перемещение", СформироватьТабличныйДокумент(МассивОбъектов, ОбъектыПечати), , "ВПФ_MXL_ПеремещенияИзЗаказа"); КонецЕсли; КонецФункции Функция СформироватьТабличныйДокумент(МассивОбъектов, ОбъектыПечати) ТабДокумент=Новый ТабличныйДокумент; ... Возврат ТабДокумент; КонецФункции дальше сам |
|||
18
Alex_3189
03.04.15
✎
10:46
|
(17) Спасибо, щас попробую
|
|||
19
Alex_3189
03.04.15
✎
12:18
|
опять ошибка:
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(170)}: В обработчике печати не был сформирован табличный документ для: ПечатнаяФормаАктаСверки ВызватьИсключение(ТекстСообщенияОбОшибке); Что я делая не так? Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки()); ПараметрыРегистрации.Вставить("Наименование", "ПечатнаяФормаАктаСверки"); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Сделано по новому стандарту подключения внешних обработок 8.2."); ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); Команды = ПолучитьТаблицаКоманд(); ДобавитьКоманду (Команды,"Печатная Форма Акта Сверки", "ПечатнаяФормаАктаСверки", "ВызовСерверногоМетода", ЛОЖЬ, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", Команды); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьНазначениеОбработки() Массив = Новый массив; Массив.Добавить("Документ.СверкаВзаиморасчетов"); Возврат Массив; КонецФункции Функция ПолучитьТаблицаКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("Идентификатор",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("Использование",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение",Новый ОписаниеТипов ("Булево")); Команды.Колонки.Добавить("Модификатор",Новый ОписаниеТипов ("Строка")); Возврат Команды КонецФункции Процедура ДобавитьКоманду (ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = ЛОЖЬ, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВПФ_MXL_ПечатнаяФормаАктаСверки") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию( КоллекцияПечатныхФорм, "ВПФ_MXL_ПечатнаяФормаАктаСверки", "Печатная Форма Акта Сверки", СформироватьТабличныйДокумент(МассивОбъектов, ОбъектыПечати), , "ВПФ_MXL_ПечатнаяФормаАктаСверки"); КонецЕсли; ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм); КонецФункции Функция СформироватьТабличныйДокумент(МассивОбъектов, ОбъектыПечати) ТабДок=Новый ТабличныйДокумент; // Макет = ПолучитьМакет("ПФ_MXL_ПечатнаяФормаАктаСверки"); Запрос = Новый Запрос( "ВЫБРАТЬ | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта |ИЗ | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(&НачДата, &КонДата, , , АналитикаУчетаПоПартнерам.Контрагент = &Контрагент) КАК РасчетыСКлиентамиОстаткиИОбороты | |СГРУППИРОВАТЬ ПО | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта"); Запрос.УстановитьПараметр("Контрагент",СсылкаНаОбъект.Контрагент); Запрос.УстановитьПараметр("НачДата", СсылкаНаОбъект.НачалоПериода); Запрос.УстановитьПараметр("КонДата", СсылкаНаОбъект.КонецПериода); Результат = Запрос.Выполнить(); Если Результат.Пустой() <> Истина Тогда СальдоНачальное = Результат.Выгрузить()[0].СуммаНачальныйОстаток; СальдоКонечное = Результат.Выгрузить()[0].СуммаКонечныйОстаток; Валюта = Результат.Выгрузить()[0].Валюта; КонецЕсли; Запрос1 = Новый Запрос( "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Ссылка, | ОрганизацииКонтактнаяИнформация.Тип, | ОрганизацииКонтактнаяИнформация.Вид, | ОрганизацииКонтактнаяИнформация.Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Ссылка.Ссылка = &Ссылка | И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Почтовый адрес""" ); Запрос1.УстановитьПараметр("Ссылка",СсылкаНаОбъект.Организация); Результат = Запрос1.Выполнить(); Если Результат.Пустой() <> Истина Тогда ПочтовыйАдрес = Результат.Выгрузить()[0].Представление; КонецЕсли; ЗапросТелефон = Новый Запрос( "ВЫБРАТЬ | ОрганизацииКонтактнаяИнформация.Ссылка, | ОрганизацииКонтактнаяИнформация.Тип, | ОрганизацииКонтактнаяИнформация.Вид, | ОрганизацииКонтактнаяИнформация.Представление |ИЗ | Справочник.Организации.КонтактнаяИнформация КАК ОрганизацииКонтактнаяИнформация |ГДЕ | ОрганизацииКонтактнаяИнформация.Ссылка.Ссылка = &Ссылка | И ОрганизацииКонтактнаяИнформация.Вид.Наименование = ""Телефон""" ); ЗапросТелефон.УстановитьПараметр("Ссылка",СсылкаНаОбъект.Организация); Результат = ЗапросТелефон.Выполнить(); Если Результат.Пустой() <> Истина Тогда Телефон = Результат.Выгрузить()[0].Представление; КонецЕсли; ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОбластьОтчета = Макет.ПолучитьОбласть("Шапка"); //получение области "Строка" ОбластьОтчета.Параметры.НаименованиеОрганизации = СсылкаНаОбъект.Контрагент; ОбластьОтчета.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета.Параметры.ИННКонтрагента = СсылкаНаОбъект.Организация.ИНН; ОбластьОтчета.Параметры.ПочтовыйАдресКонтрагента = ПочтовыйАдрес; ОбластьОтчета.Параметры.КонтактныйТелефон = Телефон ; ОбластьОтчета.Параметры.ДатаНачалаПериодаСверки = СсылкаНаОбъект.НачалоПериода; ОбластьОтчета.Параметры.ДатаКонцаПериодаСверки = СсылкаНаОбъект.КонецПериода; ОбластьОтчета.Параметры.СальдоНачальноеПоТоварнымОперациям = СальдоНачальное; ОбластьОтчета.Параметры.СальдоКонечноеПоТоварнымОперациям = СальдоКонечное; ОбластьОтчета.Параметры.ВалютаВзаиморасчетов = Валюта; //установим параметры отображения табличного документа ТабДок.ТолькоПросмотр = Истина; ТабДок.ОтображатьЗаголовки = Истина; ТабДок.ОтображатьСетку = Ложь; ТабДок.Вывести(ОбластьОтчета); Возврат ТабДок; //Возврат 1; N=0; Запрос = Новый Запрос( "ВЫБРАТЬ | РасчетыСКлиентамиОстаткиИОбороты.Регистратор КАК Документы, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Дата КАК ДатаДокумента, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Номер КАК НомерДокумента, | СчетФактураВыданный.Дата КАК ДатаСчетФактуры, | СчетФактураВыданный.Номер КАК НомерСчетФактуры, | РасчетыСКлиентамиОстаткиИОбороты.КОплатеПриход КАК Начислено, | РасчетыСКлиентамиОстаткиИОбороты.КОплатеРасход КАК Оплачено, | РасчетыСКлиентамиОстаткиИОбороты.Регистратор.Комментарий КАК Примечание |ИЗ | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты( | , | , | Регистратор, | , | АналитикаУчетаПоПартнерам.Контрагент = &Контрагент | И (ЗаказКлиента.Дата МЕЖДУ &НачДата И &КонДата)) КАК РасчетыСКлиентамиОстаткиИОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетФактураВыданный КАК СчетФактураВыданный | ПО РасчетыСКлиентамиОстаткиИОбороты.Регистратор = СчетФактураВыданный.ДокументОснование"); Запрос.УстановитьПараметр("Контрагент",СсылкаНаОбъект.Контрагент); Запрос.УстановитьПараметр("НачДата", СсылкаНаОбъект.НачалоПериода); Запрос.УстановитьПараметр("КонДата", СсылкаНаОбъект.КонецПериода); ВыборкаКонтрагент = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Если Запрос.Выполнить().Пустой() Тогда ОбластьОтчета = Макет.ПолучитьОбласть("НетВзаиморасчетов"); ОбластьОтчета.Параметры.Начало = СсылкаНаОбъект.НачалоПериода; ОбластьОтчета.Параметры.конец = СсылкаНаОбъект.КонецПериода; ОбластьОтчета.Параметры.НаименованиеОрганизации = СсылкаНаОбъект.Контрагент; ТабДок.Вывести(ОбластьОтчета); Возврат ТабДок; КонецЕсли; ОбластьОтчета1 = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(ОбластьОтчета1); Пока ВыборкаКонтрагент.Следующий() Цикл ОбластьОтчета = Макет.ПолучитьОбласть("СтрокаТаблицы"); ОбластьОтчета.Параметры.Документы = ВыборкаКонтрагент.Документы; ОбластьОтчета.Параметры.ДатаДокумента = ВыборкаКонтрагент.ДатаДокумента; ОбластьОтчета.Параметры.НомерДокумента = ВыборкаКонтрагент.НомерДокумента; ОбластьОтчета.Параметры.ДатаСчетаФактуры = ВыборкаКонтрагент.ДатаСчетФактуры; ОбластьОтчета.Параметры.НомерСчетаФактуры = ВыборкаКонтрагент.НомерСчетФактуры; ОбластьОтчета.Параметры.Начислено = ВыборкаКонтрагент.Начислено; ОбластьОтчета.Параметры.Оплачено = ВыборкаКонтрагент.Оплачено; ОбластьОтчета.Параметры.Примечание = ВыборкаКонтрагент.Примечание; ОбластьОтчета.Параметры.Счетчик = N+1; N=N+1; ОбластьОтчета.Параметры.Заполнить(ВыборкаКонтрагент); ТабДок.Вывести(ОбластьОтчета); Возврат ТабДок; КонецЦикла; ФормСтрока = "Л = ru_RU; ДП = Истина"; ПарПредмета="рубль,рубля,рублей,м,копейка,копейки,копеек,м,2"; ПрописьЧисла = ЧислоПрописью(СальдоКонечное, ФормСтрока, ПарПредмета); ОбластьОтчета2 = Макет.ПолучитьОбласть("СтрокаЗадолжность"); ОбластьОтчета2.Параметры.ДатаКонцаПериодаСверки = СсылкаНаОбъект.КонецПериода; ОбластьОтчета2.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета2.Параметры.СальдоКонечноеПоТоварнымОперациям = СальдоКонечное; ОбластьОтчета2.Параметры.ВалютаВзаиморасчетов = Валюта; ОбластьОтчета2.Параметры.ВалютаПрописью = ПрописьЧисла; ТабДок.Вывести(ОбластьОтчета2); ОбластьОтчета3 = Макет.ПолучитьОбласть("Подвал"); ОбластьОтчета3.Параметры.НаименованиеКонтрагента = СсылкаНаОбъект.Организация; ОбластьОтчета3.Параметры.ТекущаяДата = ТекущаяДата(); ТабДок.Вывести(ОбластьОтчета3); // Возврат ТабДок; КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |