v7: Проведение документа: новый или перепроведение? #788464


#0 by Масянька
День добрый! Как при проведении док-та определить - новый или перепроводится уже существующий? Спасибо.
#1 by vcv
Проверить Проведён в модуле проведения?
#2 by Amra
В ПередЗаписью в ДополнительныеСвойства кидай ЭтоНовый "Старый" документ мог быть и не проведен
#3 by Масянька
Существующий док-т -> отмена проведения -> проведение. И? А где дополнительный свойства?
#4 by Остап Сулейманович
В самой ОбработкаПроведения документ уже записан. Поэтому - в лоб никак не определить. Можно передать параметр из формы. Например : ... КонецПроцедуры
#5 by Amra
Восьмерка же? Если ЗначениеЗаполнено(Ссылка) тогда Объект.ДополнительныеСвойства.Вставить("ЭтоНовый"); конецесли;
#6 by Масянька
Чего? Секцию в упор не видим?
#7 by Amra
Не путай человека
#8 by Масянька
Точно в лоб никак?
#9 by Amra
Ну сплю я еще)
#10 by Масянька
А если сначала записать, а потом провести?
#11 by vcv
Лучше бы начать с описания задачи человеческим языком. Если нужно отлавливать, что документ ранее был проведен и его еще раз проводят, то, в общем случае, без дополнительного реквизита не обойдёшься. Или дополнительной таблички с нужными данными в базе.
#12 by Масянька
Человечий язык и 1С - несовместимы.
#13 by Остап Сулейманович
100 пудов. Проведение начинается с записи. И только потом вызывается обработчик Обработка проведения. Нужен флаг, который будет выставляться непосредственно перед проведением. В форме таким флагом может быть результат функции Выбран. Можно использовать специальный реквизит самого документа, который выставлять в "1" при первом проведении. ...
#14 by vcv
Зато совместимы человеческий язык и потребности учета/документооборота. В сформулирована не задача, а ваша попытка её решения. Попытка, возможно, не очень удачная.
#15 by Остап Сулейманович
"сначала записать, а потом провести" - документ уже не будет новым. Он уже будет иметь позицию. Как и все остальные. С точки зрения платформы он будет неотличим от остальных непроведенных документов. Если нужно отловить факт первого проведения - нужно использовать реквизит самого документа.
#16 by Масянька
Блин... Хотела обойтись малой кровью... Не судьба... Спасибо.
#17 by vcv
Ну можно не реквизит. Можно отдельную табличку или даже отдельные файлы. Так как документов, которые хочется отловить, не должно быть много, можно для каждого документа писать текстовый файл-журнал. С информацией, кто и когда его делал непроведенным, спросить и запомнить, зачем перепроводили и так далее.
#18 by vcv
+ Опять таки всё зависит от задачи.
#19 by Это_mike
малой кровью - юзай перехватчик. У объекта добавляешь флаг, вперехвате ввода нового и ввода на основании его взводишь, после проведения - сбрасываешь.
#20 by vde69
так пойдет? если ЭтотОбъект.Проведен и не ЭтотОбъект.Ссылка.Проведен Тогда ....
#21 by Это_mike
выдыхай,бобер, выдыхай....©
#22 by Это_mike
идею поняла? Помощь нужна? Если да, то спрашивай, а то я лыжить собрался, до вечера не вернусь.
#23 by Масянька
Иди, отдыхай. Уже делаю.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С