Дополнительные реквизиты и сведения в управляемом приложении — это просто… с БДРС

Библиотека Дополнительных Реквизитов и Сведений (далее БДРС) – инструмент для настройки, записи, чтения дополнительных реквизитов (далее ДР) и дополнительных сведений (далее ДС) в конфигурациях, БСП которых поддерживает этот механизм.
О ДР и ДС писал в http://infostart.ru/public/188152/, сейчас, наконец, оформился в виде внешней обработки инструмент, облегчающий работу с дополнительными реквизитами и сведениями (далее ДРС).
Заполнять и использовать ДРС средствами типовой конфигурации конечно можно, но ИМХО, с помощью этой обработки гораздо комфортнее.
Обработка написана в интерфейсе «Такси», нормально работает и в «старом» режиме управляемого приложения.
Тестировалась на БП 3.0, БСО 3.0 и УТ 11.

Убедительная просьба к купившим не тиражировать БДРС без моего согласия 🙂

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

Аббревиатуру БДРС придумал Николай Гусев ( //infostart.ru/profile/18469/ ), совместно с которым всё это и разрабатывается. Большое ему спасибо за придумку ряда процедур/функций, на базе которых «родился» данный вариант БДРС.

Пример практического использование БДРС (реально работающий у реального клиента) —

Задача для БП 3.0:

Есть организация, которая производит строительный песок (намывают из речки, складируют кучами на отведенной территории). Песок реализуется не в месяце производства, для его реализации песок необходимо просеять, погрузить и т.п. Это работы, которые должны быть реализованы вместе с песком, но в выданных «бумажных» документах покупателю показывать работы не нужно. Т.е. в документе реализации выписываются и песок (табличная часть «Товары») и работы (табличная часть «Услуги») по его реализации, а в печатных формах «Счет на оплату покупателю» «ТОРГ-12» и «Счет – фактура»  должен выводиться только песок, цена и стоимость реализации которого равна сумме цены и стоимости как самого песка, так и цены и стоимости а работ по его реализации.

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

Решение задачи:

1. Настраивается ДР в элементе справочника «Номенклатура», с наименованием «Услуга в стоимость товара при печати» и типом справочник «Номенклатура». В этом ДР записываем для услуги товар, вместе с которым эта услуга должна продаваться. В нашем случае используется обработка «Настройка дополнительных реквизитов и сведений», в модуле которой находится БДРС. Шаблон используем из внешнего файла.

2. Создаются ВПФ (например, с помощью ""Конструктор внешних печатных форм"" от SeiOkami опубликованной на ИС) «Счет на оплату покупателю» «ТОРГ-12» и «Счет – фактура» в модуль которых скопирована БДРС, а при создании таблицы документа вставляется простой «кусок» кода (пример для счета на оплату):

 

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

Файлы ВПФ и шаблона настройки реквизитов выложены бесплатно, как пример дальнейшего распространения БДРС на ИС. Для работы этих ВПФ необходимо приобрести БДРС, вставить в модуль ВПФ код БДРС и с помощью настройки из внешнего файла заполнить ДР для номенклатуры. Регистрируем ВПФ в дополнительных обработках – и можно работать.

 

 

Описание библиотеки работы с дополнительными реквизитами и сведениями (БДРС)

 

1. Назначение

БДРС предназначена для записи и чтения дополнительных реквизитов и сведений в конфигурациях на библиотеке стандартных подсистем (далее БСП) версий 2.2.3.*. Разрабатывалась в типовой конфигурации БП 3.0 релиз 3.0.33.20. Служит для облегчения написания внешних отчетов, обработок или печатных форм для конфигураций на поддержке.  Может быть встроена в измененную конфигурацию – для этого в ней создается общий модуль с процедурами и функциями из модуля обработки «Настройка дополнительных реквизитов и сведений».

2. Описание поставки

БДРС поставляется в виде внешней обработки «Настройка дополнительных реквизитов и сведений» (далее обработка), в модуле которой находится сама библиотека, процедуры и функции которой начинаются с комментария:

//ТЕКСТ МОДУЛЯ ОБЪЕКТА ДЛЯ КОПИПАСТА В "СВОЮ" ОБРАБОТКУ>>>НАЧАЛО>>>

И заканчиваются комментарием:

//ТЕКСТ МОДУЛЯ ОБЪЕКТА ДЛЯ КОПИПАСТА В "СВОЮ" ОБРАБОТКУ<<<КОНЕЦ<<<.

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

                В модуле формы обработки расположены процедуры и функции для первоначального заполнения дополнительных реквизитов (далее ДР) и дополнительных сведений (далее ДС), которые будут использоваться в информационной базе (далее ИБ). Эти же процедуры и функции можно использовать в качестве примеров использования БДРС.

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

                Использование встроенных шаблонов не обязательно, в качестве шаблона можно использовать внешний файл формата mxl, установив флаг «Использовать внешний шаблон».

3. Описание обработки

При первом запуске обработки (см. рис. 1) в ИБ ничего не записывается, пользователь имеет возможность выбрать «Вид настройки», по которому будет произведено первоначальное заполнение плана видов характеристик «Дополнительные реквизиты и сведения» и справочника «Наборы дополнительных реквизитов и сведений». Настройка может быть выбрана из встроенных в обработку шаблонов или из внешнего файла формата mxl заданной структуры, описанной в шаблоне, вызываемом по кнопке «Создать файл шаблона» (Рис. 2).  Работа с ДРС через шаблон обусловлена «жизненной необходимостью» обеспечить разработчику наличие и точное описание ДРС, которые затем им будут использоваться в коде.

 Рисунок 1.

 

 

Рисунок 2.

 

 

Описание шаблона:

В первой строке записаны имена заголовков колонок таблицы для настройки , без пробелов и спец. символов —  все названия заголовков предназначены для обработки настройки ДРС, изменять их нельзя – в противном случае обработка не сможет «прочитать» шаблон.

Имена колонок предназначены для хранения следующей информации:

— ДРС — строка «ДР» — дополнительный реквизит (ДР) или «ДС» — дополнительно сведение (ДС);

— ИмяОбъектаДРС — идентификатор объекта конфигурации, например, «НоменклатурныеГруппы»;

— ИмяДРС — строка с именем ДР или ДС, как её будет видеть пользователь (не должна содержать спец. Символов – это ограничения только для работы с ДРС через данную обработку, для правильной работы самой БДРС строка может быть любой);

— ТипДРС — строка с названем типа устанавливаемого ДР или ДС, например, «Булево», «Строка»      или имя (идентификатор, как он задан в конфигураторе) справочника из разрешенных к выбору в ДР или ДС;

— ДлинаДРС — длина строкового или числового ДР или ДС;

— ТочностьДРС — точность числового ДР или ДС.

Кнопка «Открыть список ДРС» открывает форму списка плана видов характеристик «Дополнительные реквизиты и сведения» для просмотра зарегистрированных ДРС.

 

Работа с БДРС начинается после выбора вида настройки (поле «Вид настройки:» для встроенного шаблона или «Файл шаблона:» для внешнего файла) (Рис. 3 — настройка из встроенного шаблона).

Рисунок 3.

 

После выбора варианта настройки обработка записывает указанные в шаблоне ДР и ДС в план видов характеристик и справочник; так же становятся доступными элементы управления табличной частью обработки, куда выводятся (если есть в ИБ) строки с установленными ДР и ДС.

В подменю «Создать» устанавливаются кнопки добавления соответствующих ДРС. Выбор колонки «Ссылка» в строке табличной части открывает соответствующий документ или элемент справочника, к которому установлен ДР или ДС, выбор в остальных колонках – форму редактирования ДРС в соответствующей строке. На рисунке 4 показаны установленный ДР и создание нового:

Рисунок 4.

 

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

Есть особенность работы с ДС – для их удаления можно открыть реквизит для редактирования и очистить его значение. После записи ДС будет очищено. Удалить ДР таким способом не получится – запись в табличной части «Дополнительные реквизиты» после очистки значения реквизита останется до её удаления через эту обработку или удаления из формы документа (элемента справочника). Рис. 5  — список ДРС с выделенными строками.

Рисунок 5.

 

 

На рисунке 6 пример заполнения ДРС по настройке из файла:

Рисунок 6.

 

На рисунке 7 показано редактирование ДРС из формы элемента справочника (ДР и ДС установлены настройками из встроенных шаблонов):

 

Рисунок 7.

 

Здесь наглядно можно увидеть отличие ДР от ДС:

— ДР выводятся непосредственно в форму элемента справочника;

— ДС доступны по нажатию кнопки справа от "Записать" в отдельном окне.

 

Обработка может быть зарегистрирована в ИБ стандартным способом или открываться через "Файл" – "Открыт"ь.

4. Описание БДРС

Обработка не является необходимым условием работы с БДРС, она предназначена для облегчения первоначальной установки и заполнения ДРС в ИБ. Использование БДРС возможно и без наличия этой обработки и шаблонов первоначального заполнения, главное — наличие в модуле внешней обработки (или в общем модуле) процедур и функций, указанных в описании поставки.

Параметры, используемые при вызове основных процедур и функций БДРС, стандартизованы. Назначение параметров выше в описании шаблона.

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

 

Основные команды БДРС:

  • БДРС_НастроитьДРС( ДРС, ПустаяСсылка, ИмяДРС, ТипДРС, ДлинаДРС, ТочностьДРС) — Процедура первоначального заполнения ДРС.

Устанавливает ДР или ДС в ПВХ «ДополнительныеРеквизитыИСведения» и справочник  «НаборыДополнительныхРеквизитовИСведений».

Использование процедуры не является обязательным – при первом вызове записи или чтения ПВХ и справочник заполнятся автоматом. БДРС_НастроитьДРС – следует вызывать, если значения ДРС в ИБ надо установить до начала их использования, например во ВПФ. При выполнении этой процедуры попутно проверяется и, в случае необходимости, устанавливается в Истина значение константы «ИспользоватьДополнительныеРеквизитыИСведения».

  • БДРС_ЗаписатьДРС( ДРС, Ссылка, Значение, ИмяДРС, ТипДРС, ДлинаДРС, ТочностьДРС) –

Процедура записи ДРС. ДР записывается в табличную часть «ДополнительныеРеквизиты» справочника или документа. ДС в регистр сведений «ДополнительныеСведения». Попытка записать существующий ДРС приведет к его перезаписи. Если соответствующие ДР или ДС не были зарегистрированы в ПВХ и справочнике – они будут там зарегистрированы, а ДР или ДС записаны.

 

  • БДРС_ПолучитьЗначениеДРС( ДРС, Ссылка, ИмяДРС, ТипДРС, ДлинаДРС, ТочностьДРС)

Функция, возвращающая ДР или ДС для переданной в параметрах ссылке. Ссылка – обязательный параметр для вызова данной функции. Аналогично процедуре БДРС_ЗаписатьДРС в любом случае зарегистрирует ДРС в ИБ.

 

Дополнительные команды (ограниченное использование):

  • БДРС_ПолучитьСсылкуПоДополнительномуРеквизиту( ИмяДРС, ЗначениеДР, ИмяОбъектаДРС, ТипДРС, ДлинаДРС, ТочностьДРС)

Функция возвращает ссылку по ДР, имеет смысл только в случае, если в ИБ есть только одна запись соответствующего ИмяОбъектаДРС типа с данным значение БР. ЗначениеДР – обязательный реквизит. Если в ИБ существует несколько аналогичных записей, функция вернет ссылку на первую найденную.

 

  • БДРС_ПолучитьСсылкуПоНаименованиюИЗначениюДопСвойства( ИмяДРС, Значение)

Функция, аналогичная ПолучитьСсылкуПоДополнительномуРеквизиту, только работает с ДС. Возвращает ссылку на объект, для которого записано ДС.

 

Следует отметить, что все процедуры и функции БДРС объявлены со словом Экспорт, поэтому доступны так же, как и основные и дополнительные команды.

Примеры использования команд БДРС можно посмотреть в модуле формы обработки.

 

Причины купить

Есть много разработок, использующих механизм ДРС в управляемом приложении. Анализ показывает, что "системного подхода" не наблюдается. Данный инструмент появился в том числе и потому, что каждый раз, при необходимости использовать ДРС в своих разработках приходилось вспоминать что и как надо записать/прочитать и т.д. Сэкономьте своё время — используй три простых команды БДРС.

Достоинства

БДРС – инструмент. Как и любой другой инструмент, он предназначен для облегчения выполнения какой–либо работы, в данном случае для регистрации, заполнения и чтения дополнительных реквизитов и сведений программно. Используя всего три команды из состава БДРС Вы легко:

  • Зарегистрируете ДРС;
  • Запишите ДРС;
  • Прочитаете ДРС.

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

Ещё один плюс использования БДРС – это «унификация» ДРС в каждой информационной базе. Используя её не нужно выбирать из данных объекты, для которых эти ДР или ДС установлены – их видно в обработке по выбранной настройке сразу. Тут же можно установить или удалить ДРС.

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

Использование шаблонов для настройки ДРС позволяет так же быстро просмотреть только «свои», используемые в текущей задаче данные, что опять же – «пустячок, а приятно».

Сравнение версий

25.06.2014 — Версия 1.4 — доработанные вариант и использованием внешней обработки для управления ДРС. В планах использование данной версии в других разработках, для работоспособности которых необходимо приобретение БРДС. Пример такой поставки — файлы ВПФ и файла с шаблоном в этой публикации. 

11.07.2014 — Версия 1.5 — исправлены замеченные ошибки при работе с установленными ДРС в табличной части обработки.

25.10.2014 — Версия 1.6 — добавлена регистрация из формы, исправлено создания подменю создания БРС, теперь в именах ДРС можно использовать ".", "," и ";"

02.12.2014 — Верия 1.7 — исправлены замеченные ошибки. Изменен порядок записи ДР — если передается пустое значание для записи (в случаее типа ДР булево — ЛОЖЬ) удаляется вся строка табличной части объекта "ДополнительныеРеквизиты".

04.09.2024 — Версия 1.11 — адаптировано к новой версии БСП, исправлены замеченные ошибки.

14.09.2024 — Версия 1.12 — исправлена процедура идентификации конфигурации.

01.10.2024 — Версия 1.13 — исправлена ошибка, возникающая в УТ 11.

18.11.2024 — Версия 1.14 — включена в состав поддерживемых конфигурация УТ 11.2.*. Добавлена возможность перезаписи настроек в команде  БДРС_НастроитьДРС.

14.04.2024 — Версия 1.15 — исправлены замеченные ошибки. 

Гарантия возврата денег

ООО «Инфостарт» гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.

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

Для возврата оплаты просто свяжитесь с нами.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *