1с расширение конфигурации печатная форма

Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download

e8f1099ce92f6721788e9b3eb270be19 close

Шаблон разработки печатных форм и подключения к конфигурациям на БСП 2.х и БСП 3.0

Шаблон я заготовил еще на БСП 2.х, сейчас актуальна БСП 3.0.х – шаблон менял с развитием БСП. Сравнивая шаблоны получилось очень наглядно как «1С» реализует концепцию «вести разработку как бы сбоку, оставляя типовые объекты на поддержке, а в идеале на замке». Для этого развивает программный интерфейс подсистем БСП, что позволяет свести к минимуму количество объектов в расширении конфигурации.

Для БСП 2.х и БСП 3.0 макет табличного документа и алгоритм формирования печатной формы располагаю в объекте обработка, расширения конфигурации. «Обычно макет печатной формы располагается при объекте, но если макет является общим для двух и более объектов, то либо его следует располагать в обработке, либо это должен быть общий макет.» [ИТС, БСП гл. 3.38 Печать]. Для меня важно оставить конфигурацию «девственной» и минимум объектов заимствовать в расширение конфигурации, поэтому в обработке.

Если на БСП 2.х укладываемся в 7 шагов:

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

9b5e109540c23135d05ba43f86e13aba

Рис. 1 Расширение конфигурации на БСП 2.х

то на БСП 3.0 получаем желаемое за 4-е шага

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

01b48461771959c2636affb7cd20d2a2

Рис. 2 Расширение конфигурации на БСП 3.0

Повинуясь ИТС, подсистему «ПодключаемыеОтчетыИОбработки» заимствуем и в нее включаем созданную обработку.

Вот тот программный интерфейс БСП 3.0, благодаря которому нет более надобности заимствовать «Группу команд», «Документ» и создавать команды у обработки. Следующие процедуры, располагаем в модуле менеджера обработки.

Процедуру формирования печатной формы располагаем в ММ обработки

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

В самой процедуре формирования печатной формы я придерживаюсь следующей структуры:

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

//тол+ Обновление публикации от 20.02.2020 г.

З арекся, не добавлять клиентский контекст, если не наберет +100, но статья набрала.

«В отдельных случаях для формирования некоторых печатных форм может потребоваться клиентский контекст. Например, для запроса дополнительных параметров печатной формы у пользователя непосредственно перед печатью» [ИТС, БСП гл. 3.38 Печать]

Как (было) на БСП 2.х?

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

Форму(ы) для клиентского контекста, располагаем в той же обработке в расширении. Нужные типы для реквизитов формы, заимствуем из основной конфигурации. Например, справочник «ВидыЦен».

Последовательность действий такая:

b60e2177a0088bcb332358ebc8d382fcРис. 3 Заход в клиентский контекст на БСП 2.0

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

Отказ от модальности заставил усложнить код реализующий заход в клиентский контекст:

f80e01ffa31341512c31cb4c67783761

Рис. 4 Заход в клиентский контекст на БСП 2.0 + отказ от модальности

Как теперь можно на БСП 3.х?

7aed69e67d0550d6d9ca86483d03e993

Рис. 5 Заход в клиентский контекст на БСП 3.х

Реквизит формы в расширении определяем кодом, ну что бы уже «ваще не гадить»

423dc1324c7c710d517e4a5d17f88c0aРис. 6 Программное создание реквизита формы.

П.С. Попытался сложить окна в EDT вертикально, что бы нарезать скрины … и не смог:( Конфигуратор forever!

Источник

Дополнительные отчёты и обработки, использование расширений в 1С Fresh

Что такое внешние отчёты и обработки

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

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

В Кнопке разработано несколько десятков обработок, позволяющих использовать нашим бухгалтерам “практическую магию“. Например, для анализа правильности бухгалтерского учёта в Кнопке используется внешний отчёт “Автоаудит баз“. В удобных для восприятия таблицах выводится анализ по 120 критериям остатков и оборотов по счетам, соответствие данных из налоговых деклараций и информации по бухгалтерскому учёту, анализ основных средств и прочее.

image loader

image loader

image loader

Пример внешней печатной формы “договор займа“ по форме, разработанной нашими юристами. Бывают случаи, когда предприниматель берёт беспроцентный займ у своей фирмы как физическое лицо, или наоборот, перечисляет собственные средства фирме, тогда есть возможность сразу же распечатать договор.

image loader

Открывается форма для заполнения необходимых реквизитов:

image loader

И выводится печатная форма договора:

image loader

Обработки по расписанию (регламентные задания) используем, например, для исправления выписки. У Кнопки настроены интеграции с основными банками и специальные роботы загружают выписку напрямую в 1С. Благодаря технологии машинного обучения, процент ошибок при проведении выписки удалось снизить до 3%. Но как всегда есть исключения, например клиенты, которые используют агентскую схему реализации товаров, в этом случае правила проведения банковской выписки индивидуальные. Чтобы не перепрограммировать робота для частного случая, до появления расширений конфигурации использовали регламентное задание, чтобы раз в 10 минут исправлять выписку за роботом.

Что такое расширения конфигурации

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

Механизм предполагает три типа использования, которые, собственно, и указываются в поле “Назначение“, при создании расширения:

Администрирование дополнительных отчётов, обработок и расширений

На сегодняшний день Кнопка оказывает услуги бухгалтерского аутсорсинга более чем 1000 предпринимателям. Мы внедрили и уже более двух лет используем 1С Fresh — технологию публикаций прикладных решений на платформе 1С: Предприятие, которая используется в облачном сервисе 1cfresh.com. Это лучшее решение для обслуживания такого большого количества 1С-ных баз на сегодняшний день. Одна информационная база с помощью разделителей дробится на независимые области, подробнее можно прочитать в нашей статье «Как самостоятельно обслуживать 2500 бухгалтерских баз».

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

image loader

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

Подготовка внешних отчётов и обработок к публикации в модели сервиса

В модуле объекта должны быть процедуры и функции для определения параметров регистрации.

image loader

image loader

Обратите внимание, что важным параметром является “Версия“. Если вы внесли изменения в обработку, которая уже была ранее загружена в каталог менеджера сервиса, обязательно измените номер версии, иначе менеджер сервиса откажется загружать этот файл. При разработке отчёта или обработки надо учитывать, что пользователи работают в модели сервиса через web-клиент (хорошая статья в блоге 1С). Если обработка содержит формы, то они должны работать в web-клиенте под всеми web-браузерами, которые поддерживаются технологической платформой «1С: Предприятие 8».

По стандартам сервиса 1cfresh.com, дополнительный отчёт или обработка должны быть полностью работоспособны при исполнении в безопасном режиме, то есть работать без обращения к внешним для конфигурации объектам.

Дополнительный отчёт или обработка должны быть подготовлены для загрузки в сервис в виде комплекта поставки. Комплект поставки является архивом (zip-файлом), содержащим:

image loader

Установка дополнительных отчётов и обработок в модели сервиса

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

Абонент сервиса — это группа пользователей, объединённых по какому-либо принципу. Соответственно, информационные базы, доступные для определённой группы пользователей, называются приложениями абонента.

Приложения могут иметь различные конфигурации 1С (Бухгалтерия предприятия, Зарплата и управление персоналом, Управление нашей фирмой и т.д.), для которых возможно использование в модели сервиса. Дополнительный отчёт или обработка могут быть установлены только в приложения абонента, который указан при загрузке файла.

Вот так выглядит форма свойств дополнительного отчёта с версиями. По гиперссылке “Установка/удаление“, попадаем в список приложений и выбираем нужные базы.

image loader

После того, как обработка загружена и выбрано приложение, менеджер сервиса обращается по адресу приложения и даёт команду установить её в информационную базу.

Запускаем обработки по расписанию

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

Обработки, которые будут выполняться по расписанию не имеют формы. Вся логика прописывается в модуле объекта и выглядит следующим образом.

image loader
image loader

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

image loader

Подробнее про расширения конфигурации

Параллельно с внешними отчётами и обработками, которые нужно подготавливать и администрировать “по-старинке“, мы начали активно использовать механизм расширений конфигурации. Начиная с платформы 1С Предприятия 8.3.10, этот механизм достаточно облегчил нашу жизнь и позволил упростить адаптацию конфигураций под особенности Кнопки.

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

Новое расширение подготовить достаточно просто. Давайте рассмотрим процесс создания расширений на конкретных примерах.
По опыту работы, лидером по запросам на внесение корректировок является печатная форма ТОРГ-12. Например, нам надо сделать расширение для возможности печатать товарную накладную в валюте (по умолчанию она может формироваться только в рублях).
Открываем Меню → Конфигурация → Расширения конфигурации
Создаём новое расширение с назначением “Адаптация“.

image loader

Расширение выглядит как привычное дерево конфигурации, но пока без объектов. Первым делом добавим новый макет ТОРГ-12, в который вставили колонки с суммами в валюте.

image loader

Поскольку товарная накладная распечатывается из документа “Реализация товаров услуг“, добавим этот документ в наше расширение из основной конфигурации и внесём нужные нам изменения в модуль менеджера. Для этого в контекстном меню реализации выбираем «добавить в расширение».

image loader

Теперь можно доработать модуль менеджера реализации. Нам нужно добавить новую форму в список печатных форм и заполнить суммы в валюте.

image loader

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

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

Аннотации &Перед и &После нельзя применять для функций. Поэтому, если нам необходимо изменить алгоритм функции из основной конфигурации, используем аннотацию &Вместо.

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

Заключение

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

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

Источник

Внесение изменения в формы с помощью расширений, без заимствования формы.

Статья не новая, попытку номер 1 я уже описывал, поэтому очередность в обратном порядке, возможно скоро появится и следующие попытки.

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

Пример использования заимствованной формы и формы-шаблона

93d790819bed02bcd8fcf6019d663470

Дополнения от 13.09.2019

a2f7cc95964e1b0a76552fcc077f74cd

Краткая инструкция на примере добавленных реквизитов в документ «Поступления на расчетный счет» конфигурации «Бухгалтерия предприятия, редакция 3.0 БИТ.ФИНАНС 3.1»

9f25cf506cccb87e0be3967301efa767

в результате на панели действий формы должна появиться ссылка «Расширение формы»

e87dd96586ded0d0a66f6ac44e241683

в результате расширенная форма стала выглядеть так,

b11254a30e3eccb18dd68f7cfcaa033f

При редактировании данные формы расширения переносятся в основную форму.

Данная форма имеет ограниченный функционал и не является заменой основной формы, рекомендуется к использованию для редактирования реквизитов не отображенных на основной форме. ВНИМАНИЕ: При повторной активации навигационной ссылки «Расширение формы. » данные формы автоматически не обновляются.

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

Предполагаю, что должно работать на любой конфигурации (не проверял), разрабатывал на платформе 1С:Предприятие 8.3 (8.3.13.1809).

Источник

Базовое понимание внедрения механизма печати в любом документе конфигурации на БСП

Введение

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

Подготовка и настройка собственного документа конфигурации для использования в подсистеме печати в системе БСП.

Начнем с простого создания документа ТестоваяПечатьДокументов в конфигурации на БСП. В качестве конфигурации я беру чистую библиотеку стандартных подсистем версии 3.1.4.148. Разработка ведется на Платформе 1с 8.3.18.1208.

выглядит это вот так:

выглядит она вот так:

Далее, для «формы списка» добавляем внутренние БСП подключаемые процедуры:

А для «формы документа» добавляем вот такие внутренние БСП подключаемые процедуры:

Далее, заполним модуль менеджера нашего документа. Напишем в нем такой код:

Тут нет ничего сложного, но особое внимание хочу обратить на вот эту процедуру добавления команд

Заключение и выводы

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

Другие мои материалы по БСП

Так же прошу ознакомиться с другими моими статьями по функционалу библиотеки стандартных подсистем и типовым конфигурациям:

Источник

Программирование в 1С для всех

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

Если кто не знаком с технологией расширений, то основную информацию можно получить из моих видео-уроков.

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

Имейте в виду, что перехват событий и методов работает только тогда, когда режим совместимости установлен в «Не использовать» (так было для платформы 8.3.10.1981), по сути это единственное изменения конфигурации «Управляемое приложение», которое я сделал…

1 3

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

В задачах ниже мы разберем работу «перехватчиков»

Задача: В расширении создадим собственный макет печати документа «Расход товара». И добавим команду на форму расходной накладной «Печать расходной накладной (расширение)» при выполнении которой будет печататься макет из расширения.

Для этого создадим расширение конфигурации «ДляРасходаТовара», заимствуем в это расширение документ «Расход товара», а так же форму.

2 3

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

3 3

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

4 3

После этого копируем команду «Печать расходной накладной», и так же переименовываем, и не забудем указать тип параметра команды – ссылку на документ «Расход товаров»

5 3

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

6 3

Но, если мы сейчас попробуем её выполнить, то выйдет обычная печатная форма, не из расширения.

Всё из-за того, что в команде расширения используется метод документа ПечатнаяФорма, в котором и «подтягивается» нужный макет.

7 1

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

Напишем в модуле расширения следующий код:

&Вместо(«ПечатнаяФорма»)
Процедура РТ_ПечатнаяФорма ( ТабличныйДокумент )
///
КонецПроцедуры // ПечатнаяФорма(ТабличныйДокумент)

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

Теперь скопируем код из процедуры ПечатнаяФорма расширенной конфигурации, и переделаем, как описано выше.

Нам осталось переделать код в команде расширения РТ_ПечатьРасходнойНакладной

Сейчас, после того, как сохраним расширение, то спокойно сможем распечатать макет расширения.

Задача: Перед проведением документа «Расход товара» будем проверять, внес ли контрагент аванс (должен быть больше суммы продажи), если нет, то не проведем документ.

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

Напишем в модуле документа «Расход товара» следующий код

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

Посмотрим, как сработает наш перехват события

8 1

Кроме того, что мы можем написать метод, который сработает взамен метода расширенной конфигурации, мы можем написать процедуру (функцию), которая выполниться перед или после какой-нибудь «типового» метода модуля объекта. Для этого нужно использовать аннотации &Перед и &После.

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

Если мы сейчас создадим на основании контрагента документ «Продажи», то поле «Вид Цены» будет пустое

Теперь перейдем к формам.

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

9 1

Разберем работу перехвата событий форм на ряде примеров.

Задача: В документе «Расход товара» после выбора контрагента в окно «Обоснование отгрузки» будем записывать информацию из реквизита контрагента «Дополнительная информация».

Для этого перехватим событие после изменения поля «Покупатель». Зайдем в палитру свойств поля «Покупатель» формы документа «Расход товара» нашего расширения. И нажмем на пиктограмму «Лупа» рядом с событием «При изменении», после этого выйдет форма, где по мимо знакомых вариантов клиент, сервер и т.д., появятся варианты вызова события: перед, после и вместо.

10 1

Выберем на клиенте и после.

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

11 1

В модуле формы обработка создалась. Напишем следующий код.

Теперь, если мы выберем контрагента, то заполнится информация в поле документа «Обоснование отгрузки»

И последняя задача будет немного поинтереснее: в документе «Расход товара» в табличной части Товары сделаем возможность выбора только номенклатуры с видом Товар. В демонстрационной конфигурации есть товары с видом услуга. Они показаны на этом рисунке

12 1

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

13 1

И у этой формы создам обработчик события ПриСозданииНаСервере, который будет выполняться вместо типового.

14 1

Почему вместо типового? Потому что типового обработчика события ПриСозданииНаСервер формы выбора справочника Товары нет, и я решил сделать вместо. Хотя можно сделать после.

Теперь напишем код, в котором будем устанавливать отбор на динамический список «Список» формы выбора.

15 1

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

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

Теперь при выборе товаров из документа «Расход товара» каталог «Услуги» будет пуст.

16 1

Но, заметьте, можно будет подобрать услугу, вводя вручную её название в поле товар.

17 1

Что бы такого не было, мы перехватим событие формы АвтоПодбор, наше событие будет выполняться вместо события расширенной конфигурации.

18 1

В этом обработчике будем накладывать отбор в параметрах получения данных

Теперь при подборе с клавиатуры услуги не будут выходить.

19 1

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

%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82 %D0%BE%D0%B1%D0%BB%D0%BE%D0%B6%D0%BA%D0%B8 3D e1535446467792

В книге «Азбука расширений конфигураций 1С» в доступной форме подробно шаг за шагом даются основы работы с этим механизмом расширений конфигураций 1С.

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

1C %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D e1535446703905

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

1 %D0%B2 %D0%B6%D0%B5%D0%BB%D1%82%D0%BE%D0%BC %D1%86%D0%B2%D0%B5%D1%82%D0%B5 3D %D0%BC%D0%B0%D0%BB%D0%B5%D0%BD%D1%8C%D0%BA%D0%B0%D1%8F

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Промо-код на скидку в 15% — 48PVXHeYu


Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Источник

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