#0
by mirajen
Добрый день! Подскажите, как программно определить, что в текущий момент выполняется обмен данными (под другим пользователем)? Столкнулись с проблемой - если в момент пробития чека идет автообмен (конфигурация Розница 1, база в магазине файловая, автообмен настроен по расписанию под пользователем Автообмен), то периодически возникают либо проблемы с пробитием чека на ФР, либо при создании чека в базе.
#1
by hawksib
ну, наверно, если пользователь в базе, значит идёт обмен, перед событием проверяй в базе ли пользователь, в активные пользователи программно заглянуть не знаю как, но думаю, что можно
#2
by Hans
программно ты ни как не определишь если это не прописано. В начале обмена в регистре прописать установку флага, в конце обмена снять флаг. Все равно не поможет, не будет же клиент ждать когда обмен кончится.
#4
by mirajen
т.е. готовых типовых переменных для этого не предусмотрено. регистр, да, нужно будет попробовать..))) а так обмен у нас недолго идет, проще клиента будет уговорить минутку подождать, чем потом 10 минут разбираться, что с чеком, и как быть дальше)
#5
by hawksib
можно ещё писать не в регистр, а в файл на жестком диске, если так хочешь реализовать, грубо говоря: файл есть - обмен идет, файла нет - обмен не идёт. т.е. сделать чтобы при начале обмена создавался файл, который будет блокировать работу некоторых процедур, делать, конечно, придётся всё программно
#7
by lea_220400
нужно больше данных: как организован обмен, какой транспорт (ftp, web-сервис и т.д.) много ли переделывали в части работы с чеком и метаданными, которые он изменяет при записи/проведении/обмене.
#8
by Бригада бронепоезда
ВыполняетсяОбмен = МоерегламентноеЗадание.ПоследнееЗадание.Состояние = состояниеФоновогоЗадания.Активно
#9
by mirajen
или так. нужно подумать как удобнее сделать) обмен под пользователем Автообмен, по времени, каждые 20 минут, выгрузка в файл на ФТП. С чеком ничего не делали. не очень поняла. и разве запуск автообмена по расписанию в моем случае это будет фоновым заданием?
#10
by lea_220400
для серверной БД - 100% фоновое, на файловой не помню точно, там обработчиком ожидания сделан запуск если указана константа - интервал опроса выполнения рег заданий для файловой бд. там указывается количество секунд: если не 0, то тогда выполняются hut задания преднастроенные.
#13
by hawksib
если делать как то меньше изменений в конфе, а по моему субъективному мнению это более хорошо
#14
by lea_220400
зачем делать метаданные новые только чтобы определить запущен ли обмен? Нужно подходить к вопросу чуть шире, т.к. цель стоит совершенно другая: нужно сделать так, чтобы чеки печатались и не было блокировок. Для такой цели совершенно другие процессы необходимо затронуть и программировать придется не мало, т.к. если говорим про розницу - костыль не подойдет, а вдруг у Ирины тьма магазинов в сети и каждый случай уникален? и процесс с определением рег задания - не подойдет, а вдруг там их тьма? там есть реально тьма заданий. Вот сел к примеру маркетолог и нафигачил акцию с периодичным периодом обновления сегмента товаров = + одно рег задание и таких вещей много. надо подумать над архитекутрой и мыслей много. вот к примеру какие метаданные стоят на обмене - опрелить можно, можно понять время, когда пакеты будут улетать в центральный узел из почки. можно опереться на это. или сделать к примеру запись в файл - определенного чека, ведь в Рознице они пишутся в файлы ) в случае вылета в дамп БД, даже в серверной БД они пишутся в файл. Но блокировать запись/печать/проведение чека на программном уровне нельзя: а вдруг ftp недоступен?, проблемы в сети магазина и т.д. то можем словить ситуацию, что на кассе стоит покупатель и режим РМК на пробитии поймал "зайца" и все. Нужно подумать и придумать архитектуру и ее запрограммировать.
#16
by mirajen
".. ведь в Рознице они пишутся в файлы " - не очень поняла о чем вы, разве при штатном режиме работы 1С пишет чеки в файл? (про дамп при падении точно не знаю, весьма возможно) Про жесткие блокировки речи и не идет - была идея выдавать предупреждение о том, что сейчас идет обмен, возможны проблемы.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- А можно создать программно новый объект метаданных?
- Как программно определить длину реквизита, задаваемую в конфигураторе?
- Как программно определить, что 1С запущена в монопольном режиме?
- Как программно определить место вызова функции?
- Как программно определить есть ли субконто данного типа у проводки?
- Как программно определить какая типовая конфигурация используется
- Программно добавить обработчик события к программно добавленному элементу формы
- Как программно определить, что 1С работает и не зависла при обмене?
- Как перегнать программно печатную форму в формат JPG
- v8: СКД: программно добавить системное поле
- Как программно установить владельца программно созданной колонке
- Как определить программно определить в какой точке завершился бизнес процесс?
В этой группе 1С
- БП 3: расчет налога УСН при закрытии месяца.Не учитываются страховые взносы.
- Проверить серверный ключ при покупке
- группировка отчетов в панели действий
- УТ 11 Включение использования характеристик
- 8.3, управляемые формы, тонкий клиент, отладка серверного кода
- Web-сервисы 8.3-8.1, ошибка "Input is not proper UTF-8, indicate encoding"
- Обмен данными ЗУП 2.5 - БП 3.0
- ЗАГРУЗКА/ ВЫГРУЗКА YML в/из 1С
- Неверный расчет выходного пособия при увольнении (зуп 2.5)
- После процедуры ПриОткрытии возникает модифицированность формы. Почему?
- Настройка обмена между Управление торговлей ред. 11 и Бухгалтерия 8 ред. 3.0 По
- Доступ к сетевым папкам с сервера
- Доступ к Веб Камере из 1С 8.3
- Бухгалтерия 3.0 расшифровка внешнего отчета другим отчетом
- Проблемы с весовым товаром Штрих Принт М4.5
- Конвертация данных. Перенос перечислений.
- ЗаписатьСвойствоУОбъекта
- ЗУП 2.5 Районный коэффициент при вахтовой работе ОДНОВРЕМЕННО в разных районах
- Как в ЗУП 2.5 создать вид начисления "Межвахтовый отдых"
- Пустой лист при печати из Excel