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

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

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

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

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

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

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

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

См. также

Добавить вознаграждение
Комментарии
1. Venger (venger) 03.10.08 08:25 Сейчас в теме
Кстати, чтоб два раза не бегать по строчкам дока при проведении, флаг, что строки старые измененые, можно вынести, как реквизит в шапку дока.
2. Venger (venger) 03.10.08 09:14 Сейчас в теме
3. Ёпрст (Ёпрст) 1011 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. Ёпрст (Ёпрст) 1011 03.10.08 09:39 Сейчас в теме
(4) При чем тут сам документ ? Распровести можно в журнале, еслы вы не знакомы с этим... Или пометить на удаление. снять пометку на удаление.

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

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

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

Саму идею - в топку. Не надо этого ничего. Тем более, как у вас это реализовано, с полным перебором строк всегда..
11. Ёпрст (Ёпрст) 1011 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) 62 15.01.09 14:59 Сейчас в теме
(3) А если отменять нельзя? 5 человек набивают расходы - остаток съедят мигом.
17. Александр Венгер (venger) 2032 15.01.09 15:14 Сейчас в теме
(16) Отмену уже, вроде ж, учел и групповое перепроведение доков...
18. Vasily Kushnir (vasilykushnir) 62 15.01.09 15:49 Сейчас в теме
У себя на одном филлиале реализовал т.о. (для решения в конкретной ситуации): для уже проведенных строк выставляется признак проведения и эти строки запрещены для любых манипуляций, естественно перебором строк при проведении отыскиваются не "допроведенные" - документ обечно не превышает 50-100 строк, поэтому прямой перебор не сильно напрягает. При отмене проведения естественно все доступно для изменений. Но это, повторюсь, сильно частный случай.
20. DAVID (СССР) 13.08.09 11:35 Сейчас в теме
Странно и непонятно. Ну трудов много затрачено. Потому заслуженный ПЛЮС