![]() |
|
Условное редактирование документа в БП 2.0 | ☑ | ||
---|---|---|---|---|
0
YF
19.05.14
✎
12:49
|
Бухгалтерия предприятия 2.0 (клиент-серверный вариант работы)
При записи СписаниеСРасчетногоСчета штатно изменяется платежное поручение (ПП) (в нем ставится "признак" оплаченности) Хочу при наличии такого признака в ПП запретить записывать ПП любым способом, кроме редактирования списания с расчетного счета. Как сделать? Хочется какое-нибудь красивое решение. Конфигурацию можно править. |
|||
1
vicof
19.05.14
✎
12:56
|
Передавай в объект допсвойство и анализируй его перед записью, делов-то.
|
|||
2
YF
19.05.14
✎
12:57
|
(1) Как в ПередЗаписью передать параметр?
|
|||
3
pervakovanton
19.05.14
✎
13:00
|
ЭтотОбъект.ДополнительныеСвойства.Вставить("ИзСписания",Истина)
|
|||
4
YF
19.05.14
✎
13:52
|
(3) Прекрасно, а каким образом мы поймем, что это доп. свойство установлено именно при проведении ПП, а не кем-то вручную. И что помешает пользователю самому создать такое свойство руками?
|
|||
5
YF
19.05.14
✎
13:56
|
+ Доп свойства будут доступны для конкретного экземпляра объекта в процедуре.
При проведении Списания у объекта их установим, в процедуре ПередЗаписью() у ПП они будут доступны? |
|||
6
pervakovanton
19.05.14
✎
14:06
|
должно быть при проведении списания получается ПП(объект) и записывается. Если ему установить допсвойство то оно будет доступно все время существования объекта(и перед записью тоже)
Проверить наличие своййства можно так Если ДополнительныеСвойства("ИзСписания",ИзСписания) И ИзСписания = Истина Тогда |
|||
7
YF
19.05.14
✎
14:13
|
(6) Время существования какого объекта? Объекта встроеного языка или объекта БД?
|
|||
8
pervakovanton
19.05.14
✎
14:23
|
Объекта встроеного языка
|
|||
9
YF
19.05.14
✎
14:26
|
(8) Каким образом объект встроенного языка перенесется из процедуры СписанияСРасчетногоСчета в процедуру ПП?
|
|||
10
pervakovanton
19.05.14
✎
14:40
|
ЭтотОбъект.Записать()
|
|||
11
YF
19.05.14
✎
14:45
|
(10)
После "объектПП_.Записать();" в списании управление передается в ПередЗаписью ПП. грубая прикидка ниже. *** Списание. МодульОбъекта При проведении: ссылка_ = ЭтотОбъект.ПлатежноеПоручение; объектПП_ = ссылка_.ПолучитьОбъект(); //объектПП_ - это тот самый объект встроенного языка. объектПП_.ДополнительныеСвойства.Вставить("ИзСписания",Истина) объектПП_.Записать(); *** ПП. МодульОбъекта ПередЗаписью ДополнительныеСвойства("ИзСписания",ИзСписания) - ? //Здесь будут видны доп. свойства???? |
|||
12
pervakovanton
19.05.14
✎
14:52
|
да, будет видно и в модуле объекта и в подписках
|
|||
13
pervakovanton
19.05.14
✎
14:53
|
(6) тут ошибочка
правильно ДополнительныеСвойства.Свойство("ИзСписания",ИзСписания) т.е. дополнительные свойства это структура которая прилеплена к объекту |
|||
14
YF
19.05.14
✎
16:36
|
pervakovanton
Спасибо, что открыл глаза на дополнительные свойства. Раньше их не использовал. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |