Имя: Пароль:
1C
 
отмена проведения документа
Ø
,
0 MoSer
 
06.09.05
14:26
Можно ли отменить проведение документа из модуля формы его самого (или просто из модуля)?
1 Uho
 
06.09.05
14:34
НеПроводитьДокумент();
DoNotTransactDoc();
Синтаксис:
НеПроводитьДокумент()
Назначение:
Отмена проведения документа.
Замечание:
Метод доступен только в Модуле документа в предопределенной процедуре ОбработкаПроведения.
Подробнее см. в документации, глава 'Работа с Документами'
2 MoSer
 
06.09.05
14:36
(1)
А если документ уже был проведен?
3 MoSer
 
06.09.05
14:39
Полный смысл задачи такой (Конф. Бух 7.7 переписана):
Сначала идет проверка на признак необходимости резервирования товара. Если есть, тогда документ проводится и товар учитывается на забалансе. Затем товар надо снять с резерва, чтобы его можно было отгрузить (так поставили задачу). Простое удаление всех проводок из этого документа их не устраивает, нужно, чтобы и признак проведения документа убирался
4 NS
 
06.09.05
14:42
Через
Форма.Закрыть();
ОткрытьФорму(обработки);
В открываемой обработке, в ПриОткрытии -
Форма.Закрыть()
в приЗакрытии -
СделатьНеПроведенным(); ОткрытьФорму(Документа);
5 amb
 
06.09.05
14:43
ничего не понял про "затем товар нужно снять с резерва".... попробуй объяснить подробнее
6 johnnik
 
06.09.05
14:47
Не вопрос. Создаешь объект типа Док = СоздатьОбъект("Документ.Документ твоего вида"), позиционируешься на нем: Док.НайтиПоНомеру() и, если он уже проведен (Док.Проведен() = 1) делаешь Док.СделатьНеПРоведенным()
7 MoSer
 
06.09.05
14:49
(5)
В смысле, товар сначала зарезервировали, причем конкретный сотрудник. Товар пришли забирать. Для этого товар из резерва надо вытянуть. Это делается для того, чтобы этот зарезервированный товар не мог отгрузить другой сотрудник, а из резерва вытянуть может только тот, кто зарезервировал товар. А после снятия из резерва - отгрузить
8 amb
 
06.09.05
14:54
7 а зачем отменять для этого проведение документа, проводки? Организуй резерв на отдельном счете (забалансовом) и затем снимай оттуда... зачем у дока проводки убирать?
9 amb
 
06.09.05
14:58
заносим на резерв - дебет счета, например РТ (Резервы ТОваров), убираем с резерва - кредит РТ, и все... зачем отменять какието проводки?
10 MoSer
 
06.09.05
15:09
(6)
Так я уже пробовал. Выдает ошибку: "объект заблокирован".
Проблема в том, что отмену проведения надо бы сделать в самом документе
11 NS
 
06.09.05
15:10
(10) Неграмотный, да?
в (4) всё написано.
12 MoSer
 
06.09.05
15:12
(8,9)
Да это все просто, но мне поставили задачу, чтобы и признак проведения убирался
13 MoSer
 
06.09.05
15:14
(11)
Я правильно понял? Ты предлагаешь использовать промежуточную обработку?
14 NS
 
06.09.05
15:20
есно..
перем текдок,док;
Процедура приоткрытии()
  текДок=Форма.Параметр;
  Док=создатьобъект("Документ");
  Док.НайтиДокумент(ТекДок);
  Форма.Закрыть();
КонецПроцедуры
Процедура ПриЗакрытии()
  Док.СделатьНепроведенным();
  ОткрытьФорму(Док.ТекущийДокумент());
КонецПроцедуры
В документе -
перем делатьнепроведенным;
Если выбран()=1 тогда
Если провелен()=1 тогда
ПриЗаписиПерепроводить(0);
Записать();
Делатьнепроведенным=1;
Форма.Закрыть();
КонецЕсли;
КонецЕсли;
....
ДелатьНепроведенным=0;
15 MoSer
 
06.09.05
15:22
Ща, попробую...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс