Проблема блокировок при обмене РИБ Розница

1. vacony 02.11.20 12:39 Сейчас в теме
Добрый день
1С Розница , 2.3.5.35 , 8.3.15.1985 . Много РИБ по магазину. Обмен каждые 15 минут.
На продаже много алкоголя. При пробитии - идет запись справочника ПрисоедиенныеФайлыЕгаис и двоичные данные в регистр.

Проблема , что когда попадаем на обмен - получаем есс но ошибку блокировки. И данные про ответ ЕГАИС о пробитии бутылки не входит в базу...

Предприняли попытку программно отключить выполнение обмена при блокировке. Т.е. если при пробитии натыкается на блок, то среди фоновых находит обмен - и отменяем. Внешне все красиво, и по истории четко видно что задание обмена - Отменено пользователем и время завершения стоит как раз когда отмена.
НО запись дальше не происходит - блокировка таблиц остается..
Как можно это скинуть , отпустить блок таблиц ?

п.с. была мысль пытаться сохранить данные в файл, что бы потом записать в базу... но в той процедура в транзакции пишется и справочник, и двоичные и еще версии... крайне сложно все это сохранить кучкой
По теме из базы знаний
Найденные решения
29. vacony 11.11.20 10:58 Сейчас в теме
(28)
файловые на узлах. Управляемые блокировки работают только в клиент-сервере. Но в любом случае таблица регистрации изменений что в файловой, что в клиент серверной всегда использует табличную блокировку.


По блокировкам не соглашусь - т.к. в приложении можно что управляемые - что накладывают блок на таблицу для сохранения целостности, что ручные...

Но суть не в том. Вопрос методом тыка решился - если снимать задания в само начале процедуры - потом проверить что снялось , то далее все идет нормально.

А вот если сперва пробовать записать объект , и если не вышло - снимать фоновое и записывать объект заново - то задание снимается , но объект. записать() падает по блокировке , хоть 30 минут пробуй записать )
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
21. vacony 03.11.20 15:10 Сейчас в теме
(9) День добрый )

Интересная штука ... вы цеплялись к штатной выгрузке, заворачивали в хранилище текущий статус (шаг, и т.д.) и На клиенте - на форме - ловили ?

штука несомненно полезная, особенно если кассир будет смотреть. Но она увы не решает окончательно проблему..
Т.е. кассир если начал набивать товар, тут пошла строка.... ему "тормозить" минуту, две, пять пока обмен идет и смотреть на покупателя ? )
Эту штуку обязательно как то реализую в нашей сети. Но она помощник, не решение...

Хотелось бы либо свести блокировку не по таблицам. Либо вариант сбросить блокировку вообще с заданием. Но пока не пойму, почему Фоновое.Отменить() отменяет задание, но блок еще остается... даже паузу делал после отмены 5 сек , не всегда помогает... Видимо еще зависит сколько объектов были в транзакции. Обмен весь проходит в рамках одной транзакции, видимо для отката надо относительно много времени...
10. TODD22 20 02.11.20 19:10 Сейчас в теме
(1)
Много РИБ по магазину. Обмен каждые 15 минут.


Много РИБ это сколько?

Зачем обмен каждые 15 минут?
17. vacony 03.11.20 14:54 Сейчас в теме
(10)
то ск

(10) Много это 100+
Но это не важно. Речь не про центр , а про конкретно РИБ по магазину, файловую базу .

Обмен такой нужен для клиента.. очень оперативно там все...
25. TODD22 20 03.11.20 19:00 Сейчас в теме
(17)
Много это 100+

Ну это не много....

(17)
Обмен такой нужен для клиента.. очень оперативно там все...

"нужен" это не ответ. Надо понимать для чего именно 15 минут что бы понимать как решать задачу.
2. XAKEP 02.11.20 13:41 Сейчас в теме
Много РИБ

можно задуматься о клиент-сервер
или хотя-бы веб
11. TODD22 20 02.11.20 19:14 Сейчас в теме
(2)
можно задуматься о клиент-сервер
или хотя-бы веб

Проблему обмена в РИБе это не решит.
12. XAKEP 02.11.20 19:16 Сейчас в теме
(11)
я имел в виду одна база
остальные через тонкий клиент

или не понимаю чего ... ?

без РИБ и обмена
13. TODD22 20 02.11.20 19:19 Сейчас в теме
(12)Там один пользователь. Проблема блокировок в РИБе от количества пользователей не зависит. При выгрузке в РИБ всегда накладывается табличная блокировка на таблицу регистрации изменений.
14. XAKEP 02.11.20 19:22 Сейчас в теме
(13)
просто человек указал, что у него много РИБ
---------
много РИБ
--------
это как его цитата

----------------------

я не предлагал оставить РИБ
а вообще от него отказаться...
надеюсь на понимание :)
15. TODD22 20 02.11.20 19:23 Сейчас в теме
(14)
а вообще от него отказаться...
надеюсь на понимание :)

В рознице это сложно сделать. При обрыве связи продажи встанут. РИБ в рознице неизбежное зло.
16. XAKEP 02.11.20 19:27 Сейчас в теме
18. vacony 03.11.20 14:55 Сейчас в теме
(13) вот .. вот тут как раз вопрос - как снять табличную блокировку на регистрацию изменений или перевести ее в построковую...
19. nomad_irk 80 03.11.20 14:58 Сейчас в теме
(18)Обрабатывать объекты из таблицы изменений своим алгоритмом, вместо ПланыОбмена.ЗаписатьИзмененияУзла(ФайлXML).
22. vacony 03.11.20 15:13 Сейчас в теме
(19) ну это почти равносильно созданию своего обмена ..
что то менее затратное есть ?

да и все равно - факт обмена сам, наличие таблиц регистраций изменений, куда пишутся изменения объектов, эти таблицы будут блочиться в любом случае, не важно от своего алгоритма обработки...
Свой алгоритм это в принципе свой набор правил только
23. nomad_irk 80 03.11.20 15:18 Сейчас в теме
(22)Это равносильно получению нужного объекта к передаче и его сериализация <> созданию своего обмена.
С помощью типового функционала передавать только изменения конфигурации.

Таблицы регистрации изменений блочатся только при использовании типового объектного метода выгрузки измененных объектов в файл. Вам не нужны правила, от слова совсем, т.к. это РИБ.
24. TODD22 20 03.11.20 18:58 Сейчас в теме
(18)никак нельзя её перевести в построковую. Таблица изменений блокируется целиком что бы обеспечить целостность передаваемых данных.
26. vacony 05.11.20 09:46 Сейчас в теме
(24) блокировка зависит от того как ее накладыают... автоматическая или управляемая... и уже в управляемых можно хоть таблицу, хоть записи
27. TODD22 20 05.11.20 09:47 Сейчас в теме
(26)Это справедливо для таблиц данных, а не таблиц регистрации изменений. Таблица регистрации изменений всегда блокируется целиком для обеспечения целостности выгружаемых для обмена данных.
28. TODD22 20 05.11.20 10:59 Сейчас в теме
(26)
и уже в управляемых можно хоть таблицу, хоть записи

У вас базы файловые на узлах. Управляемые блокировки работают только в клиент-сервере. Но в любом случае таблица регистрации изменений что в файловой, что в клиент серверной всегда использует табличную блокировку.
29. vacony 11.11.20 10:58 Сейчас в теме
(28)
файловые на узлах. Управляемые блокировки работают только в клиент-сервере. Но в любом случае таблица регистрации изменений что в файловой, что в клиент серверной всегда использует табличную блокировку.


По блокировкам не соглашусь - т.к. в приложении можно что управляемые - что накладывают блок на таблицу для сохранения целостности, что ручные...

Но суть не в том. Вопрос методом тыка решился - если снимать задания в само начале процедуры - потом проверить что снялось , то далее все идет нормально.

А вот если сперва пробовать записать объект , и если не вышло - снимать фоновое и записывать объект заново - то задание снимается , но объект. записать() падает по блокировке , хоть 30 минут пробуй записать )
3. vacony 02.11.20 15:28 Сейчас в теме
Пока надо задуматься о блокировке )
Не понятно момент - когда снимаются блокировки в таблицах в файловой базе, при отмене фонового задания

Или может я еще что то не знаю

Просто обмен идет порой 2-4 минуты.. Ставить попытку записи в цикл, пока не запишется - очень не хочется, очень некрасиво ...
Да и это будет - стоять покупатель 3-4 минуты ждать пробития..
5. XAKEP 02.11.20 15:57 Сейчас в теме
(3)
задумайтесь,

когда начнутся потоки покупателей
появится сюрприз в обменах и в пятницу вечером
------------------------


я не думаю, что сейчас месяц супер продаж
или вы ждете застойный месяц,
чтобы уговорить руководство решить проблему ....
---------------------

методы есть разные :
оптимизация того что есть
исправление того что есть

переход на то , что нужно
7. vacony 02.11.20 16:38 Сейчас в теме
(5) вы мне метод - про управление блокировкой при отмене фонового уточните если знаете )
т.к. "оптимизация, исправления и т.д. это не констуктивно " :)
20. vacony 03.11.20 15:05 Сейчас в теме
(8) перво еэто теория фоновых, спасибо знаю ) та мответа нет
а приз - это статья 13 года, про другую платформу вообще, не УФ , и задача выгрузка одновременная ) А не блокировка на приемке...
Но спасибо за попытку )
4. eiv76 02.11.20 15:33 Сейчас в теме
1. Если много РИБ, переводите на клиент-серверный вариант.
2. Переписывайте правила обмена, чтоб уменьшить файлы, выкидывайте из них марки, справочник штрих-кодов упаковок, справок 1 и 2, и др. Это не нужно в ЦБ, Причем эти данные из ЦБ, полностью попадают в РИБы. (в других магазинах есть справки и др. которые должны быть только в одном)
6. vacony 02.11.20 16:37 Сейчас в теме
(4)
РИБ, переводите на клиент-сервер

не вариант никак. это отдельные точки и по 1 кассе. и все обязано быть автономно, не зависеть от сети внутри.

Правила типовые менять - нет понимания для чего объекты в базе нужны или понадобятся при обновлении. марки и ШК упаковок должны быть. по их статусам продажи.
Как они ходят знаю, но это не связано с блокировкой же..
не всегда - много справок и ШК ходят т.к. товар бродит по перемещению.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот