Ребят подскажите, у меня задача разработать м-11 на два документа, здесь на инфостарте нашел форму, но она не подключается из за ошибки как и многие другие формы:
Ошибка: Поле объекта не обнаружено(ключ)
Есть мысль что возможно не должно быть обращение к тексту "Документ.ПеремещениеТоваров" ?
Подскажите как исправить....
Функция СформироватьПечатнуюФормуМ11(СтруктураТипов, ОбъектыПечати, ПараметрыПечати) Экспорт
УстановитьПривилегированныйРежим(Истина);
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_М11";
НомерТипаДокумента = 0;
Для Каждого СтруктураОбъектов Из СтруктураТипов Цикл
НомерТипаДокумента = НомерТипаДокумента + 1;
Если НомерТипаДокумента > 1 Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
Если СтруктураОбъектов.Ключ = "Документ.ПеремещениеТоваров" Тогда
ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыМ11ПеремещениеТоваров(
ПараметрыПечати,
СтруктураОбъектов.Значение);
ИначеЕсли СтруктураОбъектов.Ключ = "Документ.ВнутреннееПотреблениеТоваров" Тогда
ДанныеДляПечати = ПолучитьДанныеДляПечатнойФормыМ11ВнутреннееПотреблениеТоваро в(
ПараметрыПечати,
СтруктураОбъектов.Значение);
КонецЕсли;
ЗаполнитьТабличныйДокументМ11(ТабличныйДокумент, ДанныеДляПечати, ОбъектыПечати);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
ПоказатьОшибка: Поле объекта не обнаружено(ключ)
Есть мысль что возможно не должно быть обращение к тексту "Документ.ПеремещениеТоваров" ?
Подскажите как исправить....
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) У вас должен быть код, формирующий СтруктураТипов:
Идем внутрь функции и перетаскиваем весь код в модуль ПФ, либо добавляем нужный нам тип в функцию общего модуля ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов
СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
Идем внутрь функции и перетаскиваем весь код в модуль ПФ, либо добавляем нужный нам тип в функцию общего модуля ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов
(6) Я начинающий, для меня это пока что темный лес....
Функция СоответствиеМассивовПоТипамОбъектов(МассивСсылок) Экспорт
СоответствиеТипов = Новый Соответствие;
Для Каждого Объект Из МассивСсылок Цикл
ТипОбъекта = Объект.Метаданные().ПолноеИмя();
ТекущийТипОбъекта = СоответствиеТипов.Получить(ТипОбъекта);
Если ТекущийТипОбъекта = Неопределено Тогда
СоответствиеТипов.Вставить(ТипОбъекта, Новый Массив);
ТекущийТипОбъекта = СоответствиеТипов.Получить(ТипОбъекта);
КонецЕсли;
ТекущийТипОбъекта.Добавить(Объект);
КонецЦикла;
Возврат СоответствиеТипов;
КонецФункции
Показать
(9)
Ваша задача понять, чего не хватает и доработать под конфигурацию.
Исходя из текста ошибки, в СтруктураТипов у вас неизвестно что, а должно быть Соответствие с ключами
"Документ.ПеремещениеТоваров" и "Документ.ВнутреннееПотреблениеТоваров", значение для которых должны быть массивами со ссылками на документы соответствующих типов.
В том то и дело, что это и есть готовое решение с инфостарта
Ваша задача понять, чего не хватает и доработать под конфигурацию.
Исходя из текста ошибки, в СтруктураТипов у вас неизвестно что, а должно быть Соответствие с ключами
"Документ.ПеремещениеТоваров" и "Документ.ВнутреннееПотреблениеТоваров", значение для которых должны быть массивами со ссылками на документы соответствующих типов.
(3)
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыПечати) Экспорт
СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "M11Внешний") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"M11Внешний",
НСтр("ru='Требование-накладная (М-11)'"),
СформироватьПечатнуюФормуМ11(
СтруктураТипов,
ОбъектыПечати,
ПараметрыПечати));
КонецЕсли;
КонецПроцедуры
ПоказатьФункция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
МассивНазначений = Новый Массив;
Массив.Добавить("Документ.ПеремещениеТоваров");
Массив.Добавить("Документ.ВнутреннееПотреблениеТоваров");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование","Требование-накладная (М-11) внешний");
ПараметрыРегистрации.Вставить("Версия","1.0");
ПараметрыРегистрации.Вставить("Информация", "Требование-накладная (М-11) (внешняя печатная форма)");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
Команды = ПолучитьТаблицуКоманд();
ДобавитьКоманду(Команды,"Требование-накладная (М-11) (внешняя печатная форма)",
"M11Внешний",
"ВызовСерверногоМетода",
Ложь,
"ПечатьXМL");
ПараметрыРегистрации.Вставить("Команды", Команды);
Возврат ПараметрыРегистрации;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот