|
v7: ПриЗаписи Справочника в списке | ☑ | ||
---|---|---|---|---|
0
Hans
05.02.14
✎
21:41
|
Вобщем задача - при изменении определенного реквизита справочника1 изменять справочник2.
Если в процедуре "ПриЗаписи" выполнять процедуру изменяющую справочник2 на основе справочника1, то данные в БД еще старые. Туплю, не могу сообразить что надо делать. Справочник1 редактируется в списке. |
|||
1
Diter
05.02.14
✎
21:46
|
а не надо текущий элемент искать в справочнике 1 чтобы изменить справочник 2. достаточно просто использовать реквизиты текущего элемента - они уже будут изменены
ну типа того что не надо делать Спр_1.НайтиЭлемент(ТекущийЭлемент()); Спр_2.Реквизит_2=Спр_1.Реквизит_1; достаточно просто Спр_2.реквизит_2=реквизит_2; в модуле списка |
|||
2
Злопчинский
05.02.14
✎
22:05
|
В процедуре ПриЗаписи в справочнике Спр1 - запись еще не произошла.
поэтому . //в спр1 Процедура ПриЗаписи() Записать(); //делать что-то со справочником-2 . и вообще.. мне кажется что при редактировании строки в списке нет процедуры приЗаписи - см. ПриОконычанииРедактированияСтроки() |
|||
3
КонецЦикла
05.02.14
✎
22:11
|
Отладчиком попадал туда? Вот и проверяй
|
|||
4
Torquader
05.02.14
✎
22:16
|
(2) Есть, и это в помошнике есть.
Процедура ПриЗаписи(<?>) КонецПроцедуры Синтаксис: ПриЗаписи(<СписокПериодРекв>) Назначение: Предопределенная процедура при интерактивной записи строки списка справочника. Параметры: <СписокПериодРекв> - строка со списком изменяемых периодических реквизитов справочника. Замечание: Данная процедура может располагаться только в программных модулях форм справочника. А вот как раз "ПриОкончании..." там нет. Но, записать можно и до, только реально запись нужна тогда, когда мы передаём куда-то ссылку на новый элемент и из неё кто-то и что-то будет получать. Например, не получится создать элементы подчинённых справочников, пока не записан владелец. Однако, это никак не влияет на запись реквизитов владельца, так что если элемент Выбран, то можно его и не писать. |
|||
5
Hans
05.02.14
✎
22:22
|
(4) Почему, то не получается.
Делаю В Спр_1 ПриЗаписи() Записать() ПроцедураУстановкиНужногоЗначенияВСпр2(текущийЭлемент()); и все еще все реквизиты старые. |
|||
6
Hans
05.02.14
✎
22:27
|
тяжело идет эта семерочная модель объектов и ссылок если долго не заниматься.
|
|||
7
Torquader
05.02.14
✎
22:48
|
И где реквизиты старые ?
В процедуру передаётся спозиционированный элемент, чтобы реквизиты были "новые" желательно его "прочитать" через объект, так как кеш-то ещё не знает, что кого-то записали (там у 1С с этим бывают проблемы, если по нескольку раз писать). |
|||
8
Torquader
05.02.14
✎
22:48
|
Что в справочнике2 меняется вообще ?
|
|||
9
Hans
05.02.14
✎
23:07
|
(8) В справочнике 2 меняется сама ссылка на справочник 1.
(7) Чтение через объект - не помогает. Есть подозрение что Записать() в форме списка не работает вообще. |
|||
10
Hans
05.02.14
✎
23:11
|
(8) а идея вобще такая,
В справочнике Номенклатура есть реквизит на справочник Наценки Справочник Наценки состоит из групп номенклатуры, производителей и самой наценки. Так вот косяк при смене группы в списке наценок, нужно переназначить скидку той группе которая была и той которая стала. Я скидки переназначаются через запросы. |
|||
11
Torquader
05.02.14
✎
23:36
|
(9) А действительно - кого мы записываем - у нас контекста элемента нет - так что нужно делать "ложное закрытие" при записи, а в закрытии уже обрабатывать всё, что нужно.
|
|||
12
Hans
05.02.14
✎
23:46
|
В итоге через список не получилось. Сделал через форму элемента, все обработки изменения справочников - при закрытии формы.
|
|||
13
Torquader
05.02.14
✎
23:52
|
(12) Я же сказал - в списке делать "ложное закрытие", то есть в переменную модуля писать какое-то значение и делать Форма.Закрыть(0), чтобы после записи форма попыталась закрыться, а уже в процедуре ПриЗакрытии мы явно получаем уже сохранённый элемент.
|
|||
14
Злопчинский
06.02.14
✎
01:23
|
(4) значит ступил.. ;-) это я с ТЧ дока перепутал...
. прям точно как в армии: . - Вода кипит при 90 градусах - товарищ прапорщик, вода кипит при 100 градусах! - а, точно! это я с прямым углом перепутал.. . ;-) |
|||
15
Torquader
06.02.14
✎
11:22
|
(14) Да не волнуйся ты так, что бы мы тут не советовали, а у автора "каменный цветок" так и не вышел.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |