Имя: Пароль:
1C
1С v8
Проведение документа
,
0 Gusarm
 
02.12.13
09:49
Как узнать при проведении документа, проведен он уже или нет, без запроса к его движениям?
1 Галахад
 
гуру
02.12.13
09:53
Наверное ссылку посмотреть.
2 Gusarm
 
02.12.13
09:54
(1) в ссылке реквизит "Проведен" сразу выставляется в Истина
3 Gusarm
 
02.12.13
09:54
(2) даже если он только создан
4 unregistered
 
02.12.13
09:54
Процедура ПередЗаписью()
   Если НЕ ЭтоНовый() И Ссылка.Проведен И РежимЗаписиДокумента.Проведение Тогда
      ДополнительныеСвойства.Вставить("ЭтоПерепроведениеПроведенного", Истина);
  Иначе
      ДополнительныеСвойства.Вставить("ЭтоПерепроведениеПроведенного", Ложь);
  КонецЕсли;
КонецПроцедуры;
Процедура ОбработкаПроведения()
   Если ДополнительныеСвойства.ЭтоПерепроведениеПроведенного Тогда
     // что-то делаем
   КонецЕсли;
КонецПроцедуры();
5 Gusarm
 
02.12.13
10:00
(4) согласен, а можно с минимальным внесением изменений в код?
6 Ненавижу 1С
 
гуру
02.12.13
10:04
(5) свои подписки на события
7 unregistered
 
02.12.13
10:08
(5) см. (6)
Это всё можно сделать вообще не затрагивая типовой функционал.
Всё через подписки на события с обработчиками в собственном общем модуле.
8 Gusarm
 
02.12.13
10:09
(6) подписки на событие "При проведении"?
9 Gusarm
 
02.12.13
10:10
у меня есть проверка проведения заказа, реализованная подпиской на событие "При проведении". Естественно в своем модуле. В ней как-то можно проверить, проведен док уже или нет?
10 unregistered
 
02.12.13
10:13
(8) Какие события такие и подписки...
То что в (4) в процедуре ПередЗаписью должно быть в обработчике подписки на событие ПередЗаписью, а то что в процедуре ОбработкаПроведения - в обработчике подписки на событие ОбработкаПроведения.
11 Gusarm
 
02.12.13
10:15
(10) Это все понятно. Вопрос то как раз в том, можно ли это сделать в уже имеющейся подписке на событие "при проведении"
12 Kalambur
 
02.12.13
10:16
(11) в подписке ПередЗаписью пихаешь в ДополнительныеСвойства флажок проведение или нет
13 hhhh
 
02.12.13
10:17
(11) а мозг включить?
14 Gusarm
 
02.12.13
10:20
(12) без создания подписки на событие "при записи"
(13) не выключал ещё
15 unregistered
 
02.12.13
10:29
(11) Где именно это разместить - твоё личное дело и зависит от конкретной задачи.
Можно в модуле документа, можно в существующих подписках, можно свои подписки сделать.
Единственное, что следует учитывать, что порядок обработки подписок на события (если есть несколько подписок на одно и то же событие) непредсказуем. Все подписки выполняются после обработки процедур-обработчиков соответствующих событий в модуле документа.
То есть, если у документа есть несколько подписок на событие ПередЗаписью, то сначала выполниться обработка процедуры ПередЗаписью() модуля этого документа, а потом в непредсказуемом порядке обработка подписок на событие ПередЗаписью.
16 Kalambur
 
02.12.13
10:32
(14) ну попробуй силой мысли епт
17 Gusarm
 
02.12.13
10:37
(16) да ты гений, епт
18 Kalambur
 
02.12.13
10:46
(17) чего о тебе не сказать конечно
19 Gusarm
 
02.12.13
10:53
(18) клоун
20 Kupogun
 
02.12.13
11:01
(19) ему помогли и все подробно разжевали, а он еще и обезьянничает.
21 Gusarm
 
02.12.13
11:05
(20) Просто тут все такие специалисты. Спросить прям боюсь что нибудь простое) Ответа я так и не получил.
22 Галахад
 
гуру
02.12.13
11:06
На какой вопрос?
23 Gusarm
 
02.12.13
11:11
(9) я не просил решения, я просто спросил возможно или нет.
В уже имеющейся подписке.
При первом проведении заказа покупателя идет проверка цены, при последующих не нужно этого делать.
Проверка в Подписке на событие.
В ней же проверить, проведен уже док, или нет
24 unregistered
 
02.12.13
11:23
(23) Чем КОНКРЕТНО не устроил ответ в (4)?
Как можно ответить на твой вопрос понятнее? Я лично не знаю.

Тебе сказали в каких обработчиках и что конкретно надо сделать, чтобы решить твою задачу.
Если этого недостаточно, то следует подумать о том, чтобы пригласить специалиста.
25 Gusarm
 
02.12.13
11:31
(24) все нужно сделать в одной подписке. Можно или нет?
26 Галахад
 
гуру
02.12.13
11:38
(25) Нет. Устраивает такой ответ?
27 Gusarm
 
02.12.13
11:40
(26) да.
28 unregistered
 
02.12.13
11:43
(25) В одной подписке - нет. Это вытекает из ответов.
Остаётся загадкой что мешает сделать в двух подписках...
29 Gusarm
 
02.12.13
11:45
(28) в двух уже сделано
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.