О ДР и ДС писал в 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 — исправлены замеченные ошибки. Изменен порядок записи ДР — если передается пустое значание для записи (в случаее типа ДР булево — ЛОЖЬ) удаляется вся строка табличной части объекта "ДополнительныеРеквизиты".
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-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.