Доброго времени суток.
Пытаюсь решить близкую задачу, также все начиналось с указанного примера.
Формирую динамический список из элементов приложения у которого несколько полей также являются приложения.
Приведу часть скрипта для понимания
Спойлер: Код
const itemslist = await Namespace.app.sluzhebnye_zapiski_kassa.search().size(10000).all();
for(const item of itemslist){
if(!item.data.__deletedAt){
if(item.data.__status?.name == "Согласована"){
const row = Context.data.spisok_zayavok.insert();
row.naimenovanie = item.data.__name;
row.ssylka = item;
if(!item.data.summa){
row.summa_1 = 0;
}else{
row.summa_1 = item.data.summa.cents/100;
}
if(!item.data.tema){
row.predmet_zayavki = String("Пусто");
}else{
row.predmet_zayavki = item.data.tema;
}
if(!item.data.ssylka){
row.ssylka_tekst = String("Пусто");
}else{
row.ssylka_tekst = item.data.ssylka;
}
}
if(item.data.__status?.name == "Утверждена"){
const row = Context.data.zayavki_na_ispolnenii.insert();
row.naimenovanie = item.data.__name;
row.ssylka = item;
if(!item.data.summa){
row.summa = new Money(0, 'RUB');
}else{
row.summa = item.data.summa;
}
if(!item.data.tema){
row.predmet_zayavki = String("Пусто");
}else{
row.predmet_zayavki = item.data.tema;
}
}
}
}
Context.data.spisok_zayavok = Context.data.spisok_zayavok;
Context.data.zayavki_na_ispolnenii = Context.data.zayavki_na_ispolnenii;
}
Есть несколько затруднений:
1. Не понимаю как получить значение поля являющегося приложением, как я понял из описания - если полем является приложение, то оно содержит ссылку на это приложение. Чтобы получить объект использую fetch()
row.napravlenie = item.data.napravlenie.fetch(); получилось чтото не понятное
row.napravlenie = item.fields.napravlenie.name; и
row.napravlenie = item.fields.napravlenie.app.name; возвращает название приложения
пробовал варианты стобцов и текстовый и приложение, но ожидаемого результата так и не получил, уже несколько дней туплю над этой задачей
2. Еще была мысль сделать как в связанной таблице чтобы те поля кв которых используются приложениями, работали как ссылки на элементы приложений (например тоже поле Направление которое является приложением, при нажатии открывало окно с соответствующим элементом приложения Направление).
Решил начать с малого и реализовать чтобы хотябы по нажатию на кнопку привязанную к строке динамического списка открывался элемент приложения из которого и формируется динамический список.
Реализовывать решил через ссылки, по примеру вот ТУТ даже удалось сформировать ссылку,
Спойлер: Код
let baseLink = Application.params.data.url;
let NS = Context.data.sluzhebnye_zapiski_kassa!.namespace;
let MyCode = Context.data.sluzhebnye_zapiski_kassa!.code;
let MyId = Context.data.sluzhebnye_zapiski_kassa!.id;
let createLink = baseLink + '/(p:item/' + NS + '/' + MyCode + '/'+ MyId+ ')';
Context.data.ssylka = createLink;
но она не работает.
Может я в обоих вопросах вообще не тем путем иду и есть гораздо более простой, подскажите пожалуйста