gifts2017

Организация допроведения документа (простенький учебный пример)

Опубликовал Александр Венгер (venger) в раздел Обработки - Обработка документов

Очень простенький учебный пример (минут за двадцать накидал), чисто для иллюстрации основной идеи допроведения документа, при котором можно сносно реализовать, если в документе изменяются, удаляются старые (уже проведенные) строки или меняется порядок строк, а не только добавляются новые. Можно еще оптимизировать.

Пример несколько упрощенной задачи, в которой можно это применить:
Документ "Расход товаров", который служит для отражения в системе учета фактов продажи товаров и списывает их со склада. Документ вводится один раз в начале смены и остается активным до конца смены. Ввод новой продажи в течении смены осуществляется добавлением новых строк в документ и отработки процедуры “Допровести” (одноименная кнопка в форме). Процедура “Допровести” должна сформировать движения по списанию выбранных товаров, контролируя наличие необходимого их количества на складе с учетом ранее проданных товаров, введенных в этом документе. Т.е. необходимо реализовать режим допроведения документа (уже проведенные строки не должны проводиться повторно) с поддержкой в актуальном состоянии временного расчета регистра с учетом уже записанных при предыдущих продажах в этом документе движений.
Обновлено: 15:08 04.10.2008

Качаете, это простенькая конфигурация. Содержит справочник товаров, регистр остатков товаров и пару документов: приход товаров и расход товаров, где и организовано допроведение. И отчет по остаткам для контроля результатов.

Может найдутся идеи и получше или неудачные моменты в этой. Буду рад, если кто выскажет свои мысли на этот счет.

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

Наименование Файл Версия Размер
ДопроведениеПоПолной.zip 157
.1222980236 49,13Kb
21.10.14
157
.1222980236 49,13Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Venger (venger) 03.10.08 08:25
Кстати, чтоб два раза не бегать по строчкам дока при проведении, флаг, что строки старые измененые, можно вынести, как реквизит в шапку дока.
2. Venger (venger) 03.10.08 09:14
3. Епрст (Ёпрст) 03.10.08 09:20
НизачОт... Отмени проведение документа и привет.
4. Venger (venger) 03.10.08 09:24
Проводить по кнопке "Провести", там отменить нельзя...

В кнопке Ок, тоже можно не спрашивать...

5. Venger (venger) 03.10.08 09:25
6. Venger (venger) 03.10.08 09:30
(3) А еще, удали кнопку Ок с формы:-) А работать, кнопка Провести, потом Закрыть:-)
7. Venger (venger) 03.10.08 09:31
(3) А при закрытии проводить принудительно...
8. Епрст (Ёпрст) 03.10.08 09:39
(4) При чем тут сам документ ? Распровести можно в журнале, еслы вы не знакомы с этим... Или пометить на удаление. снять пометку на удаление.

(5) Да никак.
(6,7) Зачем ?

9. Venger (venger) 03.10.08 09:54
(8) И что, при распроведении, пометке на удаление или снятии, можно тоже отловить от работать, что нужно. Т.е. все сторки сделать добаленными, флаг сбросить, также как при вводе нового, например.

Есть вариант получше? Или как? За недоработки все-равно спасибо. Еще есть слабые места? Буду благодарен.
10. Епрст (Ёпрст) 03.10.08 10:02
(9) Отловить можно всё.
Есть процедура ОбработкаУдаленияПроведения

Саму идею - в топку. Не надо этого ничего. Тем более, как у вас это реализовано, с полным перебором строк всегда..
11. Епрст (Ёпрст) 03.10.08 10:03
+10 Вообще самим механизмом всегда пользовался только, если надо внести изменения по какому-либо регистру. Например, добавили /удалили измерение и т.д.. Т.е. выборочное перепроведение.
12. Venger (venger) 03.10.08 10:57
(10) Т.е. я понял так, что отказываемся от этой возможности, так как в 1С нет штатного постого механизма?

Или просто вопрос в реализации?
13. Venger (venger) 03.10.08 11:24
(10) А то, что по старым строкам, если они не изменены, бегать не стоит, то это я че то тупанул:-)

Это я поправлю, как и вещи связанные с распроведением, пометкой на удал. и т.д.

Я просто хочу определиться и четко понять, организовать допроведение новых строк дока, оставив возможность изменения и удаления старых можно и как лучше?
14. Venger (venger) 03.10.08 15:47
Поправил, с учетом предидущих проблем, обновил...
Вроде все работает как надо, даже групповое перепроведение учел.
15. Venger (venger) 04.10.08 16:27
Обновил: добавил контроль наличия необходимого количества товара на складе при продаже с учетом ранее проданных товаров, введенных в этом документе.
16. Vasily Kushnir (vasilykushnir) 15.01.09 14:59
(3) А если отменять нельзя? 5 человек набивают расходы - остаток съедят мигом.
17. Александр Венгер (venger) 15.01.09 15:14
(16) Отмену уже, вроде ж, учел и групповое перепроведение доков...
18. Vasily Kushnir (vasilykushnir) 15.01.09 15:49
У себя на одном филлиале реализовал т.о. (для решения в конкретной ситуации): для уже проведенных строк выставляется признак проведения и эти строки запрещены для любых манипуляций, естественно перебором строк при проведении отыскиваются не "допроведенные" - документ обечно не превышает 50-100 строк, поэтому прямой перебор не сильно напрягает. При отмене проведения естественно все доступно для изменений. Но это, повторюсь, сильно частный случай.
20. DAVID (СССР) 13.08.09 11:35
Странно и непонятно. Ну трудов много затрачено. Потому заслуженный ПЛЮС