gifts2017

Изменение движений документа

Опубликовал xgenom xgenom (xgenom) в раздел Обработки - Обработка документов

Обработка для просмотра и редактирования движений документа (управляемая форма).

Возможен отбор только заполненных регистров, а также заполнение колонки текущей таблицы опеределенным значением.

Скачать файлы

Наименование Файл Версия Размер
Изменение движений документа 117
.epf 14,16Kb
02.07.13
117
.epf 14,16Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Макс Зеленский (mzelensky) 03.07.13 08:07
А на обычных формах случайно подобной поделки нет?
2. xgenom xgenom (xgenom) 03.07.13 08:13
Я для обычных не делал, но думаю что на инфостарте их должно быть много.
3. Андрей Акулов (DrAku1a) 03.07.13 09:04
4. dvv01 (dvv01) 03.07.13 09:11
Вопрос несколько риторический:
есть документ, изменили его движения, а где храняться сделанные изменения? И как предотвращается обратное восстановление исходных движений при его перепроведении? А то ведь бухгалтера имеют привычку перед годовым отчетом все махом перепроводить...
5. xgenom xgenom (xgenom) 03.07.13 09:15
(4) dvv01, для этого нужно воспользоваться другой обработкой и изменить исходные данные (табличные части и реквизиты самого документа).
6. dvv01 (dvv01) 03.07.13 12:25
(5) xgenom,
Разговор идет только о данной обработке. И получается следующая логика работы: берем эту обработку, используем ее, наё@@ваем неизвестно кого, а потом, в конце года, вместо быстрого закрытия периода пытаемся понять что пошло не так и кто дурак - следов нашей деятельности не осталось, отчетность поплыла...

Чтобы исключить подобное в разных конфах или существовал флажек "ручная корректировка", или есть документ "корректировка регистров".

Если уж идти по предложенному варианту, то надо допилить связку "корректаруемый документ" - "Корректировка регистов" (например, чтобы не сильно ломать конфу, через cвойства документа), все нужные изменения делать в документе "Корректировки регистров", а при изменениях исходного - по связке находить нужную корректировку и, например, ругаться, или генерировать отказ "ПередЗаписью" через подписку на события.

PS. На мой взгляд, сам документ, все его печатные формы и все отчеты по нему должны быть идентичны и не меняться случайным образом от перепроведения. И если написанный код этого не обеспечивает - его нельзя использовать, хотя... случаи бывают разные...
motorkuzbassa.it; Vladal; +2 Ответить 2
7. Андрей (Arven) 03.07.13 13:21
бывают ситуации когда необходимо поменять движения документа, без перепроведения
8. xgenom xgenom (xgenom) 03.07.13 13:28
(6) dvv01, при использовании чего либо влияющего на данные нужно отдавать себе отчет в том что делаешь.

1. Не все документы можно перепроводить.
2. Не все документы имеют табличные части.
3. Иногда бывает проще исправить какое значение в 2-х базах чем дотачивать синхронизацию
4. Не все используют типовые базы и в них может не быть документа "ручная корректировка" или аналогичного.

У обработки есть свои направления для использования. В каждом конкретном случае вы сами решаете, что вам лучше использовать.
9. V. L. (Vladal) 03.07.13 15:10
(8) xgenom, этот документ легко допилить в "нетиповую".
10. xgenom xgenom (xgenom) 03.07.13 15:58
11. V. L. (Vladal) 03.07.13 16:08
(10) xgenom, молодец.
Прикрути к своей обработке детальный лог для анализа изменений.
Тогда она будет полезной.
А так - очередная поделка класса "перенумератор".
12. xgenom xgenom (xgenom) 03.07.13 16:41
(11) Vladal, Для анализа чего с чем?

Я не претендую на оригинальность решения и не не предлагаю её как альтернативу "корректировки". Если вы не видите для себя сфер её применения, значит она вам не нужна.
13. V. L. (Vladal) 03.07.13 16:49
Распиши свою поделку в виде статьи - больше пользы будет.
Люди прочитают и поймут, "как это делается", а ленивые пусть качают готовую.
14. Саша Безымяный (help1Ckr) 04.07.13 17:22
(6) dvv01, Ситуации бывают разными. Поверьте, хоть сам ярый противник ручной корреткировки движений документов, но бывают ситуации когда это необходимо.
15. dvv01 (dvv01) 05.07.13 09:28
(14) help1Ckr,
Пример, плз. Желательно такой, против которого не придумать контрдоводов на случай тотального автопроведения - пояснения типа "бух ДОЛЖЕН исключить этот документ из списка проведения" не катят, т.к.:
1. Тот, кто проводит ничего не знает или не помнит
2. И в момент проведения перед монитором не сидит
3. Учет по партиям (критична последовательность проведения)
4. Контроль документооборота и разговоры с контрагентами ведутся по бумажкам с печатями и подписями

А пока подозреваю, что вреда от подобного класса обработок больше, чем пользы. К аналогам можно отнести "как отключить контроль отрицательных остатков", "контроль остатков комиссионного товара по договорам". И пользу могу придумать: например, товар нашли, оприходовали, и хотим вернуть поставщику, ан нет... а вернуть хочется... что, 1С-ники жизнь портят? А заканчиваются подобные хотелки после того как начальство поставит вопрос кто и за чей счет будет компенсировать двойную оплату такого товара.
16. dvv01 (dvv01) 05.07.13 10:10
(8) xgenom,

> 1. Не все документы можно перепроводить.
не понял. можно не перепроводить, если нет движений - тогда при чем тут эта обработка, а если есть движения, то как не перепроводить? И кто определяет что можно. Тогда, по идее, можно не перепроводить только те, которые не используются ни в каких последовательностях (по метаданным конфигурации) и не влияют на итоги любых регистров.

> 2. Не все документы имеют табличные части.
Скажу более, табличные части могут быть не нужны, или не соответствовать движениям, или используют части движений по третьим документам. Пример: отмена скидок, закрытие заказов, начисление зарплаты, или приходный ордер на товары по перемещению

> 3. Иногда бывает проще исправить какое значение в 2-х базах чем дотачивать синхронизацию
синхронизация не обмена - хотя это отдельная песня, причем при большой удаленности или разнотипности конфигураций явно как еще один контрдовод, а внутренняя - состав документа - его накладная - его движенмя, его влияние на итоги по регистрам с учетом взаимосвязей (количество остатков на складе, у организации, по договору, на счете...) - пробовали разбираться, когда эти остатки не синхронизированы? или найти ошибку, когда товар есть, но по партиям не списывается, или списывается, но не по той себестоимости "как должно"?

> 4. Не все используют типовые базы и в них может не быть документа "ручная корректировка" или аналогичного.
"Ручная корректировка" - это как раз флаг документа, который говорит, что его нельзя перепроводить без потери изменений, и он должен проверяется встроенной обработкой перепроведения. А все изменения движений как раз и делать в отдельном документе "Корректировка записей регистров". Тогда: исходный документ не изменен, при перепроведениях ничего не портится, в отчетах видно два регистратора: исходный и корректировка.

Иными словами как вариант доработки данной обработки: запуск как обработки табличных частей, копирование движений (с учетом ранее созданных корректировок), перерасчет "дельты" при изменении, создание нового документа "Корректировка регистров" с дельтами, для нового документа в свойствах или в комментарии указывать ссылку на исходный (для автопоиска), добавление необходимых печатных форм...
Под документом "Корректировка" понимается уже имеющийся "КорректировкаЗаписейРегистров" в УТ, КА, УПП...
17. xgenom xgenom (xgenom) 05.07.13 13:28
(15) dvv01, я не понимаю, почему вы решили, что все работают только с бухгалтерией? Вы мыслите в рамках своих задач.

Вот еще примеры:

1. Что использовать, чтобы отразить корректировку в аналитических системах SAP и Oracle?
2. Алгоритмы могут проверять регистратор на тип. Корректировки регистратор не подменяют или я что-то упустил?
3. Бывает даже ситуации когда ты хочешь внести в чью-то конфигурацию документ корректировки, но записей в регистре порядка 800 миллионов, а предприятие никак нельзя остановить на 1-2 дня для перестроения регистра.
18. Саша Безымяный (help1Ckr) 07.07.13 11:27
(15) dvv01, Простой пример. Досталась мне в наследство специфическая самописная конфигурация.Там был документ, что то наподобии распределения затрат, который работал по одному алгоритму до какогото периода, а потом разработчики изменили логику проведения. заглушку на проверку даты никто не поставил. Данные прошлых периодов у них корреткируются в текущем числе, поэтому перепроведений и восстановлений последовательностей задним числом никто не делает. Пользователь влез в прошлый период и случайно перепровел документ. В данной ситуцации исправить можно только одним способом - привести движения тех документов в первоначальный вид. Я понимаю, что разработчики той конфы были не правы, когда заменили алгоритм проведения и пользователь был не прав, который лазил какого то черта в прошлый период, Но ситуацию нужно было править. Корректировка записей регистров не совсем устраивала ситуацию, ибо отчет, подаваемый по данному документу предоставлялся клиенту в случае сверки. Да ситуация специфическая, но такие тоже бывают.
19. dvv01 (dvv01) 08.07.13 09:18
(17), (18). Т.е. речь идет не о типовой 1C? Аргументы приняты: есть коряво самописанная база SAP, установленныя на стратегическом объекте без права остановки, использующая движок от 1С, в которой не предусмотрены механизмы исправления ошибочный действий пользователей, а разработчики и вся служба поддержки давно уволилась... и еще руководство жмотится на 12000 для покупки типовой конфы. :)
Извиняюсь за сарказм и уточняю свое "недовольство":
данная схема действий (не обработка, а методика) искажает результаты проведения документа, причем скрытно, без отражения в накладных, и которые (результаты проведения) будут опять изменены (без следов) в результате типичных действий пользователя...
20. xgenom xgenom (xgenom) 08.07.13 11:46
1.(19) dvv01, не для всех задач предприятия существуют готовые решения.
2. Отраслевые решения стоят далеко не 12 тыс. руб (особенно если у вас около 1000 активных пользователей).
3. Крупная розница не может позволить себе остановить системы более чем 1-2 часа, в том числе в выходные и в ночное время (поставки и развозы работают 24*7, простой стоит больших денег для компании).
4. SAP не использует движок 1с (даже не понимаю как это вообще возможно), а использует её как источник данных.

dvv01, категорически не рекомендую вам её использовать!
21. Ольга Устинова (olga_orkom) 10.03.15 13:26
У меня или не работает, или я что-то делаю не так, но результата изменений не вижу. И еще выдается сообщение "Использование модальных окон в данном режиме запрещено
22. Илья Малков (foxsis) 30.12.15 11:40
На Бухгалтерии 3.0 (3.0.43.32) не работает. Пытался отредактировать движения документа "Отражение зарплаты в рег. учёте" (удаляешь движение из регистра, нажимаешь "Записать изменения",выдаётся сообщение что всё ОК) В итоге открываешь документ,заходишь в движения, ничего не поменялось.
23. Алексей Белоусов (AllexSoft) 01.08.16 11:28
Внимание! Обработка НЕ рабочая. Для того что бы работало открываем в конфигураторе, ищем
 _ВыбранныйДокумент.Движения[РегистрДвижения.Имя].Загрузить(ЭтаФорма["ТЧ_" + РегистрДвижения.Имя].Выгрузить()); 

и перед этой строкой дописываем еще одну
_ВыбранныйДокумент.Движения[РегистрДвижения.Имя].Записывать = Истина;

Вот тогда будет работать )

ПС: а по поводу срача надо\не надо, это каждый сам для себя решает.. я далеко не фанат редактирования движений так еще и в ручную, но вот попался документ который нужно или перепровести или отменить.. встроенные штатные НЕ отключаемые проверки не дают это сделать (срабатывает контроль на отрицательные остатки регистра "Товары к оформлению"), регистр временно скорректировать корректировкой движений нельзя (не входит в состав движений), проверки стоят как при отмене проведения так и на проведение.. то есть мне либо обновлять конфу на живую (а пользователей очень много онлайн), отключая закомментировав штатную проверку на время, либо вот поправить движения один раз обработкой, с умом что бы регистр "в минус" не уходил.. так что все очень даже полезно, если применять к месту и с умом.
24. Роман Гаманец (_Ramzes) 08.09.16 14:13
Пришлось немного переписать обработку. Чтобы каждый регистр после заполнения заполнялся. Потому как Объект.Записать() не записывает движения документа.
А так работает.