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

Обработка заполнения табличной части 1С 8.3 управляемые формы на примере

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

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

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

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

sozdanie novoy obrabotki

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sozdanie formyi obrabotki

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

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

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

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

administrirovanie

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

dopolnitelnyie obrabotki

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

zagruzit iz fayla

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

primer ispolzovaniya obrabotki zapolneniya

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

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

Источник

Внешние обработки табличных частей в 1С 8.2 и 8.3

Табличные части в документах и справочниках часто бывают достаточно большими — сотни и тысячи строк. Почти также часто требуется выполнять какую-либо обработку этих самых строк и разумеется очень желательно автоматизировать эту обработку. Изменять конфигурацию в каждом подобном случае было бы очень непрактично, поэтому компания «1С» создала механизм внешних обработок табличных частей.

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

Кроме этого, нужно отметить, что создание внешних обработок табличных частей различается для обычного приложения (Бухгалтерия 2.0.*, ЗиУП 2.5.*, УТ 10.3.*) и управляемого приложения (Бухгалтерия 3.0.*, ЗиУП 3.*, УТ 11.*). В статье будут рассмотрены оба варианта.

Также нужно сказать, что вопросы отладки внешних обработок табличных частей для управляемого и для обычного приложения рассматриваются в отдельной статье.

Внешняя обработка табличных частей в управляемом приложении

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

Создание

Итак, для начала нам нужно создать новую внешнюю обработку и в модуле объекта этой обработки размещаем такой код:

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

Параметр «БезопасныйРежим» в значении «Истина» накладывает некоторые ограничения:

При этом имеется возможность запросить исключения из безопасного режима (приме в коже выше).

В примере выше добавляются три команды разного типа. Команды типов «ВызовСерверногоМетода» и «ЗаполнениеФормы» должны быть реализованы в том же самом модуле объекта обработки — экспортная процедура ВыполнитьКоманду(). При этом команды типа «ЗаполнениеФормы» могут выполняться для новых (не записанных) объектов. Пример реализации:

Источник

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

category Программирование системы clock11.05.2016 12:32 eye14646

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

Экспортная функция «СведенияОВнешнейОбработке()»

Функцию обязательная. Определяется в модуле обработки и выполняется на сервере.

Экспортная процедура «ВыполнитьКоманду()»

Процедура обязательная. Если параметр «Использование» установлен в значение «ВызовСерверногоМетода», то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле обработки и выполняться на стороне сервера. Если установлено значение «ВызовКлиентскогоМетода», то обязательная экспортная функция ВыполнитьКоманду() должна располагаться в модуле основной формы обработки и выполняться на стороне клиента.

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

Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться

Источник

S-Студия

Блог о внедрении и технологиях 1С

Пример разработки внешней обработки 1С вида «Заполнение объекта»

%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0 %D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%B5%D0%B9 1

Задача. К примеру, нам необходимо сделать загрузчик данных в табличную часть «Расшифровка платежа» документа «Поступление безналичных денежных средств», а данные для загрузки находятся в файле Excel, который интерактивно выбирает пользователь. Конечно, менять конфигурацию нельзя, расширения добавлять нельзя. В конфигурации используется БСП версии (2++). Такая вот задача.

Среди видов внешних обработок есть такой вид — «Заполнение объекта». С помощью данной обработки можно заполнить справочник или документ исходя из собственных требований. Хорошим примером может являться разноска выписки по договорам или счетам.

Итак, что можно сделать с помощью дополнительной внешней обработки вида » Заполнение объекта»?
Можно, например, из формы документа (или справочника) открыть форму обработки, передав в нее контекст вызвавшей ее формы документа, провести некие манипуляции с данными. Звучит непонятно? — Давайте разберем пример.

%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0 %D0%BF%D0%BB%D0%B0%D1%82%D0%B5%D0%B6%D0%B5%D0%B9 1

Решение данной задачи с помощью внешней обработки вида «Заполнение объекта» следующее:

Тут ключевой параметр: ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта()

В этом случае, после регистрации внешней обработки, в форме назначенного документа появится кнопка с вашей командой

%D0%9A%D0%BD%D0%BE%D0%BF%D0%BA%D0%B0 %D0%97%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C

Далее, при открытии основной формы обработки, при создании на сервере, получаем входящий контекст:

Тут важно сохранить ссылку на открытый ранее документ, которая придет в виде первого элемента массива: Параметры.ОбъектыНазначения[0]

Далее, в форме разрабатываем интерфейс работы с файлом и обработчик загрузки. Например, вот такой интерфейс: выбираем файл Excel, читаем его файл в Табличный документ (с COM-объектом при этом не работаем!), далее обрабатываем открытое содержимое и подготавливаем данные для переноса в соответствии с бизнес-требованиями.

Но далее, есть небольшой нюанс. Мы открыли нашу форму «обработку загрузки» из формы исходного документа с передачей лишь ссылки на него, соответственно, нам нужно:

Если в форме нашего «обрабатываемого» объекта есть обработчик оповещения (процедура формы документа «ОбработкаОповещения»), дело упрощается — мы подключаемся к нему и этот обработчик и обновит данные формы в соответствии с данными объекта (выполнит команду Прочитать() с формы документа). Для этого используем команду Оповестить(«ОбновитьДокументИБПослеЗаполнения», Массив, ЭтаФорма)

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

Вот собственно и все решение. В принципе, несложное, но пару нюансов содержит

Скачать разбираемую обработку можно здесь Скачать

Позднее появилось и другое решение данной задачи. РЕШЕНИЕ №2

Источник

Внешняя обработка для заполнения табличных частей в 1С 8.3

В рамках данной статьи мы напишем обработку заполнения табличной части в 1С 8.3 для типовой конфигурации 1С:ERP 2.1. Предположим, что целью поставленной задачи стоит установка ручной скидки в размере 5% для всех номенклатурных позиций данного документа. Пример из статьи можно скачать по ссылке или другой аналогичной обработки по ссылке.

Данная инструкция предназначена для управляемых форм (8.2 и 8.3). Для обычных форм (8.1, 8.2) можно воспользоваться следующей инструкцией.

Создание внешней обработки

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

Откройте модуль объекта и пропишите код, приведенный ниже (его также можно взять из данной выше обработки). В целом, структура не будет меняться в зависимости от ситуации. Редактируются только некоторые параметры настроек, а так же при необходимости имена переменных.

kod modulya

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

Заполнение табличной части документа

Создадим новую форму обработки.

sozdanie upravlyaemoy formyi

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

Получите понятные самоучители по 1С бесплатно:

В рамках нашего примера будет произведена обработка уже существующей табличной части «Товары». Для каждой строки будет установлена ручная скидка в размере 5%. Так же, мы рассчитаем саму сумму данной скидки, равную сумме товаров в строке, умноженных на 0,05.

Далее сохраним нашу обработку и перейдем к ее регистрации в 1С.

Регистрация внешней обработки

Запустите 1С в режиме «Предприятие» и откройте справочник «Дополнительные отчеты и обработки». Найдем его через меню «Все функции».

dopolnitelnyie otchetyi i obrabotki

Создайте новый элемент в открывшемся справочнике и по одноименной кнопке загрузите из файла свою обработку. Разместим ее одновременно и на форме списка и на форме самой карточки документа.

zagruzit iz fayla

Теперь в форме списка документов «Заказ клиента» появится кнопку «Заполнение…», которая позволит произвести изменить ручные скидки товаров сразу у нескольких документов.

knopka zapolnenie

Так же данная кнопка будет доступна и в карточке самого документа.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с 8 не печатаются формы
  • 1с 8 настройка параметров учета усн