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

30.11.11

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

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

Скачать файлы

Наименование Файл Версия Размер
Работа с дополнительными характеристиками
.cf 9,89Kb
69
.cf 9,89Kb 69 Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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


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

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

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

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

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

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


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

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

КонецЕсли;

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

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

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

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

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

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

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

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



 

 


См. также

SALE! 20%

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121599    670    389    

711

SALE! 25%

Infostart PrintWizard

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

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

18000 15300 руб.

06.10.2023    7260    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

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

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

10000 8000 руб.

10.11.2023    3499    11    1    

33

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177724    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99338    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18102    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28091    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23595    15    15    

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