Версия для печати темы (https://pro1c.org.ua/index.php?s=72ac514f9eeb00e99129095e3c00e724&showtopic=42604)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как подключить внешнюю обработку к документу

Автор: martynovalena 12.12.17, 13:22

Всем ,здравствуйте. 1С:Предприятие 8.3 (8.3.10.2299) Бухгалтерия предприятия, редакция 3.0 БИТ.ФИНАНС 3.1
У меня задача, нужно чтобы из документа (Допсоглашение) можно было вызвать внеш обработку ,на форме которой ,выбрать договор и заполнить по нему данные доп соглашения.
Внешняя обработка есть , а вот при подключении нет возможности выбрать документ из которого мне нужно. чтобы она вызывалась, только Разделы.
Что делаю не так? или вообще так нельзя сделать при подключении внешней обработки? только прописывать в конфигурации.

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




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

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



 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 4,5
 

Автор: Petre 12.12.17, 14:20

martynovalena @ Сегодня, 13:22 * ,

ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта");

Автор: martynovalena 12.12.17, 14:26

А как обратиться к объекту(Доп Соглашению) из которого открыли форму внешней обработки? Для дальнейшего заполнения его реквизитов?

Автор: Petre 12.12.17, 14:56

martynovalena @ Сегодня, 14:26 * ,
В форме обработки создать параметр ОбъектыНазначения произвольного типа, куда передастся массив ссылок.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua