Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
И снова здравствуйте! Возник вопрос по оптимизации: Требуется при перепроведении документа максимально сократить запросы, расчёты, запись, изменения. Другими словами - обрабатывать только изменения в документе. 1. Многим, наверное, известна любимая кнопка оператора, бухгалтера - посмотрел в документ - "ОК"-ей... и перепроведение пошло. А зачем? Вот. 2. Исправления в комментарии документа запускают по "ОК"-йу полный цикл, несмотря на то, что в табличных частях ничего не поменялось. 3. Оператор, бухгалтер выписал что-то не то в одной из позиций документа, при этом, к тому же, для целей определения стоимости, были проведены запросы-расчёты себестоимости, одну позицию исправили, а перепроведение пересчитает, переспишет все позиции. Суть задачи: 1. перед записью узнать объёмы повреждения производительности на сервере - вычислить изменения, заодно, в качестве полного лога, можно это и записать в ту же базу данных. Какой объект целесообразнее для этого использовать или возможно это сделать не выходя из рамок перепроводимого документа? 2. удалить неактуальные записи в регистрах. Возможно ли такое вообще, т.к. наборы записей читаются и пишутся, насколько мне известно, только целиком? 3. обработать изменения документа, запросы, расчёты только по нужным позициям - это, как бы, просто, да? 4. записать заново рассчитанные данные в регистры. Возможно, запись данных придётся делать только добавляя записи, возможно ли добавить набор записей, если в БД уже есть такой набор записей? почему бы нет, при очередном чтении получим старый набор плюс дописанный набор, или я не тут ваще? В общем, кто что знает - поделитесь(?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2011, 20:25 |
|
||
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
БагерИ снова здравствуйте! Возник вопрос по оптимизации: Требуется при перепроведении документа максимально сократить запросы, расчёты, запись, изменения. Другими словами - обрабатывать только изменения в документе. 1. Многим, наверное, известна любимая кнопка оператора, бухгалтера - посмотрел в документ - "ОК"-ей... и перепроведение пошло. А зачем? Вот. 2. Исправления в комментарии документа запускают по "ОК"-йу полный цикл, несмотря на то, что в табличных частях ничего не поменялось. 3. Оператор, бухгалтер выписал что-то не то в одной из позиций документа, при этом, к тому же, для целей определения стоимости, были проведены запросы-расчёты себестоимости, одну позицию исправили, а перепроведение пересчитает, переспишет все позиции. Суть задачи: 1. перед записью узнать объёмы повреждения производительности на сервере - вычислить изменения, заодно, в качестве полного лога, можно это и записать в ту же базу данных. Какой объект целесообразнее для этого использовать или возможно это сделать не выходя из рамок перепроводимого документа? 2. удалить неактуальные записи в регистрах. Возможно ли такое вообще, т.к. наборы записей читаются и пишутся, насколько мне известно, только целиком? 3. обработать изменения документа, запросы, расчёты только по нужным позициям - это, как бы, просто, да? 4. записать заново рассчитанные данные в регистры. Возможно, запись данных придётся делать только добавляя записи, возможно ли добавить набор записей, если в БД уже есть такой набор записей? почему бы нет, при очередном чтении получим старый набор плюс дописанный набор, или я не тут ваще? В общем, кто что знает - поделитесь(?) В чем суть проблемы? сервера не хватает? или блокировки? 1.,2. Вешай на кнопку ок обработку. если есть изменения важные для регистров -перепроводить -иначе нет. 3. Понимаешь на такую логику боше времени затратится чем просто перепроведение. не извращайся. 1.повреждения производительности на сервере -что курил? 2. удалять может тока оборотные регистры.. а остатки надо тока с переносом остатков. в 7 многие так и извращались . делай если скучно. 3.Знаешь такое делали когда полностью запрещали менять документы- на его основании вводился док корректировка и он менял тока то что нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 07:22 |
|
||
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
ZerroВ чем суть проблемы? сервера не хватает? или блокировки? Проблема: Багер1. ...оператора, бухгалтера - посмотрел в документ - "ОК"-ей... и перепроведение пошло. А зачем? Вот. 2. Исправления в комментарии документа запускают по "ОК"-йу полный цикл... 3. Оператор, бухгалтер выписал что-то... одну позицию исправили, а перепроведение пересчитает, переспишет все позиции. Отсюда и ненужные блокировки. Zerro1.,2. Вешай на кнопку ок обработку. если есть изменения важные для регистров -перепроводить -иначе нет. Это сделано, берётся сохранённая версия (ссылка.*, ссылка.ТабличнаяЧасть.*) и получается разница в новый документ. При этом блокирован только текущий документ. Zerro3. Понимаешь на такую логику боше времени затратится чем просто перепроведение. не извращайся. Перепроведение занимает 15 секунд, что несоизмеримо с вычислением изменений - 0,3 секунды, т.к. весь объект уже прочитан с БД во время его открытия. Вот, только, не совсем понятно, сохранённая копия тоже за время жизни открытого объекта остаётся в памяти, или, когда по кнопке ОК, я первый раз пытаюсь получить ссылка.реквизит - тут-то он снова и считывается? Неблокируемое чтение движений по регистрам, для вычисления необходимых отрицательных движений (удалённые строки, уменьшенное количество) - это так же не вызывает блокировок (насколько я понимаю), а добавленные строки (и изменённые) будут записаны в общем порядке, но это, как правило, не более 5% всего документа, если не менялась шапка. Должен же быть прирост-то в производительности, коли запись сокращается в 20 раз! Zerro1.повреждения производительности на сервере -что курил? Это я не докурил, когда писал - данные изменяются задним числом, и себестоимость тоже. Каждую ночь приходится запускать перепроведение, т.к. изменения задним числом отражаются в последующих документах изменениями сумм. Во многих документах это не критично, поэтому и полноценное перепроведение их не требуется, а оно есть! Вот, только, с изменениями логики проведения, состава регистров и прочими тонкостями как - это вопрос. Zerro2. удалять может тока оборотные регистры.. То есть, нет возможности выбрать по регистратору и реквизитам регистра набор записей из одной строки (соответствующей удалённой строке табличной части), чтобы потом записать пустой набор записей в это место? Zerro...а остатки надо тока с переносом остатков. в 7 многие так и извращались . делай если скучно. Что за перенос? Zerro3.Знаешь такое делали когда полностью запрещали менять документы- на его основании вводился док корректировка и он менял тока то что нужно. Именно так и сделали, но получилось два документа, затем три, затем пять - очень много брака, сроки годности, обменов на аналогичный товар, без документального движения - вот и в определённый момент, решили, всё-таки, сделать всё в одном документе, без корректирующих, т.к. путаница такая... Сама запись причин корректировки должна присутствовать, в купе с логом исправлений. Сейчас рассматривается вариант универсализации документа корректировки в виде лога изменений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 10:25 |
|
||
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
БагерZerroВ чем суть проблемы? сервера не хватает? или блокировки? Проблема: Багер1. ...оператора, бухгалтера - посмотрел в документ - "ОК"-ей... и перепроведение пошло. А зачем? Вот. 2. Исправления в комментарии документа запускают по "ОК"-йу полный цикл... 3. Оператор, бухгалтер выписал что-то... одну позицию исправили, а перепроведение пересчитает, переспишет все позиции. Отсюда и ненужные блокировки. Zerro1.,2. Вешай на кнопку ок обработку. если есть изменения важные для регистров -перепроводить -иначе нет. Это сделано, берётся сохранённая версия (ссылка.*, ссылка.ТабличнаяЧасть.*) и получается разница в новый документ. При этом блокирован только текущий документ. Zerro3. Понимаешь на такую логику боше времени затратится чем просто перепроведение. не извращайся. Перепроведение занимает 15 секунд, что несоизмеримо с вычислением изменений - 0,3 секунды, т.к. весь объект уже прочитан с БД во время его открытия. Вот, только, не совсем понятно, сохранённая копия тоже за время жизни открытого объекта остаётся в памяти, или, когда по кнопке ОК, я первый раз пытаюсь получить ссылка.реквизит - тут-то он снова и считывается? Неблокируемое чтение движений по регистрам, для вычисления необходимых отрицательных движений (удалённые строки, уменьшенное количество) - это так же не вызывает блокировок (насколько я понимаю), а добавленные строки (и изменённые) будут записаны в общем порядке, но это, как правило, не более 5% всего документа, если не менялась шапка. Должен же быть прирост-то в производительности, коли запись сокращается в 20 раз! Zerro1.повреждения производительности на сервере -что курил? Это я не докурил, когда писал - данные изменяются задним числом, и себестоимость тоже. Каждую ночь приходится запускать перепроведение, т.к. изменения задним числом отражаются в последующих документах изменениями сумм. Во многих документах это не критично, поэтому и полноценное перепроведение их не требуется, а оно есть! Вот, только, с изменениями логики проведения, состава регистров и прочими тонкостями как - это вопрос. Zerro2. удалять может тока оборотные регистры.. То есть, нет возможности выбрать по регистратору и реквизитам регистра набор записей из одной строки (соответствующей удалённой строке табличной части), чтобы потом записать пустой набор записей в это место? Zerro...а остатки надо тока с переносом остатков. в 7 многие так и извращались . делай если скучно. Что за перенос? Zerro3.Знаешь такое делали когда полностью запрещали менять документы- на его основании вводился док корректировка и он менял тока то что нужно. Именно так и сделали, но получилось два документа, затем три, затем пять - очень много брака, сроки годности, обменов на аналогичный товар, без документального движения - вот и в определённый момент, решили, всё-таки, сделать всё в одном документе, без корректирующих, т.к. путаница такая... Сама запись причин корректировки должна присутствовать, в купе с логом исправлений. Сейчас рассматривается вариант универсализации документа корректировки в виде лога изменений. Что сказать... По правильному лучше куча документов - чтоб знать кто что правил и когда и визуально проще. ( а путаницу легко убрать запретив менять доки задним числом.) а по теме - убираешь галочку "Удалять движения автоматически" -и при проведении (перепроведении) делаешь коректировки регистров тока. Да и можешь ещё одну ТЧ сделать - для хранения того что меняли в разрезе времени( это я так навскидку) а для перепроведения ночью.. дак для этого последовательности и сделаны. ( их тоже можно руками заполнять -только те что нужны например). Не пытайтесь изобрести велосипед. все должно быть легко и понятно каждому и естественно, а то запутаетесь ещё больше потом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 10:56 |
|
||
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
перенос? закрывали каждый год период -обороты в отдельный док -а все остальные доки удаляли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2011, 10:57 |
|
||
|
Перепроведение изменений, Платформа 8.2
|
|||
|---|---|---|---|
|
#18+
Начитался новых механизмов проведения с контролем изменений, пытаюсь интегрировать, сначала в мозг. Во всяком случае - уже очевидно, что даже разработчики платформы озадачились решением этой проблемы - не будем изобретать велосипед, используем предложенную схему, для начала. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2011, 22:07 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=74&tid=1521023]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
20ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 271ms |

| 0 / 0 |
