Для настройки переноса данных из одних объектов в другие требуется определить, из каких реквизитов объекта-источника брать данные для заполнения объекта-приемника. Это общее требование. На практике же не всегда нужно переносить абсолютно все данные из источника в приемник. Также не всегда в источнике содержатся все данные, необходимые для того, чтобы охарактеризовать объект-приемник.
Таким образом, для настройки трансляции данных указываются объект-приемник и объект-источник трансляции. Далее с помощью механизма Редактор формул задаются следующие правила:
1.Откуда из источника брать данные для заполнения реквизитов приемника.
2.Откуда брать те данные, которые не содержатся в явном виде в объекте-источнике, и которые, однако, необходимы для заполнения реквизитов объекта-приемника.
В системе подобные настройки задаются на форме таблиц следующего формата:
Реквизит приемника |
Формула |
Каждая строка подобных таблиц называется Установщиком реквизита (или просто Установщиком), а сами таблицы называются Таблицами установщиков. Элементы установщиков будут подробно объяснены ниже.
До этого момента настройка переноса данных аналогична той, что производится средствами автоформирований. Отличие заключается только разве что в том, что при настройке формирования, где в качестве приемника указан регистр бухгалтерии, счета проводки указывались не вместе с настройками заполнения остальных реквизитов, а отдельно. Далее рассмотрены характеристики, которые существенно отличают механизм трансляции данных от механизма автоформирований.
Дерево условий и поток проверки
Механизм трансляции данных, как и автоформирования, поддерживает настройку условий. Однако, в отличие от автоформирований, настройка условий в трансляции намного более гибкая и удобная.
В рамках трансляции условия задаются в древовидной форме. В каждой настройке трансляции (то есть для каждой из необходимых пар Объект-источник - Объект-приемник, определяющих направление переноса данных) задается одно дерево условий, действующее для всех возможных проводок или документов, которые могут формироваться по данной настройке. В пределах такого дерева условия, общие для нескольких вариантов формирования приемника, выносятся на верхний уровень по отношению к таким вариантам. Таким образом, не нужно прописывать весь набор условий для каждой из возможных проводок (или каждого из возможных документов), которые могут формироваться по указываемой настройке: общие для нескольких вариантов условия задаются только один раз, а далее указываются только специфические. Кроме того, обеспечены удобные возможности для непосредственного построения дерева условий. Например, доступно использование механизма Drag & Drop для перетягивания элементов дерева.
Такая форма условий обрабатывается намного быстрее, потому как в случае невыполнения каких-либо из условий, сразу отпадает необходимость проверки всех подчиненных им условий. Таким образом, в зависимости от значений реквизитов источника трансляции, система динамически определяет, какие из условий стоит проверять, а какие сразу отбрасывать.
В момент совершения события, которое служит сигналом для осуществления трансляции данных (например, при проведении документа, если по документу настроена трансляция), система анализирует дерево условий. Суть такого анализа следующая: значения реквизитов источника трансляции проверяются на соответствие условиям, настроенным в дереве. Дерево условий проверяется не все сразу. Как уже отмечалось, система динамически определяет, какие из условий стоит проверять, а какие сразу отбрасывать. Такая проверка осуществляется потоком, который «обходит» дерево условий следующим образом:
1. Поток проверки входит в дерево с самого верха и начинает анализировать его, начиная с первого условия самого верхнего уровня.
2. Когда поток доходит до условия, он проверяет, выполняется ли оно. При этом:
a. | Если условие не выполняется, то поток не проходит через него (и, соответственно, не переходит к подчиненным условиям, даже если такие есть) - он сразу переходит к следующему условию в пределах общего родителя. Примечание: для условий, находящихся на самом высоком уровне иерархии, родителем является мнимый элемент «Дерево условий». Мнимым мы его называем потому, что он не настраивается – такой элемент всегда присутствует в дереве как корневой и служит только для определения родителя условий самого верхнего уровня. |
b. | Если условие выполняется, но у него нет подчиненных условий, то поток проходит через такое условие, после чего сразу переходит к следующему условию в пределах общего родителя. |
c. | Если условие выполняется, и у него есть подчиненные условия, то поток проходит через него и опускается по ветке на уровень ниже – к условиям, подчиненным выполненному. Далее согласно 2.а, 2.b и 2.c, до тех пор, пока: |
3. Когда поток проверил в пределах одного родителя все условия, причем эти условия не имеют подчиненных (такая ситуация всегда рано или поздно возникает при «спуске» потоком по ветке, потому как бесконечной ветка быть не может), он поднимается на уровень выше:
a. | Если на уровне выше есть необработанные условия, то поток переходит к следующему из них. Условие обрабатывается согласно пункту 2. |
a. | Если же на уровне выше не осталось более необработанных условий, то поток переходит еще на уровень выше и снова ищет непроверенные условия. И так до тех пор, пока не выйдет на самый верхний уровень иерархии, после чего он переходит к следующему условию этого же уровня (в пределах родителя Дерево условий), которое обрабатывает согласно пункту 2. |
4. Обход дерева условий заканчивается, если при попытке перейти на следующее условие самого верхнего уровня оказывается, что таких условий больше нет. Примечание: мнимый элемент Дерево условий за уровень иерархии не считается.
Виды элементов дерева условий
Дерево условий может содержать следующие элементы:
• | Условие – используется, когда по реквизиту источника условие можно задать «одной строкой» (то есть, для настройки единичного условия, в котором значение реквизита источника проверяется на соответствие одному сравниваемому значению). |
• | В случаях, когда значение реквизита источника нужно сопоставлять при помощи одного типа сравнения с разными сравниваемыми значениями (сравниваемых значений более одного), для оптимальной производительности трансляций, а также удобства настройки, рекомендуется использовать второй вид элемента – Выбор. Этот вид условия как бы «объединяет» в себе однотипные условия, причем общая часть таких условий вынесена отдельно. |
Каждая из частей, где указывается сравниваемое значение, называется Вариантом заданного Выбора.Варианты могут быть простыми, когда содержат только одно сравниваемое значение, а могут быть и сложными, когда содержат целый список сравниваемых значений. Сложные варианты удобно использовать для замены перечня простых вариантов, у которых планируется одинаковый выход. Примечание: Использование сложного варианта никак не отменяет возможности параллельного использования простых вариантов.
Кроме того, элемент Выбор позволяет настраивать две необязательные конструкции Иначе и Тогда:
• | после того, как поток проходит через один из Вариантов Выбора, он переходит к конструкции Тогда - проходит через нее (а также опускается к подчиненным элементам, если такие есть). Таким образом, общие для всех вариантов выбора подчиненные элементы (если такие планируется использовать) удобно один раз настроить под конструкцией Тогда, чем прописывать под каждым вариантом. Тогда - элемент не обязательный, то есть по мере необходимости может настраиваться, либо не настраиваться в Выборе. |
• | Если ни один из вариантов выбора не выполнился, то поток проходит через конструкцию Иначе. При этом, если Иначе имеет подчиненные элементы, то поток переходит к ним (то есть, опускается вниз по ветке, которая является продолжением конструкции). Иначе - элемент не обязательный, то есть по мере необходимости может настраиваться, либо не настраиваться в элементе Выбор. |
• | Блок условий – особая конструкция, используемая для настройки набора условий. Особенность подобных условий заключается в том, что, если какое-то из них и выполняется, то остальные условия просто не проверяются и поток не проходит через них. Кроме того, блок условий проверяет условия только первого уровня. |
Принцип функционирования блока условий следующий:
• | поток при прохождении блока последовательно проверяет каждое из условий, |
• | при первом же выполнении условия, остальные условия уже не проверяются, |
• | при выполнении условия поток проходит через него. При этом, если условие имеет подчиненные элементы, то поток переходит к ним (то есть, опускается вниз по ветке, которая является продолжением условия), |
• | после того как поток проходит через выполненное условие (а если оно имеет подчиненные элементы, то и через продленную условием ветку), поток переходит к конструкции Тогда - проходит через нее (а также опускается к подчиненным элементам, если такие есть). Таким образом, общие для всех условий блока подчиненные элементы (если такие планируется использовать) удобно один раз настроить под конструкцией Тогда, чем прописывать под каждым из условий. Тогда - элемент не обязательный, то есть по мере необходимости может настраиваться, либо не настраиваться в блоке условий. |
• | если ни одно из условий блока не выполнилось, то поток проходит через конструкцию Иначе. При этом, если Иначе имеет подчиненные элементы, то поток переходит к ним (то есть, опускается вниз по ветке, которая является продолжением конструкции). Иначе - элемент не обязательный, то есть по мере необходимости может настраиваться, либо не настраиваться в блоке условий. |
Как видно, принцип работы конструкций Иначе и Тогда аналогичен таким же конструкциям в элементе Выбор. Только в Выборе речь идет о его Вариантах, а для Блока условий - об Условиях блока.
• | По умолчанию – элемент, который всегда пропускает через себя поток. Другими словами, данная конструкция безусловная, то есть не подразумевает выполнение никаких условий. |
• | Выполнение – элемент, при прохождении потоком через который формируется объект-приемник трансляции. Если приемник трансляции – регистр бухгалтерии, то при прохождении через Выполнение сформируется проводка, если приемник – документ, то сформируется документ. Если в дереве условий поместить несколько элементов вида Выполнение, то, в случае прохождения потоком через них, сформируется несколько объектов-приемников. На элемент Выполнение условия не задаются. Выполнится ли трансляция или нет, зависит от настроенных условий, через которые поток должен пройти, перед тем как достигнуть Выполнения. Примечание: когда в качестве приемника трансляции выбран типовой документ, в настройках элемента Выполнение можно указать реквизит документа-источника, подходящий по типу данных (например, если приемник формирования – Платежное поручение исходящее, то реквизит должен иметь тип Платежное поручение исходящее), чтобы при проведении документа-источника этот его реквизит заполнялся ссылкой на документ-приемник. Тогда из источника можно будет сразу открывать сформированный по нему документ-приемник. Также в этом случае при удалении документа-источника будет сразу удаляться и документ-приемник. |
• | Прерывание – элемент дерева условий, при прохождении которого трансляция сразу прерывается. Может использоваться следующим образом: настраивается условие невыполнения трансляции данных, которому затем подчиняется прерывание. |
• | Отказ - этот элемент используется для проверки корректности заполнения реквизитов и выполнения сложных условий (например чтобы сумма в одной колонке превосходила бы сумму в другой колонке). Когда при обходе дерева условий трансляции встречается Отказ, то вызывается исключение, и проведение прерывается. В таком случае документ не записывается и не проводится, а пользователь получает информационное сообщение, заданное в комментарии элемента Отказ. |
• | Заполнение свойств - элемент, использующийся для заполнения дополнительных свойств объектов. |
Установщики и их взаимосвязь с элементами условий
Таблицы установщиков задаются в настройках элементов дерева условий. Таким образом, поток трансляции, проходя через элементы дерева условий, постепенно «наполняется» информацией о том, как заполнять реквизиты объекта-приемника. С точки зрения удобства настройки трансляции данных, полную настройку заполнения объекта-приемника (т.е. таблицу установщиков всех реквизитов приемника) имеет смысл настраивать частями:
• | Правила заполнения реквизитов, справедливые для всех случаев выполнения условий, которые подчинены одному родителю, рекомендуется выносить на верхний уровень по отношению к таким условиям (настраивать в том элементе, которому подчинены подобные условия). При этом отпадает необходимость настраивать общие для всех условий настройки заполнения реквизитов – они настраиваются один раз для элемента-родителя и автоматически распространяются на все подчиненные элементы. |
• | В случае выполнения описанной выше рекомендации, в подчиненных элементах остается указывать лишь те из правил заполнения реквизитов приемника, которые отличают это условие от остальных условий в пределах общего родителя (т.е., уникальные установщики этого условия). |
Таким образом, конечная таблица установщиков реквизитов объекта-приемника как бы разбивается на сколько-то таблиц отдельных элементов и затем «собирается» по ходу прохождения потоком через дерево условий.
Описание объекта
Форма настроек трансляции
Открыть форму Настройки трансляции можно следующим образом: Меню: Моделирование >> Финансы >> Трансляция >> Настройки трансляции.
Форма настроек трансляции данных состоит из нескольких окон, которые в полной степени позволяют настроить трансляцию данных и отобразить настроенные трансляции. Ниже подробно описано каждое из окон.
Главное окно настроек трансляции
o | Отбор - (левое окно). В виде дерева отображаются все виды объектов типовой и нетиповой конфигурации (документы, проформы, регистры бухгалтерии, регистры накопления, схемы данных, функции, процессы), по которым возможна настройка трансляции. Каждую папку можно раскрывать для просмотра всех объектов данного вида. |
o | Таблица трансляций - (правое верхнее окно). Отображаются все трансляции, созданные по выбранному слева объекту либо виду объектов. Если в дереве отбора выбран элемент Все виды формирований, то в данном окне будут выведены существующие трансляции по всем объектам типовой и нетиповой конфигурации 1С, с которой интегрирована система ИНТАЛЕВ: Корпоративный менеджмент. Если же по выбранному в дереве отбора объекту не настроено ни одной трансляции, то окно трансляций будет пустым. При открытии элемента данного окна появляется окно трансляции данных, содержащее расширенную информацию о данной трансляции (описание приведено ниже). |
Непосредственно над таблицей трансляций размещена панель, на которой, кроме стандартных кнопок (Действия, Добавить, Добавить копированием, Изменить текущий элемент, Установить пометку удаления, Обновить текущий список, а также кнопок отбора), содержатся и специальные кнопки, облегчающие работу пользователя с трансляцией:
□ | Установщики - при нажатии кнопки включается/отключается отображение установщиков в правой нижней части окна. Таким образом, пользователь имеет возможность видеть установщики для активного элемента дерева условий, если они нужны, и скрывать их, если в их отображении нет необходимости. |
□ | Отладка - при нажатии кнопки включается Отладчик трансляции - механизм, позволяющий пошагово выполнять трансляцию для конкретного документа и отслеживать процесс формирования движений по этому документу. |
Табличная часть содержит следующие реквизиты:
• | Наименование - выводится название трансляции. |
• | Код - указывается код настройки трансляции. |
Кроме этих значений, с помощью стандартной функции Настройка списка (появляется при правом клике мышкой в области таблицы) можно настроить отображение еще двух полей:
• | Источник - указывается объект-источник трансляции данных. В качестве источника может выступать любой объект типовой и нетиповой конфигурации (документ, проформа, регистр бухгалтерии, регистр накопления, схема данных, функция, процесс). |
• | Приемник - указывается объект-приемник трансляции данных. В качестве приемника трансляции могут выступать регистр бухгалтерии либо документ (последний только в случае указания проформы, сессии или задачи в качестве источника). |
o | Элементы дерева условий - (правое центральное окно). В древовидной форме отображается логическая схема, действующая для всех возможных проводок или документов, которые могут формироваться по данной настройке трансляции. В пределах такого дерева, условия, общие для нескольких вариантов формирования приемника, выносятся на верхний уровень по отношению к таким вариантам. К каждому при открытии элемента дерева условий появится окно этого элемента, описание которого приведено ниже. |
В верхней части окна дерева условий размещена панель, на которой, кроме стандартных кнопок (Добавить, Добавить копированием, Изменить текущий элемент, Установить пометку удаления, Переместить элемент в другую группу, Переместить вверх/Переместить вниз, Обновить текущий список, а также кнопки отбора), содержатся и специальные клавиши, которые позволяют сформировать дерево условий. Рассмотрим эти клавиши подробно:
□ | Открыть форму быстрого ввода вариантов – кнопка активна для элементов Выбор и Вариант дерева условий. При нажатии открывается форма быстрого ввода вариантов, описание которой приведено ниже. |
□ | Упорядочить варианты по возрастанию – кнопка активна только для элемента Вариант. При нажатии все варианты Выбора, к которому относится текущий Вариант, будут отсортированы по возрастанию значений сравнения. |
□ | Упорядочить варианты по убыванию - кнопка активна только для элемента Вариант. При нажатии все варианты Выбора, к которому относится текущий Вариант, будут отсортированы по убыванию значений сравнения. |
□ | Заменить Дт на Кт и наоборот - с помощью этой кнопки можно заменить реквизиты дебета по всей иерархии выбранной ветки на реквизиты кредита, и наоборот. Сразу после нажатия на кнопку пользователю выдается предупреждение о действиях, которые будут выполнены, и только после его согласия будет произведена замена реквизитов. |
Описанные ниже клавиши панели позволяют добавлять различные элементы в дерево условий. Каждый новый элемент добавляется как дочерний к активному элементу дерева.
□ | Добавить условие – при нажатии кнопки в дерево условий будет добавлено новое единичное Условие, в котором значение реквизита источника проверяется на соответствие одному сравниваемому значению. |
□ | Добавить Выбор – при нажатии в дерево условий будет добавлен элемент Выбор - элемент используется в случаях, когда значение реквизита источника нужно сопоставлять при помощи одного типа сравнения с разными сравниваемыми значениями (сравниваемых значений более одного). Этот вид условия как бы «объединяет» в себе однотипные условия, причем общая часть таких условий вынесена отдельно. |
□ | Добавить Вариант – при нажатии кнопки в дерево условий будет добавлен элемент Вариант – часть элемента Выбор, где указывается сравниваемое значение. Варианты могут быть простыми, когда содержат только одно сравниваемое значение, а могут быть и сложными, когда содержат целый список сравниваемых значений. Сложные варианты удобно использовать для замены перечня простых вариантов, у которых планируется одинаковый выход. |
□ | Добавить Блок условий – при нажатии кнопки в дерево будет добавлен Блок условий - конструкция, используемая для настройки набора условий. Особенность подобных условий заключается в том, что, если какое-то из них выполняется, то остальные условия просто не проверяются и поток не проходит через них. |
□ | Добавить конструкцию Иначе – кнопка активна, если текущим элементом дерева является Блок условий или Выбор, которые не содержат конструкцию Иначе. При нажатии в текущий элемент (Блок условий или Выбор) будет добавлена конструкция Иначе. Поток проходит через эту конструкцию, если не выполнилось ни одно из условий Блока условий, или не сработал ни один из Вариантов Выбора. Иначе - элемент не обязательный, то есть по мере необходимости может настраиваться либо не настраиваться. Один Блок условий, так же как и Выбор, может содержать только одну конструкцию Иначе, и после Иначе может размещаться только элемент Тогда. |
□ | Добавить конструкцию Тогда – кнопка активна, если текущим элементом дерева является Блок условий или Выбор, у которых еще нет Тогда. При нажатии в текущий элемент (Блок условий или Выбор) будет добавлена конструкция Тогда. После того как поток проходит через выполненное условие (а если оно имеет подчиненные элементы, то и через продленную условием ветку) или один из вариантов выбора, поток переходит к конструкции Тогда - проходит через нее (а также опускается к подчиненным элементам, если такие есть). Таким образом, общие для всех условий блока или вариантов выбора подчиненные элементы (если такие планируется использовать) удобно один раз настроить под конструкцией Тогда, чем прописывать под каждым из условий или вариантов. Тогда - элемент не обязательный, то есть по мере необходимости может настраиваться, либо не настраиваться в блоке условий. Один блок условий, как и выбор, могут содержать только одну конструкцию Тогда. Если она есть, то она всегда последняя в элементе. |
□ | Добавить элемент По умолчанию – при нажатии кнопки в дерево условий будет добавлен элемент По умолчанию, который всегда пропускает через себя поток. Другими словами, данная конструкция безусловная, то есть не подразумевает выполнение никаких условий. |
□ | Добавить Прерывание – при нажатии кнопки в дерево условий будет добавлен элемент Прерывание, при прохождении которого трансляция сразу прерывается. |
□ | Добавить Отказ – нажатием данной кнопки в дерево условий трансляции добавляется элемент Отказ. Этот элемент используется для проверки корректности заполнения реквизитов и выполнения сложных условий (например, чтобы сумма в одной колонке превосходила бы сумму в другой колонке). Когда при обходе дерева условий трансляции встречается Отказ, то вызывается исключение, и проведение прерывается. В таком случае документ не записывается и не проводится, а пользователь получает информационное сообщение, заданное в комментарии элемента Отказ. |
□ | Добавить Выполнение – при нажатии кнопки в дерево условий будет добавлен элемент Выполнение - элемент, при прохождении потоком через который формируется объект-приемник трансляции. |
□ | Добавить Заполнение свойств – при нажатии данной кнопки в дерево условий будет добавлен элемент Заполнение свойств. Когда поток проверки встречает данный элемент в дереве условий, то текущая таблица уже собранных установщиков не изменяется, а выполняется заполнение дополнительных свойств указанного в настройке элемента объекта, в соответствии с таблицей установщиков этого элемента трансляции. Подобным образом также возможно заполнять и параметры классификаторов. |
o | Таблица установщиков - (правое нижнее окно). Отображаются данные из установщиков, источником которых является выбранный в центральном окне элемент дерева условий. При открытии элемента таблицы появится окно соответствующего источника установщика (элемента дерева условий). Отображение установщиков включается/отключается нажатием кнопки Установщики на верхней панели окна настроек трансляции. |
• | N - порядковый номер установщика данных. |
• | Реквизит приемника - отображается реквизит объекта-приемника, который будет заполняться при переносе данных. Например, для проводки это может быть счет дебета, счет кредита, сумма и т.д., для документа – реквизит шапки или табличной части. |
• | Значение - отображается значение, которым заполняется реквизит приемника. В качестве этого значения могут выступать реквизит источника, фиксированное значение либо формула расчета. Подробнее об этом читайте в описании установщиков реквизитов формы элементов дерева условий. |
Форма трансляции
Форма трансляции содержит информацию о конкретной трансляции.
Форма Трансляция
o | Параметры - на вкладке отображены основные параметры трансляции. |
• | Код - код трансляции данных (то же, что и в общей таблице трансляций). |
• | Наименование - в поле выводится наименование трансляции данных (то же, что и в общей таблице трансляций). Наименование трансляции данных формируется автоматически и имеет вид : Источник трансляции -> Приемник трансляции , где Источник трансляции – установленный в поле ниже источник для трансляции данных; Приемник трансляции – установленный в поле ниже приемник трансляции данных. Однако пользователь может вручную изменить предложенное системой наименование трансляции. |
• | Источник - в поле указывается объект-источник трансляции данных. В качестве источника может выступать любой объект типовой и нетиповой конфигурации (документ, проформа, регистр бухгалтерии, регистр накопления, схема данных, функция, процесс). |
• | Приемник - в поле указывается объект-приемник трансляции данных. В качестве приемника трансляции могут выступать регистр бухгалтерии либо документ (последний только в случае указания проформы, сессии или задачи в качестве источника). |
• | Использовать таб. часть источника - опция доступна, если источником трансляции выступает объект с табличной частью. Если флажок установлен, то поток проверки будет проверять каждую строчку табличной части, то есть проходить дерево условий по каждому набору Значения реквизитов шапки + Значения реквизитов строчки № Х табличной части, где Х – номер строчки. Кроме того, если трансляция настраивается по объекту с несколькими табличными частями, то внизу появляется атрибут: |
• | Таб. часть - если объект-источник трансляции содержит несколько табличных частей, то в поле необходимо выбрать именно ту, которую нужно проверять построчно. |
• | При утверждении реестра - опция отображается в случае настройки трансляции с документа конфигурации ИНТАЛЕВ (проформа, сессия, задача, регламентный документ) на типовый документ системы 1С:Предприятие. Если флажок установлен, то заданная трансляция будет осуществляться только в случае утверждения реестра. В данном случае подразумевается, что документ-источник трансляции является заявкой ДС для одного из этапов утверждения. Важно заметить, что при настройке правил заполнения реквизитов приемника (установщиков) в данном случае в качестве реквизитов источника выступают реквизиты регистра бухгалтерии, который формирует соответствующие проводки на этапе утверждения заявки. Этим также объясняется и то, что при установке флажка При утверждении реестра исчезает флажок Использовать таб. часть источника. |
Если же флажок При утверждении реестра не устанавливать, то будет настроена обычная трансляция, которая будет заполнять реквизиты типового документа (приемника) при проведении документа-источника трансляции.
o | Описание - на вкладке можно ввести описание трансляции данных. |
Формы элементов дерева условий
При открытии любого элемента дерева условий открывается форма этого элемента. Именно здесь задаются настройки упомянутых выше таблиц установщиков. Формы элементов дерева условий похожи между собой, но имеют и некоторые отличительные особенности. Сначала объясним те компоненты, которые являются общими для всех элементов дерева условий.
• | Вид элемента - в поле указывается вид элемента дерева условий. |
• | Комментарий - в поле можно ввести комментарий для данного элемента дерева условий. |
o | Установщики - таблица содержит данные о том, откуда брать данные для заполнения реквизитов приемника и каким образом их заполнять. |
• | Реквизит приемника - в поле указывается реквизит объекта-приемника, который будет заполняться при переносе данных. Например, для проводки это может быть счет дебета, счет кредита, сумма и т.д., для документа – реквизит шапки или табличной части. |
• | Формула - в данном поле отображается формула, определяющая правило заполнения соответствующего реквизита. Формула создается с помощью механизма Редактор формул. В Редакторе формул есть возможность задавать реквизиты источника (например, если для заполнения реквизита объекта-приемника значение можно получить из реквизита источника; при этом можно настроить использование не только значений реквизитов, но и их дополнительных свойств или параметров. Например, если реквизит источника ссылается на справочник Номенклатура, то можно настроить использование как элементов справочников, так и их параметров – допустим, параметра Номенклатурная группа или Единица измерения), определенные фиксированные значения (например, если реквизит приемника всегда нужно заполнять одним и тем же значением), любые формулы расчета с использованием реквизитов источника, значений, арифметических, логических и прочих операций. |
□ | Заполнить - кнопка содержится на верхней панели таблицы Установщики. Она автоматически заполняет список реквизитов приемника всеми доступными реквизитами, облегчая пользователю работу по выбору каждого реквизита по отдельности. В случае если приемником трансляции выступает документ, то список реквизитов заполняется реквизитами шапки этого документа, во всех других случаях при нажатии на кнопку Заполнить в список реквизитов попадают все возможные реквизиты приемника (реквизиты, измерения, ресурсы), кроме субконто, так как их может оказаться слишком много, и список реквизитов будет очень громоздким. |
Описанные выше компоненты являются общими для всех элементов дерева условий. Теперь опишем дополнительные компоненты, которые содержатся лишь на формах отдельных элементов дерева условий.
• | Условие - компонент содержится на формах элементов Условие и Выбор. В полях указывается реквизит источника, для которого задается условие, вид сравнения и для элемента Условие непосредственно значение сравнения. Для элемента Выбор значения сравнения устанавливаются посредством настройки Вариантов. |
• | Вычислять на дату - компонент появляется, если в качестве реквизита источника был выбран периодический реквизит. В поле указывается дата из реквизитов источника, на которую будет вычисляться значение периодического реквизита. |
Если элемент Выбор уже содержит настроенные Варианты (даже если они помечены на удаление), то поле Условие данного элемента Выбор недоступно для редактирования.
• | Значение - компонент содержится на форме элемента Вариант дерева условий. Если установлено, то в поле справа можно установить только одно сравниваемое значение (простой вариант). |
• | Список - компонент содержится на форме элемента Вариант дерева условий. Если установлено, то в поле справа можно установить сложный вариант, то есть вариант, состоящий из целого списка сравниваемых значений. Поток пройдет через Вариант в случае выполнения заданного в соответствующем Выборе условия хотя бы для одного из значений списка. Списки удобно использовать для замены перечня простых вариантов, у которых планируется одинаковый выход. |
• | Сохранить ссылку на созданный документ в реквизите источника - компонент содержится на форме элемента Выполнение, в случае если приемником трансляции выступает Документ. В поле указывается реквизит источника, в который будет сохранена ссылка на сформированный в результате трансляции документ. |
Как видно, каждый вид элементов дерева условий имеет свою пиктограмму, которая отображается в дереве условий. Если вместо характерной для элемента пиктограммы отображается картинка , то это говорит о том, что данный элемент дерева условий не содержит необходимых данных (например, пустое Условие). Для того чтобы поток проверки заходил в эти элементы дерева, их настройки обязательно нужно исправить (о правильности настроек будет свидетельствовать изменение значка рядом с элементом на характерный для его вида значок). Иначе, поток не будет проверять неверно заданные элементы, также пользователь не будет иметь возможности добавить к ним подчиненные элементы.
Форма Элемент дерева условий (вид элемента - Условие)
Форма Элемент дерева условий (вид элемента - Выбор)
Форма Элемент дерева условий (вид элемента – Вариант для элемента Выбор)
Форма Элемент дерева условий (вид элемента – Блок условий)
Форма быстрого ввода вариантов
При нажатии кнопки открывается форма быстрого ввода вариантов. В этом окне реализуется возможность быстрого ввода вариантов для текущего (то есть активного в дереве условий на данный момент) элемента Выбор или, если текущим элементом является Вариант, дополнительных вариантов к Выбору, частью которого является текущий Вариант.
Форма Ввод вариантов
На верхней панели окна находятся стандартные кнопки редактирования, удаления текущего элемента, перемещения вниз/вверх по списку, сортировки по возрастанию/убыванию, подбора из справочника, а также некоторые специальные кнопки, такие как:
□ | Новый вариант – при нажатии кнопки будет добавлен новый Вариант для последующего выбора значения сравнения. |
□ | Новое значение сравнения – при нажатии кнопки для текущего Варианта будет добавлено новое значение сравнения. Тип предлагаемых значений соответствует типу данных, установленному в условии Выбора, для которого добавляется новый вариант. Если же для условия Выбора установлено несколько типов данных, то при добавлении значения нового варианта сначала будет предложено выбрать тип данных, а потом уже значение выбранного типа. Кроме того, система позволяет выбирать сразу несколько значений для одного варианта, то есть формировать сложный вариант. Тогда действия, задаваемые данным вариантом, выполнятся, если выполнится заданное в соответствующем Выборе условие хотя бы одно из указанных значений. |
□ | Добавить элемент "Иначе" - если флажок установлен, то, кроме настроенных в поле выше вариантов, к текущему Выбору будет добавлена конструкция Иначе (если ее еще нет) - она срабатывает тогда, когда не выполняется ни один из вариантов Выбора. |
□ | Добавить элемент "Тогда" - если флажок установлен, то, кроме настроенных в поле выше вариантов, к текущему Выбору будет добавлена конструкция Тогда (если ее еще нет). После того, как поток проходит через Выбор (то есть через один из Вариантов Выбора), он переходит к конструкции Тогда - проходит через нее (а также опускается к подчиненным элементам, если такие есть). Один Выбор может содержать только одну конструкцию Тогда. Если она есть, то она всегда последняя в Выборе. |
□ | ОК - при нажатии кнопки все настроенные в окне новые варианты будут добавлены в текущий элемент Выбор дерева условий. |
□ | Отмена - при нажатии кнопки окно быстрого ввода вариантов будет закрыто, а настройки новых вариантов для добавления будут проигнорированы. |
См. также: