1с заполнение табличных частей документа пример

Нужно по кнопке Заполнить — сформировать данные для заполнения табличных частей и заполнить их.

Форма имеет вид:

Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ, код ее команды:

Второй вариант заполнения: Имеем ТЧ на форме, которую необходимо программно заполнить

Вступление

Предлагаем разобраться с процессом разработки внешней обработки заполнения табличной части, на примере конфигурации «1С:ERP Управление предприятием 2 (2.2.3.205)», документ «Производство без заказа», табличная часть «Материалы и работы».
В указанном релизе конфигурации, штатное заполнение рассчитывает материал криво некорректно.

Готовый вариант обработки можно скачать здесь

Подготовка шаблона внешней обработки

Команда заполнения табличной части

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

Код заполнения табличной части в модуле формы

Теперь осталось расположить в модуле формы необходимый алгоритм по заполнению. Вот как он выглядит в нашем случае: Серверный вызов происходит из клиентской процедуры «ВыполнитьКоманду», таким образом мы на сервере выполняем необходимые действия с объектом (в нашем примере заполняем табличную часть), обработанный объект возвращаем на сторону клиента и копируем его в данные формы.

Надеемся данный пример оказался полезным для Вас! Спасибо!

Здесь мы научимся создавать внешнюю обработку заполнения табличной части документа в 1С 8.3 (для управляемых форм) с нуля. Рассмотренный пример обработки можно скачать по ссылке.

Возьмем самой простой пример: в табличной части «Материалы» документа «Требование-накладная» присвоим во всех строках количеству значение равное 100.

Подготовка внешней обработки в 1С 8.3

Итак, создаем внешнюю обработку. Сохраняем ее на диск.

Внешнюю обработку или отчет в базе 1С необходимо зарегистрировать. Делается это с помощью структуры, которая содержится в экспортной функции СведенияОВнешнейОбработке.

По кнопке «Действия» переходим в модель объекта, где и создаем функцию:

Поговорим немного о значении полей.

Вид — в зависимости от предназначения обработки может принимать значения:

  • Отчет.
  • ЗаполнениеОбъекта.
  • Печатная форма.
  • Дополнительная обработка.
  • СозданиеСвязанныхОбъектов.
  • Дополнительный отчет.

В нашем случае для обработки заполнения табличной части нам необходим вид обработки «ЗаполнениеОбъекта»

Назначение — в этом поле перечисляются документы, для которых эта обработка предназначена (в которых она появится после регистрации в информационной базе). Для перечисления этих документов создадим массив «Назначения» и добавим в него документ «ТребованиеНакладная».

Наименование — это наименование будет отображаться в списке дополнительных обработок.

Версия — версия нашего нового программного продукта.

Информация — этот ключ нашей структуры содержит дополнительную информацию о нашей обработке.

Безопасный режим — принимает значение Истина/Ложь. Мы будем использовать безопасный режим.

Команды — этот ключ структуры содержит перечень поставляемых нашей обработкой команд. Для команд мы создадим функцию ПолучитьТаблицуКоманд() и процедуру ДобавитьКоманду().

Немного подробнее остановимся на полях таблицы значений команд.

Представление — это представление команды для пользователя: какое название для него будет представлено в интерфейсе.

Идентификатор — это внутренний идентификатор команды в пределах нашей обработки

Использование — в зависимости от использования команды может принимать значения:

  • ВызовСерверногоМетода — из модуля обработки вызывается серверная процедура.
  • ОткрытиеФормы — используется для открытия формы обработки.
  • ВызовКлиентского метода — для вызова клиентской процедуры из модуля обработки.
  • СценарийвБезопасномРежиме — серверная процедура в безопасном режиме.

В нашем случае мы работаем с формой объекта 1С 8.3, поэтому нам необходимо использовать ВызовКлиентскогоМетода для вызова команды внешней обработки.

ПоказыватьОповещение — имеет одно из двух значений: Истина/Ложь.
Модификатор — дополнительный модификатор команды. Итоговый листинг нашей обработки в модуле объекта приобретает следующий вид:

Получите 267 видеоуроков по 1С бесплатно:

Создание команды для заполнения табличной части

В поле Форма обработки нажмем линзу, чтобы создать форму:

В форме добавим команду ВыполнитьКоманду.

В теле обработки заполнение команды обратимся к данным формы через ВладелецФормы и изменим значение количества в табличной части материалов:

Регистрация внешней обработки в 1С 8.3 и её проверка

Теперь в режиме предприятия 1С зарегистрируем нашу внешнюю обработку для заполнения табличной части:

В списке внешних обработок нажмем кнопку Создать:

В открывшемся бланке новой внешней обработки загрузим из файла внешнюю обработку и впоследствии запишем новую обработку:

Теперь в документе «Требование-накладная» мы можем наблюдать результат регистрации нашей обработки в информационной базе. А по нажатию кнопки «Заполнить документ» увидим работу нашей обработки по заполнению табличной части.

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью
Добавить комментарий