Тема: Конкурентная работа с шаблоном отчёта
Как мне пояснили в теме, где за сутки никто из виалона не ответил (https://forum.gurtam.com/viewtopic.php?id=17454), чтобы построить отчёт по геозонам, мне нужно сначала их указать в шаблоне. И действительно, при интерактивном добавлении таблицы "Геозоны" в отчёт кнопка "Ок" недоступна, пока не укажешь конкретные геозоны. Похоже, это всё, что может предоставить апи виалона.
Теперь задача: нужно по каждому путевому листу получить события входа в / выхода из геозон путевого листа.
Поскольку список геозон каждый раз разный и этих списков по нескольку сотен на дню, то сохранить один шаблон отчёта с нужными геозонами невозможно. Получается, нужно программно каждый раз устанавливать список геозон, которые нас интересуют, в шаблоне, а затем сохранять и выполнять этот шаблон.
Последовательность действий:
1) Получаем шаблон отчёта.
2) Получаем из учётной системы айдишники нужных нам геозон.
3) Устанавливаем в шаблон отчёта айдишники. Записываем шаблон.
4) Выполняем шаблон отчёта.
Казалось бы, всё хорошо, сколько лет уже с этим работают, но тут опять возникаю я со своими десятками пользователей виалона, которые работают одновременно и обрисовываю следующую проблему:
Два пользователя в разных предприятиях нажимают кнопку "получить данные виалон" в путевых листах.
1) Пользователь ИМИ задал в шаблоне отчёта геозоны ИМИ.
2) Сотыми долями секунды позже пользователь АФЧ задал в шаблоне отчёта геозоны АФЧ.
3) Пользователь ИМИ выполнил отчёт и получил данные... АФЧ.
Поскольку мы имеем одну общую сущность - шаблон отчёта - и мы каждый раз чтобы выполнить должны его а) адаптировать под свой список геозон и б) записать в виалон, то возникает проблема конкурентной работы пользователей с этой сущностью.
Как у вас решается подобная проблема? Можно ли как-то не сохранять шаблон, а только получить его, установить свой список геозон и как-то передать на выполнение? Чтобы без записи к вам обратно.