#0
by BlueBird
Добрый день. Может кто переводил УТ 10.3 на управляемые блокировки, посоветуйте, пожалуйста. Перевожу документ "Реализация товаров и услуг" на управляемые блокировки. Возникли вопросы по изменению проведения его по партиям. Насколько я поняла, в запросе получения остатков по партиям не было "ДЛЯ ИЗМЕНЕНИЯ" - т.е. полученные остатки партий не блокировались? Стоит ли ставить исключительную блокирововку на остатки партий по товарам? Если блокировать только по номенклатуре, то заблокируется очень много наверное, другие транзакции не смогут списать партии этого товара. А не ставить - партии могут списываться повторно. Но получается, что с автоматическими блокировками так и было. И еще, может кто сталкивался: партии иногда списываются по несколько раз при проведении документа. Более низкий уровень блокировок не решит эту проблему?
#2
by Господин ПЖ
>Насколько я поняла, в запросе получения остатков по партиям не было "ДЛЯ ИЗМЕНЕНИЯ" - т.е. полученные остатки партий не блокировались? "ДЛЯ ИЗМЕНЕНИЯ" служит для того чтобы другие транзакции не могли прочитать этих данных. Т.е. для уменьшения взаимоблокировок - когда два сеанса прочитали одни и те же данные и хотят их изменить
#3
by fisher
Если нет ДЛЯ ИЗМЕНЕНИЯ - всё равно блокируется. Просто параллельная сможет прочитать данные. Но изменить не сможет.
#5
by fisher
Не только. По хорошему, тут как раз исключительная блокировка должна быть на прочитанные партии. Иначе даже без дедлока может быть фигня - оба дока прочитали партии, первый изменил остатки по ним, а второй двинул по старой информации о партиях. С управляемыми блокировками нужна именно исключительная блокировка по номенклатуре, как я понимаю. Ну а лучше, как уже сказали, перейти к регламентному списанию партий, если критична параллельность.
#7
by dimaldinho
Про УТ 10.3 не в курсе, а в типовой УПП 1.3.14.1 режим управления блокировками установлен в Управляемый, есть смысл посмотреть, как там решен этот вопрос, чтобы не изобретать велосипед.
#8
by dimaldinho
Кстати, зачем на управляемые блокировки переводите? Если есть проблема с параллельностью работы с документами Реализация, то первое, что нужно сделать - отказаться от списания партий при проведении. Если проблема не с реализацией, а с другими документами, то режим управления для конфы можно поставить в Автоматический и управляемый, и перевести в управляемый режим "проблемные" документы и регистры, по которым они делают движения.
#9
by BlueBird
Да, параллельность нам критична. Очень много документов создается. Поэтому и боюсь, что будет долгое ожидание при проведении. Думаю, сначала попробуем оставить как есть (списание партий при проведении), на списание ну я имела в виду блокировка ПартииТоваровНаСкладах по номенклатуре.
#10
by BlueBird
Проблема у нас с одновременным проведением 3-х документов: Реализация товаров и услуг, Отчет о розничных продажах (в течение дня каждые полчаса загружаются из Фронтола), Чек ККМ (измененный, как реализация товаров и услуг, только чек на ККМ пробивает). Все 3 и переводим на управляемые блокировки. Хотим пока оставить списаие партий документами - если все равно будут возникать блокировки, то будем списывать партии обработкой в регламентном задании. В-общем как это все сделать я уже разобралась, вопрос только в партиях возник, сомневалась насчет блокировки по списку номенклатуры - не слишком ли много будет блокироваться.
#11
by fisher
"сомневалась насчет блокировки по списку номенклатуры - не слишком ли много будет блокироваться" А выхода другого нет. В противном случае возможны некорректные проведения. А если, как часто бывает, есть ходовые товарные позиции, присутствующие почти во всех документах - то особого прироста и не получите.
#12
by Господин ПЖ
я вообще не вижу применения упр. блокировок в запросах по партиям в УПП 1.3 товары на складах, резервы и т.п. где нет партий. По крайней мера там используется вызов функции общего модуля устанавливающего упр. блокировку... больше вообще "= Новый БлокировкаДанных" нигде не встречается кроме переоценки валюты
#13
by Господин ПЖ
в самой конфе стоит "Упр. блокировки", в документах - "авто", но ведь в данном случае общее свойство конфы выше по приоритету чем каждый документ
#14
by BlueBird
В тестовой базе перевела 3 документа по реализации на управляемые блокировки, запустила тест: в одном сеансе проводятся через групповую обработку отчеты о розничных продажах (много подряд, от 10 до 600 строк), в другом сеансе вручную провожу отчет о розничных продажах - база задумалась и во втором сеансе выдала "Превышено максимальное время ожидания предоставления блокировки из-за ожидания сессии" при проведении по партиям. Скажите, это очень плохой признак? В реальной жизни отчеты о розничных продажах проводятся автоматически каждые полчаса, но с некоторыми промежутками по времени (загрузили из Фронтола по 1 кассе - провели, загрузили из 2-й кассы - провели). Но и сенасов пользователей не 2, а 200.
#15
by dimaldinho
> Скажите, это очень плохой признак? Очевидно, это означает, что ваше решение "перевела 3 документа по реализации на управляемые блокировки" не устранило проблему. Можно отказаться от списания партий при проведении. А можно ЦУПом посмотреть детальную информацию об ожиданиях на блокировках (объект метаданных, таблица, заблокированный запрос, блокирующий запрос). Может, у вас там другие проблемы: неоптимальные планы запросов, методические ошибки (запись констант, явная запись движений и т.п.) Но скорее всего нужно отказаться от списания партий при проведении.
#17
by МаленькийВопросик
списание партий будет производиться при выполнении регламентной обработки «Проведение по партиям» в неоперативном режиме?
#21
by BlueBird
ну теперь по крайней мере dealock'ов нет. Добрались до списания партий в регламентном задании. Проблема в том, что последовательность "партионный учет" мы не используем (если кто-то исправит документ прошлого месяца (редко, но бывает), входящий в последоатеьность, то на восстановление последовательности уйдет несколько дней, у нас оно того не стоит). Есть следующая идея: при неоперативном проведении документы проводить по партиям, а при оперативном партии не списывать, это будет делать обработка в регламентном задании. Будет запоминаться документ, на котором обработка закончила списание партий, либо момент времени. Совсем ли это плохое решеие с точки зрения опытных разработчиков? :) Как посоветуете "запоминать" последний списанный по партиям документ - новая последовательность? константа?
#22
by dimaldinho
> Будет запоминаться документ, на котором обработка закончила списание партий А если кто-то исправит документ прошлого месяца, партии все равно придется пересписывать? Т.е. чем это лучше последовательности "партионный учет"?
#23
by BlueBird
Не, если кто-то исправит документ прошлого месяца, то партии спишутся при проведении документа. А обработка на чем закончила, с того и продолжит.
#25
by dimaldinho
Или если мы принимаем, что изменения в документе прошлого месяца не приведут к изменению списанных партий, то можно предложить схему: - используется стандартная последовательность партионный учет - при необходимости внести изменение в "документ прошлого месяца", гарантированно не приводящее к изменению списанных партий (поменять ответственного в документе и т.п.): 1)запоминается граница последовательности ПУ, 2)изменяется "документ прошлого месяца", 3)граница последовательности ПУ возвращается программно на место
#26
by BlueBird
Да, в общем случае неактуальные. Но для нас это не критично, к тому же другого выхода не вижу. Проблема даже не в том, что могут исправить документ прошлого месяца раз в несколько месяцев, а что в течение дня могут исправлять вчерашние документы, и те что были 2 дня назад. И постоянно будут перепроводиться по партиям одни и те же документы.
#27
by dimaldinho
Можно, например, еженочно проводить по партиям не до текущей даты, а до текущей даты минус 2 недели и закрывать период ранее даты текущая минус 2 недели. При необходимости внести изменения в закрытый период использовать .
#28
by BlueBird
С одной стороны подходит, у нас уже период доступности редактирования документов - 2 недели (более ранние документы редактирует толлько польз. с Полными правами и по особым случаям). Но тогда у нас не будет актуальной себестоимости остатков товаров для инвентаризации. Инвентаризации проводятся ежедневно, по 10-20 документов создают. К тому продажи приблизительно хотя бы надо оценивать до окончания месяца, а 1-2 числа уже формируют отчеты по прибыли за прошедший месяц. Поэтому нужно ежедневное списание партий, желательно к тому же хотя бы периодически в течение дня.
#29
by fisher
Можно вести очередь проводимых/перепроводимых документов. Чтобы регламентное задание проводило по партиям только те документы которые только что проводили и именно в той же последовательности. А восстановление последовательности как было отдельной задачей так и останется. А типовых не так разве, кстати?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- В регистре партии товаров на складах не записывается значение серии товара
- Запросы 1С++ по остаткам товаров с включением всех групп товаров
- Регистр бухгалтерии: управляемые блокировки
- Управляемые блокировки в УПП
- Управляемые блокировки
- И снова про управляемые блокировки транзакций
- Перевод базы УПП на управляемые блокировки
- УПП : Партии товаров на складах
- Где правильнее поставить управляемые блокировки
- УПП 1.3.13.1 движение по регистру партии товаров на складах
- Управляемые формы
- УТ 11 управляемые формы - добавить в таб часть колонку с остатками
В этой группе 1С
- Конвертация данных. Не срабатывает ВыгрузитьПоПравилам()
- v7: 1С 7.7 копирование форм объекта - как лучше?
- УФ. Как сдвинуть курсор в таблице?
- Ошибка sql-server
- v7: Как вы согласуете наборы прав в 1С?
- не удалось заблокировать таблицу 'CODES' (Завершить работуПерезапустить)
- Заполнение табличной части внешней обработкой
- SQL запрос сложить значения двух столбцов
- Хитрая нумерация документов
- v7: Знатоки WinHttp.WinHttpRequest.5.1 - загляните подкат.
- v7: Почему при объединении баз пересчет итогов?
- ActiveX екселя внутри 1С
- Как настроить закрытие 20-го счета вручную?
- Отчет не сформирован! Синтаксическая ошибка.
- Регистр сведений. Удалить по ключу записи как?
- БП2.0: Был ли зачет аванса по данной реализации?
- v7: ТиС: Усредненная себестоимость без НДС
- Каким образом Узлу1 ПланаОбмена1 выгрузить данные ПланаОбмена2?
- Причина возникновения ошибок логической целостности в 1С
- Подскажите почему общий итог не считается