Миграция Pos Type Gds Match Type#
Локальный скрипт модуля MCT. Используется для служебной настройки, миграции, очистки или восстановления данных, связанных с объектами модуля.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Скрипт привязан к объектам конкретного модуля и требует проверки на целевой базе. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.
Тип: JEXL-скрипт
var listNone = pgArrayToNLongList(null);
var ropListAll = sql(`
select id
from mct_docposset ds
where ds.bCanSetGoods = 1
and ds.bCanSetUnitProduct = 1
`).batchObjLoad(Mct_DocPosSetApi, "id");
for (rop : ropListAll){
Mct_DocPosSetApi.setGdsMatchTypes(rop, true, listNone);
}
var arrGds = sql(`select array_agg(gg.id) as ida from gds_goodsandservicetype gg
where smnemocode != 'MSCH'`).asSingle().ida;
var listGds = pgArrayToNLongList(arrGds);
var ropListGds = sql(`
select id
from mct_docposset ds
where ds.bCanSetGoods = 1
and coalesce(ds.bCanSetUnitProduct, 0) = 0
`).batchObjLoad(Mct_DocPosSetApi, "id");
for (rop : ropListGds){
Mct_DocPosSetApi.setGdsMatchTypes(rop, false, listGds);
}
var arrUP = sql(`select array_agg(gg.id) as ida from gds_goodsandservicetype gg
where smnemocode = 'MSCH'`).asSingle().ida;
var listUP = pgArrayToNLongList(arrUP);
var ropListUP = sql(`
select id
from mct_docposset ds
where coalesce(ds.bCanSetGoods, 0) = 0
and ds.bCanSetUnitProduct = 1
`).batchObjLoad(Mct_DocPosSetApi, "id");
for (rop : ropListUP){
Mct_DocPosSetApi.setGdsMatchTypes(rop, false, listUP);
}
var ropListNone = sql(`
select id
from mct_docposset ds
where coalesce(ds.bCanSetGoods, 0) = 0
and coalesce(ds.bCanSetUnitProduct, 0) = 0
`).batchObjLoad(Mct_DocPosSetApi, "id");
for (rop : ropListNone){
Mct_DocPosSetApi.setGdsMatchTypes(rop, false, listNone);
}
commit();