|
Поле объекта не обнаружено (ДанныеДляПечати) | ☑ | ||
---|---|---|---|---|
0
Alex_3189
06.04.15
✎
17:23
|
Подскажите пожалуйста, в чем может быть ошибка
{ОбщаяФорма.ПечатьДокументов.Форма(34)}: Поле объекта не обнаружено (ДанныеДляПечати) СформироватьПечатныеФормы(КоллекцияПечатныхФорм, Параметры.ИменаМакетов, Отказ, Параметры.ДанныеДляПечати); |
|||
1
Alex_3189
06.04.15
✎
17:25
|
Забыл код
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = Новый Структура; ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); ПараметрыРегистрации.Вставить("Назначение", ПолучитьНазначениеОбработки()); ПараметрыРегистрации.Вставить("Наименование", "ПФ_MXL_ПечатнаяФормаАктаСверки"); ПараметрыРегистрации.Вставить("Версия", "1.0"); ПараметрыРегистрации.Вставить("Информация", "Сделано по новому стандарту подключения внешних обработок 8.2."); ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); Команды = ПолучитьТаблицаКоманд(); ДобавитьКоманду (Команды,"Печатная Форма Акта Сверки", "ПФ_MXL_ПечатнаяФормаАктаСверки", "ВызовСерверногоМетода", ЛОЖЬ, "ПечатьMXL"); ПараметрыРегистрации.Вставить("Команды", Команды); Возврат ПараметрыРегистрации; КонецФункции Функция ПолучитьНазначениеОбработки() Массив = Новый массив; Массив.Добавить("Документ.СверкаВзаиморасчетов"); Возврат Массив; КонецФункции Функция ПолучитьТаблицаКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("Идентификатор",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("Использование",Новый ОписаниеТипов ("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение",Новый ОписаниеТипов ("Булево")); Команды.Колонки.Добавить("Модификатор",Новый ОписаниеТипов ("Строка")); Возврат Команды КонецФункции Процедура ДобавитьКоманду (ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = ЛОЖЬ, Модификатор = "") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода) Экспорт //ДанныеДляПечати = Неопределено; // ДанныеДляПечати = 0; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Печатная Форма Акта Сверки") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПФ_MXL_ПечатнаяФормаАктаСверки", "Печатная Форма Акыыта Сверки", СформироватьПечатныеФормы(МассивОбъектов[0], ОбъектыПечати)); КонецЕсли КонецПроцедуры Функция СформироватьПечатныеФормы(СсылкаНаДокумент, ОбъектыПечати) // ДанныеДляПечати = Неопределено; //ДанныеДляПечати = 0; // Параметры.ДанныеДляПечати =Неопределено; УстановитьПривилегированныйРежим(Истина); ТабДок=Новый ТабличныйДокумент; ТабДок.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПФ_MXL_ПечатнаяФормаАктаСверки"; // Макет = ПолучитьМакет("ПФ_MXL_ПечатнаяФормаАктаСверки"); Запрос = Новый Запрос( "ВЫБРАТЬ | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта |ИЗ | РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(&НачДата, &КонДата, , , АналитикаУчетаПоПартнерам.Контрагент = &Контрагент) КАК РасчетыСКлиентамиОстаткиИОбороты | |СГРУППИРОВАТЬ ПО | РасчетыСКлиентамиОстаткиИОбороты.СуммаНачальныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаКонечныйОстаток, | РасчетыСКлиентамиОстаткиИОбороты.СуммаОборот, | РасчетыСКлиентамиОстаткиИОбороты.Валюта"); Запрос.УстановитьПараметр("Контрагент",СсылкаНаДокумент.Контрагент); Запрос.УстановитьПараметр("НачДата", СсылкаНаДокумент.НачалоПериода); Запрос.УстановитьПараметр("КонДата", СсылкаНаДокумент.КонецПериода); //БИГ_ДанныеДляПечати = МассивРезультатов[0].Выбрать(); Результат = Запрос.Выполнить(); Если Результат.Пустой() <> Истина Тогда СальдоНачальное = Результат.Выгрузить()[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); // //ФормированиеПечатныхФорм.ЗаполнитьТабличныйДокументПечатнаяФормаАктаСверки(ТабДок, ОбъектыПечати); //Если ПривилегированныйРежим() Тогда //УстановитьПривилегированныйРежим(Ложь); //КонецЕсли; ТабДок.АвтоМасштаб = Истина; Возврат ТабДок; КонецФункции |
|||
2
Лефмихалыч
06.04.15
✎
17:26
|
Добавить в структуру параметров значение ДанныеДляПечати.
Ну... или как-то заставить себя передать параметры... |
|||
3
Alex_3189
06.04.15
✎
17:30
|
(2) Я правильно Вас понял?
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм,ОбъектыПечати, ПараметрыВывода,ДанныеДляПечати) Экспорт |
|||
4
Лефмихалыч
06.04.15
✎
17:31
|
(3) нет, не правильно
|
|||
5
Alex_3189
06.04.15
✎
17:59
|
(4) можно тогда поподробнее?
|
|||
6
D_E_S_131
06.04.15
✎
18:29
|
Нужно встать отладчиком в строку с ошибкой и посмотреть на "Параметры" и какие там "ДанныеДляПечати" есть в нем. Если нет, то смотрим откуда вызвана эта процедура и почему при вызове не были переданы эти данные.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |