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

30.11.11

Разработка - Инструментарий разработчика

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Работа с дополнительными характеристиками
.cf 9,89Kb
69 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

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

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

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

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

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

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

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

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

//-------------------  

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

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

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

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

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

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

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

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

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

 

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

 

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

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


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

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

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

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

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

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


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

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

КонецЕсли;

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

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

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

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

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

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

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

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



 

 


Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    66483    351    163    

307

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    256851    1421    421    

1161

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    37738    100    46    

120

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

15250 руб.

25.08.2025    52883    106    29    

119

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    24923    92    44    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3281    12    1    

14

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    52415    181    63    

214
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. mcher 08.12.11 04:20 Сейчас в теме
2. Sunhare 4 08.12.11 17:27 Сейчас в теме
3. Ola_z 16.12.11 08:07 Сейчас в теме
Спасибо за статью. Дополнительные свойства и категории очень пригодятся в программах по зарплате и кадром. Если у сотрудников задавать различные свойства, то можно получать различные отчеты, по любым дщанным.
4. director04 3665 16.12.11 08:42 Сейчас в теме
(3) Да, в ЗУП мы их тоже активно используем.
5. пользователь 09.01.12 21:54
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация