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

30.11.11

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Работа с дополнительными характеристиками
.cf 9,89Kb
69
69 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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


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

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

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

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

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

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


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

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

КонецЕсли;

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

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

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

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

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

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

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

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



 

 


См. также

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

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

12000 руб.

02.09.2020    172188    964    403    

925

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

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

8400 руб.

20.08.2024    14730    108    46    

108

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    17372    43    15    

75

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

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

9360 руб.

17.05.2024    27406    96    48    

139

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

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

15000 руб.

10.11.2023    11971    45    33    

67

SALE! %

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

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

4800 3840 руб.

14.01.2013    191400    1153    0    

920

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18123    7    32    

42

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1161    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 3660 16.12.11 08:42 Сейчас в теме
(3) Да, в ЗУП мы их тоже активно используем.
5. пользователь 09.01.12 21:54
Сообщение было скрыто модератором.
...
Оставьте свое сообщение