Миниатюра 1С обработка табличных частей

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

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

Но давайте все по порядку, пройдем весь путь от создания до ввода в работу…

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

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

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

1С обработка табличной части - создание реквизита Ссылка

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

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

1С обработка табличной части в режиме отладки

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

1С обработка табличной части - создание команды

Описываем действие команды:

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

При выполнении команды проверим идентификатор формы и поскольку операция меняет данные, то перед выполнением обработки табличной части зададим вопрос о целесообразности этой процедуры (а то может быть пользователь случайно активировал команду):

После получения положительного ответа, проверяем, кто ВладелецФормы и узнаем, откуда запущена обработка табличной части:

  • из формы объекта (после её добавления в конфигурации 1С в «Дополнительных отчетах и обработках»); в этом случае передаем копию объекта формы на сервер для обработки табличной части.
  • из созданной нами формы обработки (при её открытии через «Файл-Открыть…» и выполнении команды «Команда1» на форме); в этом случае открываем форму элемента с поиском по ссылке объекта, выбранного в форме и так же передаем копию объекта формы на сервер для обработки табличной части.

 Обработанные данные в последствии будут скопированы снова в объект форы через команду КопироватьДанныеФормы().

На сервере мы можем обработать табличную часть объекта по необходимому алгоритму. Что бы не усложнять пример, наша 1С обработка табличной части 8.3 будет всего лишь очищать табличную часть. А вообще можно пробежаться по списку табличной части и изменить любые реквизиты в соответствии с необходимой логикой.

Всё! Обработка табличной части 1С готова, давайте её тестировать.

Тестирование 1С обработки табличной части

1. Запустим обработку в режиме отладки через Файл-Открыть… В модуле формы ставим точку останова на строчке серверной процедуры ЗаполнитьТЧСервер(). Запускаем обработку на выполнение через команду на форме «Команда 1».

Код обработки табличных частей

Наша точка останова останавливает выполнение программы в заданном месте, что дает возможность обратиться к Объекту. Таким образом мы можем посмотреть необходимые реквизиты и обработать табличную часть переданного объекта и другие реквизиты как необходимо. После выполнения кода в режиме 1С Предприятие, откроется форма элемента выбранного объекта с обработанными реквизитами.

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

Добавление дополнительной обработки в режиме 1С Предприятие

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

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

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

Желаю удачи и хорошего настроения!


1С обработка табличной части 8.3 с возможностью отладки, скачать

1С обработка табличной части 8.3 с возможностью отладки, скачать: 3 комментария

Добавить комментарий

Рейтинг@Mail.ru
Яндекс.Метрика
Здесь находится аттестат нашего WM идентификатора 739402762981
Проверить аттестат