Поле объекта не обнаружено (КоличествоЭкземпляров)
25.11.2011
10:12
#1
"День добрый
1с 8.2 УПП
Сделал внеш. печатную форму для документа "Зарплата к выплате организации" из уже имеющейся "Список плательщиков в банк (ФИО полностью)"
Если ее открыть как внеш. отчет (обработку) - то все нормально, выбираешь документ и формируется печатная форма
Но если добавить ее печатной формой к документу, то при формировани появляется ошибка:
{ОбщийМодуль.УниверсальныеМеханизмы.Модуль(1363)}: Поле объекта не обнаружено (КоличествоЭкземпляров)
ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров;
В чем может быть проблема?
П.С. при этом сама печатная форма формируется нормально"
1с 8.2 УПП
Сделал внеш. печатную форму для документа "Зарплата к выплате организации" из уже имеющейся "Список плательщиков в банк (ФИО полностью)"
Если ее открыть как внеш. отчет (обработку) - то все нормально, выбираешь документ и формируется печатная форма
Но если добавить ее печатной формой к документу, то при формировани появляется ошибка:
{ОбщийМодуль.УниверсальныеМеханизмы.Модуль(1363)}: Поле объекта не обнаружено (КоличествоЭкземпляров)
ПечДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров;
В чем может быть проблема?
П.С. при этом сама печатная форма формируется нормально"
25.11.2011
10:18
#2
Здесь кроме первого подфорума "Учет, налогообложение, автоматизация", есть еще 3 подфорума и технические вопросы надо писать в подфорум "Для технических специалистов", уже 2 раз переношу Вашу тему в нужный форум!
25.11.2011
14:11
#4
Ну так если посмотреть справку по подключаемым формам, то там написано:
Внешняя обработка, содержащая:
- Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
- Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
- Функция «Печать()» - без параметров, возвращающая табличный документ.
А у вас Печать это функция ? И она возвращает Табличный документ ?
Внешняя обработка, содержащая:
- Необязательный реквизит «ДополнительныеПараметры» произвольного типа, которому будут передаваться дополнительные параметры примитивного типа в виде структуры.
- Реквизит «СсылкаНаОбъект», в который при вызове будет передана ссылка на объект, для которого необходимо выполнить печать.
- Функция «Печать()» - без параметров, возвращающая табличный документ.
А у вас Печать это функция ? И она возвращает Табличный документ ?
25.11.2011
14:21
#5
"спасибо за совет
наверное дело было действительно в этом
сделал ранее Вашего совета, может подправите, если что не так?
на данный момент все работает
Было так:
......................
Функция Печать(ИмяМакета = "СписокПеречисленийВБанк") Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров = 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента (СсылкаНаОбъект,"Список плательщиков в банк "));
КонецФункции
Сделал так:
.........................
Функция Печать(ИмяМакета = "СписокПеречисленийВБанк") Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат ДокументНаПечать(ТабДокумент);
КонецФункции
Функция ДокументНаПечать(ТабДокумент) Экспорт
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров = 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента (СсылкаНаОбъект,"Список плательщиков в банк "));
КонецФункции"
сделал ранее Вашего совета, может подправите, если что не так?
на данный момент все работает
Было так:
......................
Функция Печать(ИмяМакета = "СписокПеречисленийВБанк") Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров = 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента (СсылкаНаОбъект,"Список плательщиков в банк "));
КонецФункции
Сделал так:
.........................
Функция Печать(ИмяМакета = "СписокПеречисленийВБанк") Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат ДокументНаПечать(ТабДокумент);
КонецФункции
Функция ДокументНаПечать(ТабДокумент) Экспорт
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров = 1, Ложь, ОбщегоНазначения.СформироватьЗаголовокДокумента (СсылкаНаОбъект,"Список плательщиков в банк "));
КонецФункции"
25.11.2011
17:06
#6
"По-хорошему, надо так:
Функция Печать() Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат ТабДокумент;
КонецФункции
"
Функция Печать() Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
Возврат ТабДокумент;
КонецФункции
"
28.11.2011
09:18
#7
"немного не понимаю, в какой момент тогда вызывать "УниверсальныеМеханизмы.НапечататьДокумент()" ???
или тогда надо перенести код этой функции в модуль внешней формы ???
Функция Печать() Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
... код функции УниверсальныеМеханизмы.НапечататьДокумент()...
Возврат ТабДокумент;
КонецФункции
"
или тогда надо перенести код этой функции в модуль внешней формы ???
Функция Печать() Экспорт
ТабДокумент = ПечатьСписокПеречислений(СсылкаНаОбъект, СсылкаНаОбъект, Ложь); // в параметре передается вариант вывода ФИО
... код функции УниверсальныеМеханизмы.НапечататьДокумент()...
Возврат ТабДокумент;
КонецФункции
"
28.11.2011
10:02
#8
Не надо вызывать УниверсальныеМеханизмы.НапечататьДокумент(), эта функция сама вызовется, после того как отработает твоя функция Печать().
И в этом случае будет правильно отрабатывать обработка ГрупповаяОбработкаСправочниковИДокументов для печати из списка документов, если твоя ВПФ будет установлена по-умолчанию.
И в этом случае будет правильно отрабатывать обработка ГрупповаяОбработкаСправочниковИДокументов для печати из списка документов, если твоя ВПФ будет установлена по-умолчанию.
11.08.2018
16:44
#10
Такая же ошибка((( Не могу понять в чем дело
#Область Регисстрация
// Стандартные Функции и Методы для регистрации внешней печатной формы +
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
Наименование = УказатьНаименованиеВнешнейПечатнойФормы();
МассивНазначений.Добавить("Документ.ОтчетОРозничныхПродажах");
МассивНазначений.Добавить(ПолучитьМетаданныеДокументаПечати());
//может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
//имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Наименование", Наименование);
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
//так будет выглядеть описание печ.формы для пользователя
ПараметрыРегистрации.Вставить("Информация", УказатьНаименованиеВнешнейПечатнойФормы());
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, Наименование, УказатьНаименованиеКомандыПечати(), "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
//имя макета печ.формы
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
//ВызовСерверногоМетода
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Функция УказатьНаименованиеВнешнейПечатнойФормы()
Наименование = ЭтотОбъект.Метаданные().Представление();
Возврат Наименование;
КонецФункции
Функция УказатьНаименованиеКомандыПечати()
Наименование = ЭтотОбъект.Метаданные().ПолноеИмя();
Возврат Наименование;
КонецФункции
Функция ПолучитьМетаданныеДокументаПечати()
ПолноеИмя = Документ.Метаданные().ПолноеИмя();
Возврат ПолноеИмя;
КонецФункции
Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда. Представление = Представление;
НоваяКоманда. Идентификатор= Идентификатор;
НоваяКоманда. Использование= Использование;
НоваяКоманда. ПоказыватьОповещение= ПоказыватьОповещение;
НоваяКоманда. Модификатор= Модификатор;
КонецФункции
// Стандартные Функции и Методы для регистрации внешней печатной формы -
#КонецОбласти
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
УказатьНаименованиеКомандыПечати(),
УказатьНаименованиеВнешнейПечатнойФормы(),
ПечатьФормы(МассивОбъектов));
КонецПроцедуры
Функция ПечатьФормы(МассивОбъектов)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ПриходныйКассовыйОрдер.Ссылка КАК Ссылка
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецЦикла;
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("ПФ_MXL_КО1");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьШтрихкода = Макет.ПолучитьОбласть("ОбластьШтрихкода");
Запрос = новый запрос;
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПриходныйКассовыйОрдер.Номер КАК Номер,
| ПриходныйКассовыйОрдер.Дата КАК Дата,
| Партнеры.Наименование КАК ПартнерНаименование,
| Партнеры.БизнесРегион КАК БизнесРегион,
| ВЫБОР
| КОГДА Партнеры.Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Мужской)
| ТОГДА &ОбращениеМужскойРод
| КОГДА Партнеры.Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Женский)
| ТОГДА &ОбращениеЖенскийРод
| ИНАЧЕ &ОбращениеПолНеопределен
| КОНЕЦ КАК ПартнерОбращение,
| Партнеры.ДатаРождения КАК ДатаРождения,
| ПриходныйКассовыйОрдер.Валюта КАК Валюта,
| ПриходныйКассовыйОрдер.БанковскийСчет КАК БанковскийСчет,
| ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента,
| ПриходныйКассовыйОрдер.Кассир КАК Кассир
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| {ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО ПриходныйКассовыйОрдер.Контрагент.Партнер = Партнеры.Ссылка}
|ГДЕ
// | ПриходныйКассовыйОрдер.Ссылка = &ПриходныйКассовыйОрдер
| ПриходныйКассовыйОрдер.Ссылка В(&ПриходныйКассовыйОрдер)";
//
//ОбщаяВыборка = Запрос.Выполнить().Выгрузить();
//
//Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл
//
// ОбластьШапки.Параметры.ТекстЗаголовка = "Печатная форма "+СсылкаНаОбъект.Номер;
// ОбластьШапки.Параметры.Организация = СсылкаНаОбъект.Организация;
//
// ТабДок.Вывести(ОбластьШтрихкода);
//КонецЦикла;
КоличествоЭкземпляров = 1;
Возврат ТабДок;
КонецФункции
#Область Регисстрация
// Стандартные Функции и Методы для регистрации внешней печатной формы +
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
Наименование = УказатьНаименованиеВнешнейПечатнойФормы();
МассивНазначений.Добавить("Документ.ОтчетОРозничныхПродажах");
МассивНазначений.Добавить(ПолучитьМетаданныеДокументаПечати());
//может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
//имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Наименование", Наименование);
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
//так будет выглядеть описание печ.формы для пользователя
ПараметрыРегистрации.Вставить("Информация", УказатьНаименованиеВнешнейПечатнойФормы());
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, Наименование, УказатьНаименованиеКомандыПечати(), "ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
//имя макета печ.формы
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
//ВызовСерверногоМетода
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Функция УказатьНаименованиеВнешнейПечатнойФормы()
Наименование = ЭтотОбъект.Метаданные().Представление();
Возврат Наименование;
КонецФункции
Функция УказатьНаименованиеКомандыПечати()
Наименование = ЭтотОбъект.Метаданные().ПолноеИмя();
Возврат Наименование;
КонецФункции
Функция ПолучитьМетаданныеДокументаПечати()
ПолноеИмя = Документ.Метаданные().ПолноеИмя();
Возврат ПолноеИмя;
КонецФункции
Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда. Представление = Представление;
НоваяКоманда. Идентификатор= Идентификатор;
НоваяКоманда. Использование= Использование;
НоваяКоманда. ПоказыватьОповещение= ПоказыватьОповещение;
НоваяКоманда. Модификатор= Модификатор;
КонецФункции
// Стандартные Функции и Методы для регистрации внешней печатной формы -
#КонецОбласти
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
УказатьНаименованиеКомандыПечати(),
УказатьНаименованиеВнешнейПечатнойФормы(),
ПечатьФормы(МассивОбъектов));
КонецПроцедуры
Функция ПечатьФормы(МассивОбъектов)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ПриходныйКассовыйОрдер.Ссылка КАК Ссылка
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Возврат ВыборкаДетальныеЗаписи.Ссылка;
КонецЦикла;
ТабДок = новый ТабличныйДокумент;
Макет = ПолучитьМакет("ПФ_MXL_КО1");
ОбластьШапки = Макет.ПолучитьОбласть("Шапка");
ОбластьШтрихкода = Макет.ПолучитьОбласть("ОбластьШтрихкода");
Запрос = новый запрос;
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПриходныйКассовыйОрдер.Номер КАК Номер,
| ПриходныйКассовыйОрдер.Дата КАК Дата,
| Партнеры.Наименование КАК ПартнерНаименование,
| Партнеры.БизнесРегион КАК БизнесРегион,
| ВЫБОР
| КОГДА Партнеры.Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Мужской)
| ТОГДА &ОбращениеМужскойРод
| КОГДА Партнеры.Пол = ЗНАЧЕНИЕ(Перечисление.ПолФизическогоЛица.Женский)
| ТОГДА &ОбращениеЖенскийРод
| ИНАЧЕ &ОбращениеПолНеопределен
| КОНЕЦ КАК ПартнерОбращение,
| Партнеры.ДатаРождения КАК ДатаРождения,
| ПриходныйКассовыйОрдер.Валюта КАК Валюта,
| ПриходныйКассовыйОрдер.БанковскийСчет КАК БанковскийСчет,
| ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента,
| ПриходныйКассовыйОрдер.Кассир КАК Кассир
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| {ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры КАК Партнеры
| ПО ПриходныйКассовыйОрдер.Контрагент.Партнер = Партнеры.Ссылка}
|ГДЕ
// | ПриходныйКассовыйОрдер.Ссылка = &ПриходныйКассовыйОрдер
| ПриходныйКассовыйОрдер.Ссылка В(&ПриходныйКассовыйОрдер)";
//
//ОбщаяВыборка = Запрос.Выполнить().Выгрузить();
//
//Для Каждого СсылкаНаОбъект из МассивОбъектов Цикл
//
// ОбластьШапки.Параметры.ТекстЗаголовка = "Печатная форма "+СсылкаНаОбъект.Номер;
// ОбластьШапки.Параметры.Организация = СсылкаНаОбъект.Организация;
//
// ТабДок.Вывести(ОбластьШтрихкода);
//КонецЦикла;
КоличествоЭкземпляров = 1;
Возврат ТабДок;
КонецФункции
добавить в табличную часть расходной накладной реквизит "полное наименование"МХ-18 (Накладная на передачу готовой продукции в места хранения)
Читают тему
(гостей: 1)