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

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

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

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

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

19 Comments

  1. venger

    Кстати, чтоб два раза не бегать по строчкам дока при проведении, флаг, что строки старые измененые, можно вынести, как реквизит в шапку дока.

    Reply
  2. venger

    (1) Доделал, обновил файл

    Reply
  3. Ёпрст

    НизачОт… Отмени проведение документа и привет.

    Reply
  4. venger

    Проводить по кнопке «Провести», там отменить нельзя…

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

    Reply
  5. venger

    Идея как?

    Reply
  6. venger

    (3) А еще, удали кнопку Ок с формы:-) А работать, кнопка Провести, потом Закрыть:-)

    Reply
  7. venger

    (3) А при закрытии проводить принудительно…

    Reply
  8. Ёпрст

    (4) При чем тут сам документ ? Распровести можно в журнале, еслы вы не знакомы с этим… Или пометить на удаление. снять пометку на удаление.

    (5) Да никак.

    (6,7) Зачем ?

    Reply
  9. venger

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

    Есть вариант получше? Или как? За недоработки все-равно спасибо. Еще есть слабые места? Буду благодарен.

    Reply
  10. Ёпрст

    (9) Отловить можно всё.

    Есть процедура ОбработкаУдаленияПроведения

    Саму идею — в топку. Не надо этого ничего. Тем более, как у вас это реализовано, с полным перебором строк всегда..

    Reply
  11. Ёпрст

    +10 Вообще самим механизмом всегда пользовался только, если надо внести изменения по какому-либо регистру. Например, добавили /удалили измерение и т.д.. Т.е. выборочное перепроведение.

    Reply
  12. venger

    (10) Т.е. я понял так, что отказываемся от этой возможности, так как в 1С нет штатного постого механизма?

    Или просто вопрос в реализации?

    Reply
  13. venger

    (10) А то, что по старым строкам, если они не изменены, бегать не стоит, то это я че то тупанул:-)

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

    Я просто хочу определиться и четко понять, организовать допроведение новых строк дока, оставив возможность изменения и удаления старых можно и как лучше?

    Reply
  14. venger

    Поправил, с учетом предидущих проблем, обновил…

    Вроде все работает как надо, даже групповое перепроведение учел.

    Reply
  15. venger

    Обновил: добавил контроль наличия необходимого количества товара на складе при продаже с учетом ранее проданных товаров, введенных в этом документе.

    Reply
  16. vasilykushnir

    (3) А если отменять нельзя? 5 человек набивают расходы — остаток съедят мигом.

    Reply
  17. venger

    (16) Отмену уже, вроде ж, учел и групповое перепроведение доков…

    Reply
  18. vasilykushnir

    У себя на одном филлиале реализовал т.о. (для решения в конкретной ситуации): для уже проведенных строк выставляется признак проведения и эти строки запрещены для любых манипуляций, естественно перебором строк при проведении отыскиваются не «допроведенные» — документ обечно не превышает 50-100 строк, поэтому прямой перебор не сильно напрягает. При отмене проведения естественно все доступно для изменений. Но это, повторюсь, сильно частный случай.

    Reply
  19. СССР

    Странно и непонятно. Ну трудов много затрачено. Потому заслуженный ПЛЮС

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *