#3
by Borteg
насколько я помню они запишутся всеравно 1 раз, так как при выходе из обработчика проведения, пишутся только те записи у которых есть признак модифицированности.
#4
by DTX 4th
Новой методикой периодиски пользуюсь. Т.е. если не нужно читать измененные данные, то можно убрать Движения.Рег.Записать? Видимо, оттуда и засело в голове, что надо записать. Или с типовыми механизмами что-то не поделил.
#5
by vicof
"Начнем с последнего: Движения.ОстаткиТоваров.Записать; Этот способ безусловно запишет данные в регистр накопления. Но при этом флаг "Записывать" у набора записей снят не будет. Но это ерунда, главное тут то, что при большом количестве наборов записей у документа нам придется самостоятельно контролировать что в каком порядке в базу пишется, это может (да что там "может", точно скажется) негативно сказаться на проблеме взаимных блокировок (DeadLock), когда одна транзакция заблокирует таблицу А и будет ждать освобождения таблицы Б, а другая транзакция будет вести себя строго наоборот. теперь посмотрим как работает метод Движения.Записать; Метод записывает только те движения документа у которых установлен флаг "Записывать", при этом флаг в итоге снимается, что не приводит к повторной записи движений по окончании транзакции проведения. И главное, Движения.Записать; всегда записывают движения в том порядке в котором таблицы указаны в дереве метаданных, что на порядок уменьшает шансы взаимных блокировок, ведь все транзакции в одинаковом порядке блокируют таблицы."
#6
by Borteg
жесть какая-то написана. в управляемом режиме блокировок такое даже если захочешь не изобразишь
#7
by Borteg
в целом все зависит от того как у тебя проводятся документы. Ну и лучше писать не отдельные регистр, а или сразу все движения Движения.Записать, или вообще не использовать записать в обработчике проведения, она сама все проведет
#8
by Fragster
да не, там один раз, ибо при .Записать флаг системной записи при ЗапиыватьВыбранные или Модифицированные сбрасывается
#10
by Borteg
не представляю честно, при менеджером блокировок 1с, записать в регистр накопления где записи блокируются по регистратору одновременно блокировать записи по одному регистратору, так еще и с уровнем изоляции snapshot. Тоесть пишется в 2 транзакциях один и тот же документ?
#14
by DTX 4th
Раньше не понимал, зачем нужно свойство Записывать. Теперь понятно - при начале проведения там уже могут быть данные, которые не нужно записывать.
#15
by Borteg
Касательно написанного,там описан регистр накопления, у него будет 2 разных регистратора, следовательно измерения никак не пересекутся.
#16
by Borteg
Если там есть данные, которые не надо записывать и не указать конструкция записывать=истина, эти же данные и останутся, они даже не сотрутся.
#17
by DTX 4th
Что-то теперь и я запутался. Как происходит запись нескольких наборов? Поочередно блокируются регистры и происходит запись, после которой блокировка снимается? Если так, то про DeadLock в написана фигня.
#20
by DTX 4th
Т.е. если документ пишет в два регистра, Регистр1 и Регистр2, то схема проведения будет иметь следующий вид? Разблокировка Регистр2 ?
#23
by DmitrO
А вообще, об этом почему-то никто не написал. Свойство Записывать у набора записей регистра придумано для применения в паре со свойством метаданных документа "Запись движений при проведении" и его значением "Записывать выбранные".
#24
by DmitrO
Сиськи мнете чета тут.. Ситуации и алгоритмы разные конечно бывают, но такой код: в общем случае не совсем нормальный. Если набор пишется явно, то Записывать = Истина; смысла не имеет.
#25
by Dmitrii
>> описан регистр накопления, у него будет 2 разных регистратора, следовательно измерения никак не пересекутся. Бред. Не пересекаются наборы в первичных таблицах (т.к. регистраторы разные). В таблицах итогов возможны пересечения. Сидят два менеджера и оба оформляют док-ты продажи одних и тех же товаров с одного и того же склада. У каждого свой документ. По набору измерений (склад и номенклатура) их наборы записей очень даже пересекутся. Так что, пока проводится документ первого менеджера, таблицы итогов будут заблокированы, а второй будет ждать пока блокировка не будет снята.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как можно в регистре сохранить прошлые движения документа при проведении
- Где прочитать какие релизы нужно устанавливать обязательно, а какие нет?
- Какие есть способы упорядочить регистр сведений в форме списка ?
- Почему модули движений по регистрам не писать в модулях регистров?
- ЗуП Расходник нет движения по регистру "Регистр накопления "НДФЛ расчеты с бюджетом""
- Поясните пожалуйста какие драйвера АТОЛ платные а какие бесплатные
- v7: Пропадают движения в регистре при повтором проведении
- Как изучить УТ11 как можно быстрее? Какие способы знаете?
- УПП 1.3 Движения по регистру "УчетЗатрат" при проведении Требования-накладной
В этой группе 1С
- При оплате платежной картой 1С вылетает
- Посчитать количество записей любого регистра сведений
- v7: Можно ли развернуть выгруженную базу 7.7 на платформе 8.x?
- Помогите разобраться с web-сервисом. Как передать структуру (массив) как параметр ?
- Не загружаются страницы в браузерах на ПК с Windows XP
- ЗУП 2.5, отпуск за вредность уменьшить и учесть в следующем году
- Вывод группы сотрудников в отчетах в 1С ЗУП 8,3
- где находятся правила обмена выгрузки на сайт в ут 11
- Лицензия на собственную конфигурацию 1С
- Добавление записей в регистр сведений через список программно
- С определенными правами долго запускается 1С
- Таможенная декларация на импорт по вводу остатков в ERP
- ЗУП 2.5 Начисление ежемесячных премиальных выплат при смене подразделений
- Как при подключении по com соединению передать в запрос дату
- Валится серверный процесс, как понять причину,
- БлокировкаДанных убивает сеанс конфигуратора при обновлении конфигурации
- SalesForce и 1С интеграция по API
- Пропали обновления УПП в личном кабинете
- Есть ли смысл менять процессор LGA 1155 (Sandy Bridge) на более современный ?
- Посоветуйте методику поиска ошибки, вызывающей падение 1С