|
Интерактивное изменение активности записи регистра сведений | ☑ | ||
---|---|---|---|---|
0
fantomrik
07.12.15
✎
13:43
|
Доброго дня!
Создал независимый, не периодический регистр сведений. Сделал для него форму записи и списка. В форме записи добавил реквизит формы "АкцияАктивна" (булево), который заполняю при создании формы на сервере (читая набор по отборам данной записи и беря из отбора "Активность"). Собственно при повторном открытии записи "Активность" всегда Истина. &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Набор = РегистрыСведений.ЛЗ_АкцииИнтернетМагазина.СоздатьНаборЗаписей(); Набор.Отбор.Документ.Установить(Запись.Документ); Набор.Отбор.НачалоДействияАкции.Установить(Запись.НачалоДействияАкции); Набор.Отбор.ОкончаниеДействияАкции.Установить(Запись.ОкончаниеДействияАкции); Набор.Прочитать(); Если ЗначениеЗаполнено(Набор) Тогда ЭтотОбъект.АкцияАктивна = Набор[0].Активность КонецЕсли; КонецПроцедуры &НаКлиенте Процедура АкцияАктивнаПриИзменении(Элемент) АкцияАктивнаПриИзмененииНаСервере(АкцияАктивна); КонецПроцедуры &НаСервере Процедура АкцияАктивнаПриИзмененииНаСервере(АкцияАктивна) Набор = РегистрыСведений.ЛЗ_АкцииИнтернетМагазина.СоздатьНаборЗаписей(); Набор.Отбор.Документ.Установить(ЭтотОбъект.Запись.Документ); Набор.Отбор.НачалоДействияАкции.Установить(ЭтотОбъект.Запись.НачалоДействияАкции); Набор.Отбор.ОкончаниеДействияАкции.Установить(ЭтотОбъект.Запись.ОкончаниеДействияАкции); Набор.Прочитать(); Набор.УстановитьАктивность(АкцияАктивна); Набор.Записать(Истина); КонецПроцедуры |
|||
1
fantomrik
07.12.15
✎
13:46
|
В отладке стал на строку
Процедура АкцияАктивнаПриИзмененииНаСервере(АкцияАктивна) - Набор.Прочитать(), после установки активности она в наборе меняется, Набор.Записать(Истина) ошибок не выдает, но при повторном изменении признака активности Набор.Прочитать() все равно показывает что запись активна. |
|||
2
GROOVY
07.12.15
✎
13:50
|
Данные формы перезаписывают твой набор.
Надо набор получать из реквизита формы. |
|||
3
fantomrik
07.12.15
✎
13:54
|
(2) А можно подробнее, как?
|
|||
4
fantomrik
07.12.15
✎
14:10
|
Не втыкаю, подскажите строчкой кода пожалуйста :)
|
|||
5
aleks_default
07.12.15
✎
14:17
|
Объект формы используй
|
|||
6
fantomrik
07.12.15
✎
14:26
|
(5) Так у меня же ЭтотОбъект и есть упр.форма ...
|
|||
7
cw014
07.12.15
✎
14:29
|
(6) Да ладно?
|
|||
8
aleks_default
07.12.15
✎
14:31
|
(6) А если в отладке посмотреть?
|
|||
9
GROOVY
07.12.15
✎
14:37
|
Какие реквизиты формы есть, какой у них тип значения?
|
|||
10
fantomrik
07.12.15
✎
14:51
|
(7) (8) http://hostingkartinok.com/show-image.php?id=60fdec6b5f7cbcd6ee13dd3201f2ae18
(9) Ну реквизит запись с типом РСменеджерЗаписи и АкцияАктивна - Булево http://hostingkartinok.com/show-image.php?id=29fd54f5803109c398ff2557c87425b2 |
|||
11
fantomrik
07.12.15
✎
14:53
|
(9) Фигово что то загрузил прошлую картинку http://hostingkartinok.com/show-image.php?id=4e1d7b571d7d3960eed1269f068c532b
|
|||
12
GROOVY
07.12.15
✎
14:56
|
(11) Ну так у тебя при записи, система берет менеджер записи и затирает то, что ты в наборе придумал.
В событии ПередЗаписью пиши признак активности в ТекущийОбъект (не ЭтотОбъект). ЗЫ: обращаться ЭтотОбъект.АкцияАктивна = Набор[0].Активность не кошерно, ЭтотОбъект используется только для описания контекста формы. |
|||
13
fantomrik
07.12.15
✎
15:01
|
(12) Не понял. ПередЗаписью формы? У меня же объект - запись, признак активности доступен только для набора записей.
|
|||
14
GROOVY
07.12.15
✎
15:07
|
(13) Ты не поленись посмотреть в отладке, что в текущем объекте.
|
|||
15
aleks_default
07.12.15
✎
15:10
|
(РегистрСведенийЗапись.<Имя регистра сведений> (InformationRegisterRecord.<Имя регистра сведений>)
Активность (Active) Использование: Чтение и запись. Описание: Тип: Булево. Содержит признак активности записи. Используется для регистров сведений, для которых в конфигураторе установлен режим записи "Подчинение регистратору". Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Записи, для которых значение данного свойства установлено в Ложь, не будут учитываться при получении "первых" или "последних" записей регистра, а также при получении сведений на определенный момент времени. |
|||
16
aleks_default
07.12.15
✎
15:10
|
Содержит признак активности записи. Используется для регистров сведений, для которых в конфигураторе установлен режим записи "Подчинение регистратору".
|
|||
17
GROOVY
07.12.15
✎
15:14
|
(16) И, точно. Поле будет NULL содержать. И эта зараза при записи даже ругаться не будет, что активности нет.
|
|||
18
aleks_default
07.12.15
✎
15:19
|
Свой ресурс "Активность" создавай
|
|||
19
fantomrik
07.12.15
✎
15:29
|
(14) Сделал так
&НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) ТекущийОбъект.Активность = АкцияАктивна; КонецПроцедуры и час бьюсь почему не работает) (16) (17) Теперь понятно, спасибо! |
|||
20
aleks_default
07.12.15
✎
15:34
|
(19)А стоило только ctrl-F1 нажать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |