Методика доработки конфигурации без снятия с замка (добавление реквизитов для справочников и документов)

Опубликовал And Dna (AnddnA) в раздел Печать - Пакетная печать

Методика доработки конфигурации без снятия с замка (добавление реквизитов для справочников и документов)

В данной статье мы рассмотрим механизм добавления реквизитов справочников путем добавления реквизитов в конфигураторе и альтернативный ему способ (наиболее полно реализованный в современных конфигурациях на основе управляемых форм (УНФ, УТ 11, БУХ 3.0)) – добавление реквизитов в пользовательском режиме через «Дополнительные реквизиты и свойства» (синонимы - «Наборы дополнительных реквизитов и сведений» / «Наборы свойств»).

На примере УНФ 1.4.  добавим реквизит «БизнесРегион» для справочника «ДоговорыКонтрагентов».

В первом варианте нам необходимо в конфигураторе в справочник «ДоговорыКонтрагентов» добавить реквизит «БизнесРегион» (плюс при необходимости создать сам справочник «БизнесРегион»)

Во втором варианте в пользовательском режиме добавляем дополнительное свойство для справочника «ДоговорыКонтрагентов». Для того чтобы такая возможность стала возможной необходимо включить механизм «дополнительных реквизитов и сведений» ,- для УНФ это делается «Администрирование» -> «Настройки» -> «Сервисные настройки» -> флажок «Использовать дополнительные реквизиты и сведения». Само добавление реквизитов делается «Администрирование» -> «Наборы дополнительных реквизитов и сведений» – в подборе можно создать новое свойство или выбрать существующее (в нашем случае мы будем привязывать его к справочнику «ДоговорыКонтрагентов»).

На рис. представлен результат работы обоих вариантов.

 Итого, для пользователя разница минимальна. Стоит упомянуть, что во втором случае кроме того, что совершенно не «тревожится» конфигурация, реквизит будет подхвачен отчетами на СКД (необходимая связь в последних релизах уже включена («Характеристики»))

Теперь посмотрим, как обращаться к созданным реквизитам для обоих случаев.

Первый вариант – обычное получение реквизита от договора:

      "ВЫБРАТЬ

      |               РасходнаяНакладная.Договор.БизнесРегион КАК БизнесРегион,

      |               РасходнаяНакладная.Договор,

      |               РасходнаяНакладная.Ссылка,

      |               РасходнаяНакладная.СуммаДокумента КАК СуммаДокумента,

      |               РасходнаяНакладная.Организация,

      |               РасходнаяНакладная.Проведен

      |ИЗ

      |               Документ.РасходнаяНакладная КАК РасходнаяНакладная

      |ГДЕ

      |               РасходнаяНакладная.Заказ.ДатаОтгрузки = &ДатаОтгрузки

      |               И РасходнаяНакладная.Заказ.Дата МЕЖДУ &НачДата И &КонДата

      |               И РасходнаяНакладная.ПометкаУдаления = ЛОЖЬ

      |

      |УПОРЯДОЧИТЬ ПО

      |               БизнесРегион,

      |               РасходнаяНакладная.Контрагент,

      |               РасходнаяНакладная.Договор

      |ИТОГИ

      |               СУММА(СуммаДокумента)

      |ПО

      |               БизнесРегион";

 

Во втором варианте мы соединимся с табличной частью справочника «ДоговорыКонтрагентов»  - «ДополнительныеРеквизиты»  (где физически находится созданный нами в пользовательском режиме реквизит «БизнесРегион»)

 

      "ВЫБРАТЬ

     |               РасходнаяНакладная.Контрагент,

      |               РасходнаяНакладная.Договор,

      |               РасходнаяНакладная.Ссылка,

      |               РасходнаяНакладная.СуммаДокумента КАК СуммаДокумента,

      |               РасходнаяНакладная.Организация,

      |               РасходнаяНакладная.Проведен

      |ПОМЕСТИТЬ ВТ

      |ИЗ

      |               Документ.РасходнаяНакладная КАК РасходнаяНакладная

      |ГДЕ

      |               РасходнаяНакладная.Заказ.ДатаОтгрузки = &ДатаОтгрузки

      |               И РасходнаяНакладная.Заказ.Дата МЕЖДУ &НачДата И &КонДата

      |               И РасходнаяНакладная.ПометкаУдаления = ЛОЖЬ

      |;

      |

      |////////////////////////////////////////////////////////////////////////////////

      |ВЫБРАТЬ

      |               ДоговорыКонтрагентовДополнительныеРеквизиты.Свойство,

      |               ДоговорыКонтрагентовДополнительныеРеквизиты.Значение КАК ДоговорБизнесРегион,

      |               ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка КАК Договор

      |ПОМЕСТИТЬ ВТ_БизнесРегион

      |ИЗ

    |               Справочник.ДоговорыКонтрагентов.ДополнительныеРеквизиты КАК ДоговорыКонтрагентовДополнительныеРеквизиты

      |ГДЕ

      |               ДоговорыКонтрагентовДополнительныеРеквизиты.Ссылка В

      |  (ВЫБРАТЬ  ВТ.Договор  ИЗ  ВТ КАК ВТ)

      |               И ДоговорыКонтрагентовДополнительныеРеквизиты.Свойство.Наименование = ""БизнесРегион""

      |;

      |

      |////////////////////////////////////////////////////////////////////////////////

      |ВЫБРАТЬ

      |               ВТ.Контрагент,

      |               ВТ.Договор,

      |               ВТ.Ссылка,

      |               ВТ.СуммаДокумента КАК СуммаДокумента,

      |               ВТ.Организация,

      |               ВТ.Проведен,

      |               ВТ_БизнесРегион.ДоговорБизнесРегион, КАК ДоговорБизнесРегион

      |ИЗ

      |               ВТ КАК ВТ

      |                               ЛЕВОЕ СОЕДИНЕНИЕ ВТ_БизнесРегион КАК ВТ_БизнесРегион

      |                               ПО ВТ.Договор = ВТ_БизнесРегион.Договор

      |

      |УПОРЯДОЧИТЬ ПО

      |               ВТ_БизнесРегион.ДоговорБизнесРегион,

      |               ВТ.Контрагент,

      |               ВТ.Договор

      |ИТОГИ

      |               СУММА(СуммаДокумента)

      |ПО

      |               ДоговорБизнесРегион";

 

Итого, для программиста тоже разница минимальна. Как говорится «а если нет разницы, зачем …» снимать конфигурацию с замка ?

 

PS: в приложении приводится внешняя обработка (пакетная печать накладных) реализующая указанный функционал (используется несколько реквизитов)

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

Наименование Файл Версия Размер
ПакетнаяПечатьНакладных.epf
.epf 18,27Kb
14.12.12
49
.epf 18,27Kb 49 Скачать
Методика доработки конфигурации без снятия с замка.doc
.doc 83,00Kb
14.12.12
21
.doc 83,00Kb 21 Скачать
рис 1.JPG
.JPG 40,98Kb
14.12.12
9
.JPG 40,98Kb 9 Скачать

См. также

Комментарии
1. Евгений Сосна (pumbaE) 527 14.12.12 19:35 Сейчас в теме
Добавленный реквизит в конфигурацию, тоже не сильно влияет на обновление.

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

Имхо: свойствами можно баловаться, когда четко знаем, что будут в основном в отчетах использоваться, как дополнительный уровень аналитики.
portal_orsk; +1 Ответить 1
2. Алексей 1 (AlX0id) 14.12.12 20:55 Сейчас в теме
(1) pumbaE,
Дополнительный реквизит, может, и не влияет на обновление.. Но форму-то надо будет для него поменять. А вот это уже повлияет и не слабо.

А касательно самой публикации - называть "доработкой" использование типовых механизмов.. как минимум странно.
Soikalv; Трактор; +2 Ответить 1
3. Сергей (seermak) 656 15.12.12 20:47 Сейчас в теме
и как же теперь использовать механизм Дополнительных реквизитов и сведений?!))) он уже настроен и под замком.....
4. And Dna (AnddnA) 52 15.12.12 21:46 Сейчас в теме
Специфика этой таблицы в том и состоит, что ее содержимое выводится на управляемую форму как псевдо реквизит.
Ее не нужно править вручную. Значения добавляются при добавлении свойств к объекту.

При проведении тоже никто не мешает использовать подобные псевдо реквизиты - особенно если делать это в подписках на события.
5. Дмитрий Утенков (automatizator) 191 20.12.12 14:29 Сейчас в теме
Мануал по использованию доп реквизитов с неожиданным заголовком )))))
Трактор; +1 Ответить
6. Павел Парамонов (anchovy) 3 26.12.12 17:57 Сейчас в теме
Необходимо добавить, что при использовании отборов в отчетах в момент выбора значения для отбора вы увидите громадный список справочника, хранящего значения доп.реквизитов. ИМХО кривое решение от 1С, не достойное того, чтобы писать о нем статьи.
7. Александр Лагунов (kit) 62 05.02.13 20:45 Сейчас в теме
А мне доп. реквизиты часто помогают при несложных внедрениях. Конфа остается типовой, а дополнительная информация, необходимая пользователям, работает на их благо.
8. Аркадий Кучер (Abadonna) 3667 10.05.13 15:35 Сейчас в теме
(2)
Дополнительный реквизит, может, и не влияет на обновление.. Но форму-то надо будет для него поменять.

А ни фига не повлияет, если реквизиты садить на форму программно-динамически. Одну только строчку в общ. модуле добавить. Я таким образом в БП прицепил свою систему бюджетирования. Одна или, максимум, две строчки в стандартке изменены. А доп реквизиты сидели программно на ПКО, РКО, Платежках входящих/исходящих... еще где-то...
Оставьте свое сообщение