#0
by simol
Нужно наложить управляемую блокировку на границу последовательности. Данная блокировка нужна для своей процедуры ее восстановления. При этом движения документов, меняющие регистры которые влияют на последовательность и периодом в регистрах больше самой границы не блокировались.
#3
by Лефмихалыч
не понятно, в чем проблема. Управляемую блокировку берешь и накладываешь так же, как на что угодно другое. Второй абзац вообще не понятен чуть менее, чем полностью
#4
by simol
Если последовательность "Товары". с текущей границей 1.01.2013. На границу последовательности влияет регистр ТоварыНаСкладах. Мне нужно восстановить последовательность. Я должен получить документ перед границей последовательности и его провести. Чтобы в это время в другом сеансе не сдвинули границу мне ее нужно заблокировать. Но я хочу наложить такую чтобы документы после 1.01.2013 при наложенной блокировке проводились, а до 1.01.2013 не проводились.
#5
by simol
Вопросы: 1) Какие сущности блокировать. Сам регистр ТоварыНаСкладах с указанием периода? 2) если я сначала получу границу, а потом наложу блокировку, то менжу получением границы и блокировкой кто-то может вклиниться и изменить границу.
#9
by samozvanec
если он хочет сохранить границу, ему нахрен не сдались значения измерений. блокируй последовательность)
#11
by samozvanec
ты какой-то больно хитрый. хочешь чтоб и документы проводились, и последовательность не двигали
#12
by samozvanec
+ последовательность тогда автоматом не двигай, бери да восстанавливай периодически. или алгоритм установки свой пропиши
#15
by simol
Смотрите. Допустим каждый день по одному документу. Граница стоит на 1.01. Я в процедуре восстановления 1) Получаю границу последовательности и документ (от 2.01), который нужно обработать для восстановления последовательности. 3) Переношу границу на 2.01 И так в цикле Одна итерация цикла это одна транзакция. Я хочу чтобы между п.1 и п.2 граница не двинулась в прошлый периода. Иначе я в п.3 перезапишу неправильно. Для этого хочу заблокировать движения регистра до 1.01. Но при этом во время п.2 документы с датой больше 1.01 пусть не блокируются.
#17
by Киборг
ты сам переносишь границу? или граница сдвигается автоматически при обработке документов?
#19
by Киборг
> при восстановлении я наверно правильней так: "при восстановлении и автоматически перносится, и я сам переношу" да?
#20
by simol
Я методом последовательности Восстановить для именно этой последовательности не пользуюсь. Так как хочу не перепроведение документов, а только пересчет одного регистра. Потому в своем восстановлении устанавливаю границу руками
#23
by simol
+пересчитываю один из них с учетом всех трех. (обновляю автоматические списание с резервов)
#24
by Киборг
так если ты все три запишешь, то граница автоматически сдвинется тогда тебе останется только следить, что граница сдвинулась на очередной регистратор набора если не сдвинулась, то восстановление прекращай или начинай заново с новой границы такой алгоритм не подойдет?
#25
by simol
Граница назад откатывается при записи движений регистра. Автоматически граница вперед (восстановление) двигается только при проведении документа, который в последовательности следующий после границы. Просто запись регистра вперед не двигает границу, потому я ее руками и двигаю.
#26
by simol
Я понял как нужно сделать. получаю границу, блокирую по ней регистры двигающие последовательность. получаю границу повторно. проверяю если сдвинулась пока блокировал, то завершаю транзакцию, если не сдвинулась - работаю.
#27
by Киборг
не знаю как при трех регистрах, но при одном регистре граница сдвигается (хоть вперед, хоть назад) при записи набора, а не при записи документа
#30
by Киборг
попробуй сделать тест: в одной сессии в транзакции установи блокировку записей регистра с помощью БлокировкаДанных, а в другой сессии в транзакции прочитай эти записи регистра, не используя БлокировкаДанных
#32
by simol
Я проверял. Работает. (У меня управляемые блокировки в конфе.) Если переведут на автомат, то сработает в запросе:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Закрытие месяца. Бух просит сделать вместо Д90.8.1 - К26 сделать Д90.2 - К26
- Можно ли сместить границу последовательности ...
- Как сделать в УТ8.0 сделать реализацию по нескольким заказам
- Можно ли перенести границу последовательности без перепроведения документов
- Как можно серый ip сделать белым если сделать у провайдера это нельзя
- Можно ли сделать элемент формы "подменю" сделать недоступным для разворачивания?
- v7: Как восстановить границу последовательности
- Можно ли сделать реквизит таб. части, сделать недоступным в отдельных строках?
- Конвертация. Как лучше сделать? Как вообще сделать?
В этой группе 1С
- Подготовка данных по НДФЛ в ЗУП 8.2
- Можно как-то перенести "темпы1с" из Documents and Settings на другой диск?
- Значение реквизита документа в обработке проведения по наименованию реквизита
- УФ. Как заполнить ТЧ оброботки на сервере без контекста вызванного из клиента?
- v7: Парсер журнала изменений (1cv7.mlg)
- Фискальная память ККМ и 1С Розница
- v8: rphost жрёт память
- УТ11. Статус указания серий
- Требуется аутентификация прокси
- Как настроить простую Одноранговую сеть?
- УТ 10.3 - контроль остатков при неоперативном проведении
- УФ в динамическом списке поставить "Использовать всегда" программно?
- Вставка таблицы в форматированный документ
- Как работать через SSL в тонком клиенте 1с 8.3
- Универсальный обмен данными в формате XML // отбор
- Сравнение строк двух таблиц на идентичность
- Комплексная, аванс от покупателя
- v8: СКД. отбор работает, порядок нет
- v8: Запрос. Отбор сотрудников по подразделениям
- Скидка в корректировке реализации