|
Ошибка скрипта Frontol 6 | ☑ | ||
|---|---|---|---|---|
|
0
Admin_Net_1C
26.02.19
✎
12:39
|
Добрый день народ.
Вопрос знатокам Frontol 6: при вызове функции frontol.currentDocument.addPosition("Code", arAddCodePositions[idArr], 0, position.quantity, 0, true); внутри события afterAddPosition получаю ошибку: "Вызов addPosition в контексте данного события не поддерживается!". Суть задачи: необходимо программно добавить товар при добавлении в чек кассиром определенного товара. Пните в нужном направлении плиз. |
|||
|
1
Admin_Net_1C
26.02.19
✎
14:24
|
Победил с помощью техподдержки АТОЛ )
Если кому интересно, итоговый скрипт ниже: // функция init() является основной и служит для привязки событий к обработчикам function init() { //установка обработчика для события, срабатывающего после открытия документа frontol.addEventListener("openDocument", "afterOpenDocument", false); //установка обработчика для события, срабатывающего перед закрытием документа frontol.addEventListener("closeDocument", "beforeCloseDocument", true); } function afterOpenDocument() { if (frontol.currentDocument.type.code == 1) { frontol.addEventListener("addPosition", "MyAddPosition", false); } } function contains(arr, elem) { for (var i = 0; i < arr.length; i++) { if (arr[i] === elem) { return i; } } return -1; } function MyAddPosition(position) { //ВНИМАНИЕ! Количество элементов массивов должно совпадать! var arSearchArtikuls = ["111","333","555"]; //массив АРТИКУЛОВ товаров, при ручном добавлении в чек которых, нужно автоматически добавлять товар (из массива arAddCodePositions) var arAddCodePositions = [1944, 1948, 1944]; //массив КОДОВ товаров, которые нужно автоматически добавлять в чек при ручном добавлении товара (из массива arSearchArtikuls) idArr = contains(arSearchArtikuls,position.ware.mark); if (idArr != -1) { frontol.currentDocument.addPosition("Code", arAddCodePositions[idArr], 0, position.quantity, 0, true); } } // функция afterCloseDocument() служит для отмены привязки событий к обработчикам function beforeCloseDocument() { //убираем обработчик для события, срабатывающего после добавления позиции frontol.removeEventListener("addPosition", "afterAddPosition", true); //убираем обработчик для события, срабатывающего после закрытия документа frontol.removeEventListener("closeDocument", "beforeCloseDocument", true); } |
| Форум | Правила | Описание | Секции | Поиск |