Обработка заполнения объекта, вызов клиентского метода. Подключение через расширение

27.04.19

Задачи пользователя - Мастера заполнения

В конфигурациях на основе БСП есть возможность вывести различные команды в форме объекта через подсистему "Подключаемые команды". В статье показан пример, как, используя расширение, подключить обработку заполнения для документа "Заказ покупателя" в конфигурации "Управление нашей фирмой, ред 1.6.14".

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Расширение: Обработка заполнения объекта, вызов клиентского метода. Для конфигурации "Управление нашей фирмой, ред 1.6.14"
.cfe 14,96Kb ver:1.0
1
1 Скачать (2 SM) Купить за 2 150 руб.
Расширение: Обработка заполнения объекта, вызов клиентского метода. Для конфигурации "Управление торговлей, ред 11.4.2"
.cfe 13,54Kb ver:1.0
7
7 Скачать (2 SM) Купить за 2 150 руб.
Расширение: Обработка заполнения объекта, вызов клиентского метода. Для конфигурации "Розница, ред 2.2.9"
.cfe 13,58Kb ver:1.0
0
0 Скачать (2 SM) Купить за 2 150 руб.
Расширение: Обработка заполнения объекта, вызов клиентского метода. Для конфигурации "Зарплата и управление персоналом, ред. 3.1.7"
.cfe 12,83Kb ver:1.0
3
3 Скачать (2 SM) Купить за 2 150 руб.
Расширение: Обработка заполнения объекта, вызов клиентского метода. Для конфигурации "Бухгалтерия предприятия, ред. 3.0.65"
.cfe 20,61Kb ver:1.0
8
8 Скачать (2 SM) Купить за 2 150 руб.

Изменения и дополнения:

Обновлено 08.11.2018. Добавлено расширение для конфигурации "Бухгалтерия предприятия, ред. 3.0.65", пример заполнения документа "Реализация (акты, накладные)"

Обновлено 09.10.2018. Добавлено расширение для конфигурации "Зарплата и управление персоналом, ред. 3.1.7", пример заполнения документа "График отпусков"

Обновлено 08.10.2018. Добавлено расширение для конфигурации "Розница, ред. 2.2.9", пример заполнения документа "Заказ покупателя"

Обновлено 07.10.2018. Добавлено расширение для конфигурации "Управление торговлей, ред. 11.4.2", пример заполнения документа "Заказ клиента"

Добавлено 07.10.2018 Краткое содержание: описана альтернатива внешним обработкам заполнения объектов, в конфигурациях на основе БСП.

Почему не через подсистему "Дополнительные отчеты и обработки"? Мне показалось это более удобным способом именно при вызове клиентского метода, так как можно просто получить форму объекта и сам объект, удобнее отлаживать код. Плюс подключение команды имеет больше дополнительных настроек. В конечном итоге у разработчика есть выбор как решить задачу в том или ином случае.

Итак, что нужно для подключения команды заполнения объекта?

  1. Добавить новое расширение или использовать имеющееся.
  2. Добавить в расширение подсистему "ПодключаемыеОтчетыИОбработки"
  3. Добавить в расширение роль "БазовыеПрава"
  4. Добавить в расширение объект, который будем заполнять, в моем случае документ "ЗаказПокупателя"
  5. Создать в расширении обработку, в моем случае "ЗаполнениеЗаказПокупателя"
  6. В обработке "ЗаполнениеЗаказПокупателя" добавить основную форму

Это все объекты, которые понадобятся в расширении для включения через подсистему "Подключаемые команды" команды заполнения объекта.

Далее надо настроить объекты расширения и добавить программный код:

  1. В расширении в состав подсистемы"ПодключаемыеОтчетыИОбработки" включить обработку "ЗаполнениеЗаказПокупателя"
  2. В расширении для роли "БазовыеПрава" дать право "Использование" на обработку "ЗаполнениеЗаказПокупателя"
  3. В расширении в модуле менеджера документа "ЗаказПокупателя" надо добавить экспортную процедуру "ДобавитьКомандыЗаполнения". Процедуру надо добавить в том случае, если в основной конфигурации нет этой процедуры. 
    #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
    
    Процедура ДобавитьКомандыЗаполнения(КомандыЗаполнения, Параметры) Экспорт
    	
    КонецПроцедуры
    
    #КонецЕсли
  4. В расширении в модуле менеджера обработки "ЗаполнениеЗаказПокупателя" надо добавить две экспортные процедуры "ПриОпределенииНастроек" и "ДобавитьКомандыЗаполнения". При добавлении команды указывается видимость команды в формах (можно указать видимость только в форме документа, как в примере), можно указать необходимость записывать ил проводить объект перед вызовом команды, определять условия видимости команды, указывать дополнительные параметры формы (более подробно в документации к БСП).
    #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
    
    // Определяет состав программного интерфейса для интеграции с конфигурацией.
    Процедура ПриОпределенииНастроек(Настройки) Экспорт
    	
    	Настройки.ДобавитьКомандыЗаполнения = Истина;
    	Настройки.Размещение.Добавить(Метаданные.Документы.ЗаказПокупателя);
    	
    КонецПроцедуры
    
    // Определяет список команд заполнения.
    Процедура ДобавитьКомандыЗаполнения(КомандыЗаполнения, Параметры) Экспорт
    	
    	Команда = КомандыЗаполнения.Добавить();
    	Команда.Представление = НСтр("ru = 'Заполнить объект'");
    	Команда.Идентификатор = "ЗаполнитьОбъект";
    	Команда.Важность = "Важное";
    	Команда.Порядок       = 10;
    	Команда.МножественныйВыбор = Ложь;
    	Команда.ИзменяетВыбранныеОбъекты = Истина;
    	Команда.ВидимостьВФормах   = "ФормаДокумента";
    	Команда.РежимЗаписи        = "НеЗаписывать";
    	Команда.ИмяФормы           = "Форма";
    	Команда.Обработчик         = "Подключаемый_ЗаполнитьОбъект";
    	
    КонецПроцедуры
    
    #КонецЕсли
  5. В модуле основной формы обработки "ЗаполнениеЗаказПокупателя" добавить экспортную процедуру "Подключаемый_ЗаполнитьОбъект". Имя процедуры такое, как задано в параметре команды "Обработчик". В теле процедуры собственно код заполнения объекта. Получение формы объекта и самого объекта через параметр процедуры "ПараметрыВыполнения". 
    &НаКлиенте
    Процедура Подключаемый_ЗаполнитьОбъект(МассивОбъектов, ПараметрыВыполнения) Экспорт
    	
    	ИсточникФорма = ПараметрыВыполнения.Форма;
    	ИсточникОбъект = ИсточникФорма.Объект;
    	
    	//Здесь код заполнения объекта
    	
    КонецПроцедуры

Собственно это весь необходимый минимум, согласно документации БСП. Если добавляемая команда одна, то она отображается в форме документа на командной панели формы в виде кнопки с представлением команды. Если команд несколько, то команды отображаются в подменю "Заполнить".

Одна команда

 

Подменю "Заполнение"

Для конфигурации "Управление нашей фирмой, ред 1.6.14" мне понадобилось дополнительно включить в расширение общий модуль "ЗаполнениеОбъектовПереопределяемый" и разрешить использование подключаемых команд для формы объекта "ЗаказПокупателя" добавив процедуру "ПередДобавлениемКомандЗаполнения" с аннотацией "&После". 

&После("ПередДобавлениемКомандЗаполнения")
Процедура афс_ПередДобавлениемКомандЗаполнения(КомандыЗаполнения, Параметры, СтандартнаяОбработка) Экспорт
	
	Если Параметры.ИмяФормы = "Документ.ЗаказПокупателя.Форма.ФормаДокумента" Тогда
		СтандартнаяОбработка = Истина;
	КонецЕсли;
	
КонецПроцедуры

В приложении к публикации расширение с описанным примером плюс дополнительно показано как получить объект формы на сервере и перенести изменения объекта, сделанные на сервере, в форму объекта на клиенте. Также в расширении показано как отобразить одну команду в подменю "Заполнить".

расширение заполнение объекта вызов клиентского метода отладка

См. также

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Мастера заполнения Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки, и оно автоматически применится при загрузке выписки, экономя ваше время. Решение позволяет автоматически заполнять расшифровку платежа, исключать загрузку ненужных документов (дублей) из банка, заполнять комиссию за эквайринг и многое другое. Вам не нужно доплачивать за алгоритмы, они уже включены в решение.

12000 руб.

20.12.2024    6563    11    14    

14

Операции по ВЭД Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Мастера заполнения Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

СКАЧАЙТЕ И ПОПРОБУЙТЕ БЕСПЛАТНО! Данная обработка расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «Отчет о розничных продажах», «Отчет комиссионера (агента) о продажах», «Требование-накладная», «Возврат товаров от покупателя», «Комплектация номенклатуры», «Безвозмездная передача», «Отчет производства за смену». Обработка предназначена для работы в конфигурации «1С:Бухгалтерия предприятия 8, редакция 3.0» Есть версия обработки оптимизированная для работы в 1CFresh

9600 руб.

19.06.2012    140299    274    81    

232

Оптовая торговля Мастера заполнения Бизнес-аналитик Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Данное расширение автоматически заполняет бизнес-регион партнера в 1С (УТ 11, КА 2, ERP) при записи на основании КПП или индекса из адреса. Присутствует возможность сохранить имеющиеся бизнес-регионы партнеров, а также перезаполнить или очистить их при первичном заполнении. Возможен выбор региона по умолчанию для партнера без КПП или адреса (например, если вы не указываете адреса физ. лиц и знаете, что они из Вашего региона).

2000 руб.

29.04.2019    33979    61    51    

64

Обмен с ГосИС Мастера заполнения WEB-интеграция Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет Оперативный учет Управляемые формы 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Универсальное расширение конфигурации для автоматической загрузки и заполнения реквизитов контрагентов (партнеров) из ОГРН для 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.4), 1С:ERP Управление предприятием 2 (1С:ERP Управление предприятием 2, редакция 2.2), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.5), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.4), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.3), 1С:Управление торговлей 8 (Управление торговлей, редакция 11.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.4), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.2), 1С:Комплексная автоматизация 8 (1С:Комплексная автоматизация, редакция 2.0) и 1С:Бухгалтерия 8 (Бухгалтерия предприятия, редакция 3.0).

3900 руб.

08.11.2017    64844    408    298    

76

Закрытие периода Мастера заполнения Бухгалтер Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет УСН Платные (руб)

При формировании КУДиР при УСН часто возникает множество вопросов и проблем, к.т.: 1. Как выполняется заполнение книги учета доходов и расходов 2. Неправильно формируется книга учета доходов и расходов в 1С а). Доходы / расходы не попадают в КУДиР; б). Доходы / расходы попадают, но не принимаются к учету и многие другие ошибки. При правильном учёте, книга формируется корректно, но идеальный учет это скорее фантастика, для реальных случаев можно использовать специальный инструмент. Обработка предназначена для заполнения КУДиР. Версия для актуальных конфигураций на управляемых формах поддерживает один механизм заполнения - от бухгалтерской проводки. Старый метод автоматизации штатного заполнения присутствует в отдельной версии для обычных форм.

5880 руб.

12.03.2014    134490    81    97    

108

Нейросети Мастера заполнения Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для заполнения описания номенклатуры с помощью модели ИИ GigaChat от Сбера. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ.

5000 руб.

08.11.2023    3363    13    0    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Кадош 25.04.19 15:37 Сейчас в теме
Не понятно почему в вас в п.4 обработчик Подключаемый_ЗаполнитьОбъект, а в п.5 Подключаемый_ЗапланироватьОплату
2. killovolt 257 27.04.19 18:06 Сейчас в теме
(1) Опечатка, поправлю. Спасибо
3. adamst 3 11.08.20 12:33 Сейчас в теме
так то механизм БСП общий, зачем столько разновидностей расширений?
спасибо интересная статья, но я так понял надо изучать первоисточник
4. killovolt 257 22.09.20 09:55 Сейчас в теме
(3)Мезанизм общий, разница в деталях.
5. afanasii 22.04.22 03:13 Сейчас в теме
Добавить в расширение роль "БазовыеПрава"



Это новая роль или "БазовыеПраваБСП"? В УНФ нет роли "БазовыеПрава"
VyacheslavShilov; RustIG; +2 Ответить
6. afanasii 22.04.22 03:18 Сейчас в теме
Все работает. Спасибо. Очень помогло.
7. user625961_foranswf 23.05.23 16:16 Сейчас в теме
Добрый день.
Не прилетают данные форму в итоге, не понимаю, где копать?
В модуле формы:

 &НаКлиенте
Процедура Подключаемый_ЗаполнитьОбъект(МассивОбъектов, ПараметрыВыполнения) Экспорт
	
	ИсточникФорма 	= ПараметрыВыполнения.Форма;
	ИсточникОбъект 	= ИсточникФорма.Объект;
	
	ИсточникОбъект.ЗначенияПоказателей.Очистить();
	ИсточникОбъект.ФизическиеЛица.Очистить();
	
	РезультатЗапроса = ПолучитьДанныеДляЗаполнения(ИсточникОбъект);	
	
	Для каждого Строк Из РезультатЗапроса Цикл
		
		НоваяСтрока = ИсточникОбъект.ЗначенияПоказателей.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока,Строк);
		
	КонецЦикла;
	
	Для каждого Строк Из РезультатЗапроса Цикл
		
		НоваяСтрока = ИсточникОбъект.ФизическиеЛица.Добавить();
		ЗаполнитьЗначенияСвойств(НоваяСтрока,Строк);
		
	КонецЦикла;

	
КонецПроцедуры
Показать


Заполнение коллекции происходит в этой процедуре, но данные не возвращаются на форму после завершения
Оставьте свое сообщение