Работа с дополнительными характеристиками объектов






Универасальная подсистема использования дополнительных свойств и категорий объектов в типовых конфигурациях БП 2.0, БП 2.0 КОРП.
Думаю, взлетит на Комплексной Автоматизации, ЗУП и УПП…

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

Данные категории позволяют, без внесения дополнительных изменений в конфигурацию, сущетвенно расширить возможности системы. Но в данной статье речь несколько о ином. А именно, как с помощью данных механизмов, ПРОГРАММНО расширить функциональность конфигурации с внесением МИНИМАЛЬНОГО количества изменений.

Для примера рассмотрим две прикладных задачи реализованные в конфигурации БП КОРП 2.0:

Задача 1. При редактировании документа «Списание с расчетного счета», необходимо, в зависимости от индивидуальных настроек пользователя, включать (отключать) автозаполнение поля «Назначение платежа».

Задача 2. При проведении множества расчетных документов, в зависимости от дополнительного свойства документа «Отражать в УСН», формировать (или отключать формирование) проводок по регистрам учета УСН.

Методика решения задач (на конфигурации Бухгалтерия предприятия, редакция 2.0 (2.0.29.9)

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

Решение задачи №1

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

— теперь, в самом начале процедуры добавим следующую вставку

//——————-  

// Автоформирование назначения платежа будет опционально
СписокХарактеристикПользователя = Новый СписокЗначений;
СписокХарактеристикПользователя.Добавить(«ХарактеристикаРедактироватьНазначениеПлатежа», «Авторедактирование назначения платежа»,ЛОЖЬ); // Параметр Ложь — не устанавливать флаг при автодобавлении характеристики

СтруктураХарактеристикПользователя = РаботаСДополнительнымиХарактеристикамиОбъектов.ПолучитьЗначениеБУЛЕВОЙХарактеристикиПользователя(СписокХарактеристикПользователя);

Если НЕ СтруктураХарактеристикПользователя.ХарактеристикаРедактироватьНазначениеПлатежа Тогда
    Возврат;
КонецЕсли;
//——————-

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

На основании значения данной характеристики, принимаем решение о выполнении дальнейших действий по редактированию поля «Назначения платежа»  

Проверка функционирования:

— Открыть любой документ «Списание с расчетного счета», изменить Вид операции. Назначение платежа меняться не должно.

— Открыть Сервис — Настройки пользователя. В группе СПЕЦИАЛИЗИРОВАННЫЕ, установить флаг «Авторедактирование назначения платежа». Повторить действия по редактированию документа «Списание с расчетного счета». Назначение платежа должно измениться.  

Таким образом, задача решена с минимальными трудозатратами…

 

Решение задачи №2

 

— находим наиболее удобное место для внесения изменений в конфигурацию. По-моему, это функция  «СформироватьСтруктуруШапкиДокумента» общего модуля конфигурации «ОбщегоНазначения». Данная процедура запускается на исполнение при проведении расчетных документов. Заменяем строку 1089 на следующую вставку

 // ——————————————————-
// Необходимо учесть, что движения по УСН (доходы) отражаются, в некоторых организациях,
// не по всем документам. Это определяется:
// 1. дополнительной характеристикой организации
// 2. дополнительной характеристикой документа


// 1. определяем: используется ли по данной организции особый порядок учета УСН

ДополнительноеСвойство = РаботаСДополнительнымиХарактеристикамиОбъектов.НайтиСоздатьДополнительнуюКатегориюОбъекта(ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Организации, «Особый порядок УСН»);

// Проверим, установленно ли дополнительное свойство Организации «Особый порядок УСН» (должно соответствовать принятой учетной политике)

ОсобыйПорядокУСН = РаботаСДополнительнымиХарактеристикамиОбъектов.ПроверитьУстановкуДополнительногоСвойстваТипаБулево(СтруктураШапкиДокумента.Организация, ДополнительноеСвойство);

// Массив определяет перечень документов с условным движением регистра «Книга учета дох.-расходов»
МассивУсловныхДокументов = Новый Массив;
МассивУсловныхДокументов.Добавить(«ПоступлениеНаРасчетныйСчет»);
МассивУсловныхДокументов.Добавить(«СписаниеСРасчетногоСчета»);
МассивУсловныхДокументов.Добавить(«ПриходныйКассовыйОрдер»);
МассивУсловныхДокументов.Добавить(«РасходныйКассовыйОрдер»);
Отражать_в_УСН = Истина;

Если ОсобыйПорядокУСН И НЕ МассивУсловныхДокументов.Найти(СтруктураШапкиДокумента.ВидДокумента) = Неопределено Тогда
   
ДополнительноеСвойство = РаботаСДополнительнымиХарактеристикамиОбъектов.НайтиСоздатьДополнительнуюКатегориюОбъекта(ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы,«Отражать в УСН»);


// 2. Проверим, установленно ли дополнительное свойство документа «Отражать в УСН»

    Отражать_в_УСН = РаботаСДополнительнымиХарактеристикамиОбъектов.ПроверитьУстановкуДополнительногоСвойстваТипаБулево(СтруктураШапкиДокумента.Ссылка, ДополнительноеСвойство);

КонецЕсли;

СтруктураШапкиДокумента.Вставить(«ОтражатьВНалоговомУчетеУСНДоходы», Отражать_в_УСН);
// ————————— центр(-)——————————

Проверка функционирования: 

— По организации, применяющей упрощенную систему налогообложения, провести любой документ «Поступление на расчетный счет».

— После проведения, у организации появился дополнительный реквизит «Особый порядок УСН» (см. рис. 2). Установим галочку

— У документа «Поступление на расчетный счет» появился дополнительный реквизит «Отражать в УСН» (см. рис.3). Его пока не устанавливаем.

— еще раз перепроведем выбранный документ «Поступление на расчетный счет». При этом, записи в книгу доходов не производится (см. рис 4)

— Если у документа установить флаг дополнительного реквизита «Отражать в УСН» (см. рис 5) и перепровести документ, то происходит запись в регистр учета УСН. (см. рис 6)

Таким образом, задача решена с минимальными трудозатратами 

 

 


4 Comments

  1. mcher

    Спасибо!

    Reply
  2. Sunhare

    Спасибо.

    Reply
  3. Ola_z

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

    Reply
  4. director04

    (3) Да, в ЗУП мы их тоже активно используем.

    Reply

Leave a Comment

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