Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 06:14

Внешняя форма для 1С:Предприятие 8.3 (8.3.15.1489)

Автор aleks1979, 23 авг 2019, 13:30

0 Пользователей и 1 гость просматривают эту тему.

aleks1979

Я новичок пытаюсь по примеру из интернета внешнию форму
Код
Функция СведенияОВнешнейОбработке() Экспорт
   ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "Гарантийный Талон"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Гарантийный талон"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Гарантийный талон Тест");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Гарантийный талон", "ГарантияВнешняя","ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции//Функция СведенияОВнешнейОбработке()
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ГарантияВнешняя", "Гарантийный талон", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));

КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбьект,ОбьектыПечати)
      ТабличныйДокумент = Новый ТабличныйДокумент;
      
ТабличныйДокумент.ИмяПараметровПечати = "Гарантийный талон";   
МакетОбработки = ПолучитьМакет("МакетГарантия");
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НомерРеализации =СсылкаНаДокумент.Цена;
ОбластьШапка.Параметры.ДатаРеализации =СсылкаНаДокумент.Дата;
ТабличныйДокумент.Вывести(ОбластьШапка);
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");
//ОбластьПодвал.Параметры.Ответственный = СсылкаНаДокумент.Менеджер.Наименование;

   КонецФункции
   
Выдаёт ошибку    

{ВнешняяОбработка.ГарантияВнешняя.МодульОбъекта(48,41)}: Переменная не определена (СсылкаНаДокумент)
ОбластьШапка.Параметры.НомерРеализации =<<?>>СсылкаНаДокумент.Цена; (Проверка: Сервер)
{ВнешняяОбработка.ГарантияВнешняя.МодульОбъекта(49,40)}: Переменная не определена (СсылкаНаДокумент)
ОбластьШапка.Параметры.ДатаРеализации =<<?>>СсылкаНаДокумент.Дата; (Проверка: Сервер)

Зарастание спасибо

alexandr_ll

Цитата: aleks1979 от 23 авг 2019, 13:30
Я новичок пытаюсь по примеру из интернета внешнию форму
Код
Функция СведенияОВнешнейОбработке() Экспорт
   ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "Гарантийный Талон"); //может быть - ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Гарантийный талон"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", ЛОЖЬ);
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("Информация", "Гарантийный талон Тест");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Гарантийный талон", "ГарантияВнешняя","ВызовСерверногоМетода", Истина, "ПечатьMXL");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;
КонецФункции//Функция СведенияОВнешнейОбработке()
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета печ.формы
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ГарантияВнешняя", "Гарантийный талон", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати));

КонецПроцедуры // Печать()
Функция СформироватьПечатнуюФорму(СсылкаНаОбьект,ОбьектыПечати)
      ТабличныйДокумент = Новый ТабличныйДокумент;
      
ТабличныйДокумент.ИмяПараметровПечати = "Гарантийный талон";   
МакетОбработки = ПолучитьМакет("МакетГарантия");
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
ОбластьШапка.Параметры.НомерРеализации =СсылкаНаДокумент.Цена;
ОбластьШапка.Параметры.ДатаРеализации =СсылкаНаДокумент.Дата;
ТабличныйДокумент.Вывести(ОбластьШапка);
ОбластьПодвал = МакетОбработки.ПолучитьОбласть("Подвал");
//ОбластьПодвал.Параметры.Ответственный = СсылкаНаДокумент.Менеджер.Наименование;

   КонецФункции
   
Выдаёт ошибку    

{ВнешняяОбработка.ГарантияВнешняя.МодульОбъекта(48,41)}: Переменная не определена (СсылкаНаДокумент)
ОбластьШапка.Параметры.НомерРеализации =<<?>>СсылкаНаДокумент.Цена; (Проверка: Сервер)
{ВнешняяОбработка.ГарантияВнешняя.МодульОбъекта(49,40)}: Переменная не определена (СсылкаНаДокумент)
ОбластьШапка.Параметры.ДатаРеализации =<<?>>СсылкаНаДокумент.Дата; (Проверка: Сервер)

Зарастание спасибо
Ну так у вас есть переменная "СсылкаНаОбъект", а переменной "СсылкаНаДокумент" нету.

Теги: новичок 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск