Имя: Пароль:
1C
1С v8
Оперативное-неоперативное проведение документов
0 bard666
 
26.12.12
15:21
История такова. Есть документ РТУ в конфе УТ на платформе 8.2.15.317. При попытке провести его январем 2013 года говорит, что дата больше текущей, провести оперативно не могу. Сделали фокус - новый реквизит типа Дата. Заполняем его и оба-на! - система задает вопрос: как желаете провести: оперативно или нет.. Может кто-то подсказать где искать код этого фокуса? Смотрел процедуры ПриЗаписи и ПередЗаписью в форме и модуле объекта, ничего похожего там не нашёл и точка отладки до туда не доходила. Кто что расскажет?
1 Naumov
 
26.12.12
15:29
это системный диалог. не найдете его в коде
2 Zebbar
 
26.12.12
15:30
Посмотри свойства дока в конфигураторе. Там есть "Оперативное проведение"
3 bard666
 
26.12.12
15:31
Смотрел. Опреративное проведение "Разрешить"
4 Zebbar
 
26.12.12
15:32
А ты хочешь просто окошко получить, или отменить оперативное проведение?
5 bard666
 
26.12.12
15:33
(1) Но как-то же обошли эту системную примочку.. Может есть варианты куда ещё можно залезть, посмотреть?
6 Zebbar
 
26.12.12
15:34
Так я не понял, хочешь то что? Отключить оперативное проведение? Ну отключи в конфигураторе.
7 bard666
 
26.12.12
15:35
(4) Я хочу понять, как при проведении документа с заполненым реквизитом на следущий период (год) Изменяется дата и документ проводится, а если реквизит не заполнен, то проведение невозможно
8 Ёпрст
 
гуру
26.12.12
15:38
проводи не оперативно, делов то
9 bard666
 
26.12.12
15:47
Попробую более подробно объяснить.
Документ РТУ, в нем помимо прочих два реквизита Дата (системный реквизит) и ДатаПроведения (Добавленный программистами с типом дата). Если попробовать провести документ январем 2013 года (Реквизит Дата = 03.01.2013 0:00:00, а реквизит ДатаПроведения не заполнен), выдается платформенная ошибка, что провести оперативно нельзя. Ставил точки отладки в процедурах ПередЗаписью, в ОбработкеПроведения, на них не останавливается. Если в РТУ Дата = ТекущаяДата() и ДатаПроведения поставить 03.01.2013, он уже спрашивает как провести Оперативно или нет и проводит и приравнивает реквизит Дата к ДатаПроведения. Как такое могли запрограммировать?
10 Серый Пес
 
26.12.12
15:52
(9) А какой датой идут движения? И, до кучи, в обработке проведения поиск ДатаПроведения дает что-то? :)
11 bard666
 
26.12.12
16:03
Нашёл. Ларчик просто открывался: при проведении все проверки идут по реквизиту Дата и только после проведения перезаписывает дату документа
12 bard666
 
26.12.12
16:03
(10) по регистрам проходит нормально
13 Serg_1960
 
26.12.12
16:17
(11) А какже тогда (9) "Ставил точки отладки в процедурах ПередЗаписью, в ОбработкеПроведения, на них не останавливается"? :)
14 bard666
 
26.12.12
16:20
(13) Это когда ставишь дату равной 03.01.2013 он до этих точек не доходит и выдает сообщение от платформы, что оперативно провести нельзя.
15 Serg_1960
 
26.12.12
16:21
(имхо) "... и ДатаПроведения (Добавленный программистами с типом дата)" - это нечто с чем-то. Озвучь фио авторов этого чуда на всеобщее оборжание...тьфу, оборзение... нет, не так, обозрение.
16 bard666
 
26.12.12
16:24
(15) знать бы как звать, чтоб не приходили..)
17 Serg_1960
 
26.12.12
16:29
:) Они явно не мистяне. За такое "решение" голову им оторвать - мало. Им она не нужна - не заметят.

Взяли бы вариант нашего Гения что ли...

Процедура ПередЗаписью()
   ....
   Если Дата>ТекущаяДата() Тогда
           ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.НеОперативный;
       Иначе
           ЭтаФорма.ИспользоватьРежимПроведения=ИспользованиеРежимаПроведения.Оперативный;
   КонецЕсли;
   ....
КонецПроцедуры
18 Infsams654
 
26.12.12
16:30
(16) так движения то какой датой получаются (период)?
19 iceman2112
 
26.12.12
16:35
Еще нужен добавить реквизит "НомерДокумента"
20 Serg_1960
 
26.12.12
16:45
(18) Я так понял, что первоначально - всё текущей датой. И проверки и проводки. Потом меняется дата документа (вероятно при ОбменДанными = Истина). Соответственно потом, когда наступит это "будущее" - документ перепроводится и всё становится на свои места :)
21 bard666
 
26.12.12
17:13
(20) Почти. В период регистров записывается ДатаПроведения, а потом на неё меняется и Дата в доке