Думаю, взлетит на Комплексной Автоматизации, ЗУП и УПП…
Во многих типовых конфигурациях от 1С используются понятия дополнительных свойств и категорий объектов.
Данные категории позволяют, без внесения дополнительных изменений в конфигурацию, сущетвенно расширить возможности системы. Но в данной статье речь несколько о ином. А именно, как с помощью данных механизмов, ПРОГРАММНО расширить функциональность конфигурации с внесением МИНИМАЛЬНОГО количества изменений.
Для примера рассмотрим две прикладных задачи реализованные в конфигурации БП КОРП 2.0:
Задача 1. При редактировании документа «Списание с расчетного счета», необходимо, в зависимости от индивидуальных настроек пользователя, включать (отключать) автозаполнение поля «Назначение платежа».
Задача 2. При проведении множества расчетных документов, в зависимости от дополнительного свойства документа «Отражать в УСН», формировать (или отключать формирование) проводок по регистрам учета УСН.
Методика решения задач (на конфигурации Бухгалтерия предприятия, редакция 2.0 (2.0.29.9))
Предварительно, для решения обоих задач, внесем в нашу конфигурацию небольшую доработку — новый общий модуль «РаботаСДополнительнымиХарактеристикамиОбъектов». Сделаем это путем объединения основной конфигурации с поставляемым файлом.
Решение задачи №1
— находим наиболее удобное место для внесения изменений в конфигурацию. По-моему, это процедура «СформироватьНазначениеПлатежа» модуля формы документа «СписаниеСРасчетногоСчета». Данная процедура запускается на исполнение при изменении вида операции документа, либо договора контрагента.
— теперь, в самом начале процедуры добавим следующую вставку
//——————-
// Автоформирование назначения платежа будет опционально
СписокХарактеристикПользователя = Новый СписокЗначений;
СписокХарактеристикПользователя.Добавить(«ХарактеристикаРедактироватьНазначениеПлатежа», «Авторедактирование назначения платежа»,ЛОЖЬ); // Параметр Ложь — не устанавливать флаг при автодобавлении характеристики
СтруктураХарактеристикПользователя = РаботаСДополнительнымиХарактеристикамиОбъектов.ПолучитьЗначениеБУЛЕВОЙХарактеристикиПользователя(СписокХарактеристикПользователя);
Если НЕ СтруктураХарактеристикПользователя.ХарактеристикаРедактироватьНазначениеПлатежа Тогда
Возврат;
КонецЕсли;
//——————-
При исполнении данного кода, будет произведен поиск дополнительной характеристики текущего пользователя «Авторедактирование назначения платежа». В случае ее отсутствия, вышеупомянутая характеристика будет создана автоматически. Третий параметр функции определяет необходимость автоматической установки флага.
На основании значения данной характеристики, принимаем решение о выполнении дальнейших действий по редактированию поля «Назначения платежа»
Проверка функционирования:
— Открыть любой документ «Списание с расчетного счета», изменить Вид операции. Назначение платежа меняться не должно.
— Открыть Сервис — Настройки пользователя. В группе СПЕЦИАЛИЗИРОВАННЫЕ, установить флаг «Авторедактирование назначения платежа». Повторить действия по редактированию документа «Списание с расчетного счета». Назначение платежа должно измениться.
Таким образом, задача решена с минимальными трудозатратами…
Решение задачи №2
— находим наиболее удобное место для внесения изменений в конфигурацию. По-моему, это функция «СформироватьСтруктуруШапкиДокумента» общего модуля конфигурации «ОбщегоНазначения». Данная процедура запускается на исполнение при проведении расчетных документов. Заменяем строку 1089 на следующую вставку
// ——————————————————-
// Необходимо учесть, что движения по УСН (доходы) отражаются, в некоторых организациях,
// не по всем документам. Это определяется:
// 1. дополнительной характеристикой организации
// 2. дополнительной характеристикой документа
// 1. определяем: используется ли по данной организции особый порядок учета УСН
ДополнительноеСвойство = РаботаСДополнительнымиХарактеристикамиОбъектов.НайтиСоздатьДополнительнуюКатегориюОбъекта(ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Организации, «Особый порядок УСН»);
// Проверим, установленно ли дополнительное свойство Организации «Особый порядок УСН» (должно соответствовать принятой учетной политике)
ОсобыйПорядокУСН = РаботаСДополнительнымиХарактеристикамиОбъектов.ПроверитьУстановкуДополнительногоСвойстваТипаБулево(СтруктураШапкиДокумента.Организация, ДополнительноеСвойство);
// Массив определяет перечень документов с условным движением регистра «Книга учета дох.-расходов»
МассивУсловныхДокументов = Новый Массив;
МассивУсловныхДокументов.Добавить(«ПоступлениеНаРасчетныйСчет»);
МассивУсловныхДокументов.Добавить(«СписаниеСРасчетногоСчета»);
МассивУсловныхДокументов.Добавить(«ПриходныйКассовыйОрдер»);
МассивУсловныхДокументов.Добавить(«РасходныйКассовыйОрдер»);
Отражать_в_УСН = Истина;
Если ОсобыйПорядокУСН И НЕ МассивУсловныхДокументов.Найти(СтруктураШапкиДокумента.ВидДокумента) = Неопределено Тогда
ДополнительноеСвойство = РаботаСДополнительнымиХарактеристикамиОбъектов.НайтиСоздатьДополнительнуюКатегориюОбъекта(ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы,«Отражать в УСН»);
// 2. Проверим, установленно ли дополнительное свойство документа «Отражать в УСН»
Отражать_в_УСН = РаботаСДополнительнымиХарактеристикамиОбъектов.ПроверитьУстановкуДополнительногоСвойстваТипаБулево(СтруктураШапкиДокумента.Ссылка, ДополнительноеСвойство);
КонецЕсли;
СтруктураШапкиДокумента.Вставить(«ОтражатьВНалоговомУчетеУСНДоходы», Отражать_в_УСН);
// ————————— центр(-)——————————
Проверка функционирования:
— По организации, применяющей упрощенную систему налогообложения, провести любой документ «Поступление на расчетный счет».
— После проведения, у организации появился дополнительный реквизит «Особый порядок УСН» (см. рис. 2). Установим галочку
— У документа «Поступление на расчетный счет» появился дополнительный реквизит «Отражать в УСН» (см. рис.3). Его пока не устанавливаем.
— еще раз перепроведем выбранный документ «Поступление на расчетный счет». При этом, записи в книгу доходов не производится (см. рис 4)
— Если у документа установить флаг дополнительного реквизита «Отражать в УСН» (см. рис 5) и перепровести документ, то происходит запись в регистр учета УСН. (см. рис 6)
Таким образом, задача решена с минимальными трудозатратами
Спасибо!
Спасибо.
Спасибо за статью. Дополнительные свойства и категории очень пригодятся в программах по зарплате и кадром. Если у сотрудников задавать различные свойства, то можно получать различные отчеты, по любым дщанным.
(3) Да, в ЗУП мы их тоже активно используем.