Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 дек 2024, 01:42

Перепроведение изменений, Платформа 8.2

Автор bolobol, 11 сен 2011, 20:26

0 Пользователей и 1 гость просматривают эту тему.

bolobol

И снова здравствуйте!

Возник вопрос по оптимизации: Требуется при перепроведении документа максимально сократить запросы, расчёты, запись, изменения. Другими словами - обрабатывать только изменения в документе.

1. Многим, наверное, известна любимая кнопка оператора, бухгалтера - посмотрел в документ - "ОК"-ей... и перепроведение пошло. А зачем? Вот.
2. Исправления в комментарии документа запускают по "ОК"-йу полный цикл, несмотря на то, что в табличных частях ничего не поменялось.
3. Оператор, бухгалтер выписал что-то не то в одной из позиций документа, при этом, к тому же, для целей определения стоимости, были проведены запросы-расчёты себестоимости, одну позицию исправили, а перепроведение пересчитает, переспишет все позиции.

Суть задачи:
1. перед записью узнать объёмы повреждения производительности на сервере - вычислить изменения, заодно, в качестве полного лога, можно это и записать в ту же базу данных. Какой объект целесообразнее для этого использовать или возможно это сделать не выходя из рамок перепроводимого документа?
2. удалить неактуальные записи в регистрах. Возможно ли такое вообще, т.к. наборы записей читаются и пишутся, насколько мне известно, только целиком?
3. обработать изменения документа, запросы, расчёты только по нужным позициям - это, как бы, просто, да?
4. записать заново рассчитанные данные в регистры. Возможно, запись данных придётся делать только добавляя записи, возможно ли добавить набор записей, если в БД уже есть такой набор записей? почему бы нет, при очередном чтении получим старый набор плюс дописанный набор, или я не тут ваще?

В общем, кто что знает - поделитесь(?)

comol

1) Часть проблем по записи вас не должна волновать. По умолчанию платформа очищает и записывает заново только измененные наборы записей, вот проблема в том что она их ещё читает и в неуправляемом режиме блокирует... чтобы этого избежать в 8.2 придумали режим записи "записывать выбранные" - сами сможете этим управлять
2) Проблему изменения комментариев, адресов и т.п. решал обычно так: создаём переменную "мИзменен" в форме управляем её значением и в "обработке проведения" и в "обработке удаления проведения" если ложь вставляем "возврат". Правда в основном в контексте правки задним числом в закрытом периоде... перезапись, на самом деле, не такая большая проблема как вы думаете.
Статьи по оптимизации 1С: http://comol.livejournal.com/

bolobol

Что за режим "записывать выбранные"???

comol

Это в свойствах документа - подробнее в документации по 8.2 почитайте.
Статьи по оптимизации 1С: http://comol.livejournal.com/

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск