Добрый день! Можете ли подсказать, как настроить правило связывания писем с новым кастомным разделом? Добавляю такое правило, но в справочнике объектов, с которым связывается письмо, нет нового раздела https://yadi.sk/i/iPk-ef86wkGxt
Список объектов формируется методом setDestinationSchemaList (схема RuleRelationLookupEditPageV2). Видимо не хватает записей в таблице RuleRelationSections.
В реестре сущности1 нажимаю: Связать с новой сущностью2. Открываю окно создание сущности2 с Self.Attributes('Сущность1ID'). Не могу понять как пробросить Self.Attributes('Сущность1ID') на DataSet, в событие AfterPost нет доступа к Attributes('Сущность1ID') окна. На событиях самого окна, то запись еще не создана, то dlData уже закрыто и информация о присвоенном ID сужности2 потеряна. Вопрос, как при создание новой записи считать атрибут открытого окна и связать создаваемую запись с другой произвольной записью?
Ответ:
function btnOKOnClick(Control) {
тут dlData.Dataset('ID') доступно, сохраняем ID, оно генерится заранее
scr_BaseDBEdit.btnOKOnClick(Control);
тут dlData.Dataset('ID') уже не доступно, запись создана, можно связывать с Self.Attributes('Сущность1ID')
Я так понял у вас есть сущность1, есть сущность2, в которой есть привязка к сущность1.
Или уже вас есть сущность1, сущность2, и еще таблица, которая их связывает?
Воспользуйтесь функцией открытия окна редактирования:
function CreateNewRecordButton_onClick(Control){
var ID1 = grdData.SelectedIDs;
var Attributes =new Dictionary();
var DefaultValues =new Dictionary();
DefaultValues.Add('ID1', ID1);
ShowEditWindowEx('wnd_MyWindow', Attributes, DefaultValues);}
В этом скрипте массив DefaultValues - массив для инициализации полей датасета открываемой карточки значениями по умолчанию.
Attributes.Add('RecordID', someID) - нужен в том случае, если нужно не создать, а открыть уже существующую запись.