Имя: Пароль:
1C
1С v8
Как организовать контроль за изменением реквизита
,
0 Deahianaianyrto
 
03.07.14
16:45
При изменении статуса ЗаказаКлиента на "закрыт" должна происходить проверка на отсутствие задолженности по взаиморасчетам.
Как так сделать, чтобы стаус не мог менятся на "закрыт", если есть задолженность по взаиморасчетам? (детали запроса не интересуют).
1 Михаил Козлов
 
03.07.14
16:46
Может быть полее ввода делать недоступным?
2 Михаил Козлов
 
03.07.14
16:47
Виноват: при изменении проверять новое значение.
3 ОчкарикСлава
 
03.07.14
16:48
а конфа какая?
4 Deahianaianyrto
 
03.07.14
16:50
8.3 УТ 11.1 (3)
5 Deahianaianyrto
 
03.07.14
16:51
(2) А как откатывать к старому значению в случае чего?
6 Enders
 
03.07.14
16:52
(2) Тогда уже в ОбработкеВыбора, что бы можно было отказаться от изменения ;)
7 Enders
 
03.07.14
16:53
(6) + только ещё поставить запрет на ручной ввод. Когда они руками набирают название значения  срабатывает не обработка выбора, а окончание ввода текста.
8 Deahianaianyrto
 
03.07.14
17:24
(6) А как в обработкеВыбора отказаться от нового значения?
9 anatoly
 
03.07.14
17:25
подставить пустуюссылку
10 Deahianaianyrto
 
03.07.14
17:29
Надо вообще так сделать чтобы они не могли поставить стаус "закрыт" на заказКлиента с долгом.
11 Irbis
 
03.07.14
17:30
А как быть с изменением документов в прошлом? Ну, там СФ исправленный пришлют?
12 Segate
 
03.07.14
17:32
Надо позвать программиста! )
Он заглянет в процедуру рассчет статуса, и увидит там все что необходимо. статус каждый раз при выборе этой процедуры рассчитывается последовательно. т.е. твоя задача просто добавить необходимое условие, и при изменении статуса вызывать процедуру рассчета
13 Irbis
 
03.07.14
17:32
(11) Имхо статус какой-то неправильный. Иногда даже с последними козлами риходится дело иметь если выгодно. Так зачем же "закрывать" клиента.  бы определил перечень условий и на любую дату проверял бы их по запросу.
14 Enders
 
03.07.14
17:39
(8) СтандартнаяОбработка = Ложь;
15 Diversus
 
03.07.14
17:49
ПередЗаписью в модуле объекта встрой проверку на то, что если статус закрыт проверяем взаиморасчеты и в случае чего не записываем документ (Отказ = Истина) и пишем "По заказу № ... от ... не закрыты взаиморасчеты статус можно изменить по заказу только когда взаиморасчеты закрыты".

Или если конфа типовая добавь подписку на событие.
16 Deahianaianyrto
 
03.07.14
18:13
(14) Спасибо
17 VitShvets
 
03.07.14
18:23
Как другой вариант, кнопка на форме "Закрыть заказ". По нажатию проверяем всё что нужно, если все проверки прошли, то меняем реквизит и, по хорошему, записываем документ.
18 Deahianaianyrto
 
03.07.14
18:28
Вот ещё вопрос, в модуле формы документа на сервере надо получить сам документ. Объект и ЭтотОбъект не срабатывает.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший