#0
by Hans
Вобщем задача - при изменении определенного реквизита справочника1 изменять справочник2. Если в процедуре "ПриЗаписи" выполнять процедуру изменяющую справочник2 на основе справочника1, то данные в БД еще старые. Туплю, не могу сообразить что надо делать. Справочник1 редактируется в списке.
#1
by Diter
а не надо текущий элемент искать в справочнике 1 чтобы изменить справочник 2. достаточно просто использовать реквизиты текущего элемента - они уже будут изменены ну типа того что не надо делать Спр_1.НайтиЭлемент(ТекущийЭлемент); Спр_2.Реквизит_2=Спр_1.Реквизит_1; в модуле списка
#2
by Злопчинский
В процедуре ПриЗаписи в справочнике Спр1 - запись еще не произошла. поэтому . . и вообще.. мне кажется что при редактировании строки в списке нет процедуры приЗаписи - см. ПриОконычанииРедактированияСтроки
#4
by Torquader
Есть, и это в помошнике есть. Синтаксис: ПриЗаписи(<СписокПериодРекв>) Назначение: Предопределенная процедура при интерактивной записи строки списка справочника. Параметры: <СписокПериодРекв> - строка со списком изменяемых периодических реквизитов справочника. Замечание: Данная процедура может располагаться только в программных модулях форм справочника. А вот как раз "ПриОкончании..." там нет. Но, записать можно и до, только реально запись нужна тогда, когда мы передаём куда-то ссылку на новый элемент и из неё кто-то и что-то будет получать. Например, не получится создать элементы подчинённых справочников, пока не записан владелец. Однако, это никак не влияет на запись реквизитов владельца, так что если элемент Выбран, то можно его и не писать.
#5
by Hans
Почему, то не получается. Делаю В Спр_1 ПриЗаписи Записать и все еще все реквизиты старые.
#7
by Torquader
И где реквизиты старые ? В процедуру передаётся спозиционированный элемент, чтобы реквизиты были "новые" желательно его "прочитать" через объект, так как кеш-то ещё не знает, что кого-то записали (там у 1С с этим бывают проблемы, если по нескольку раз писать).
#9
by Hans
В справочнике 2 меняется сама ссылка на справочник 1. Чтение через объект - не помогает. Есть подозрение что Записать в форме списка не работает вообще.
#10
by Hans
а идея вобще такая, В справочнике Номенклатура есть реквизит на справочник Наценки Справочник Наценки состоит из групп номенклатуры, производителей и самой наценки. Так вот косяк при смене группы в списке наценок, нужно переназначить скидку той группе которая была и той которая стала. Я скидки переназначаются через запросы.
#11
by Torquader
А действительно - кого мы записываем - у нас контекста элемента нет - так что нужно делать "ложное закрытие" при записи, а в закрытии уже обрабатывать всё, что нужно.
#12
by Hans
В итоге через список не получилось. Сделал через форму элемента, все обработки изменения справочников - при закрытии формы.
#13
by Torquader
Я же сказал - в списке делать "ложное закрытие", то есть в переменную модуля писать какое-то значение и делать Форма.Закрыть, чтобы после записи форма попыталась закрыться, а уже в процедуре ПриЗакрытии мы явно получаем уже сохранённый элемент.
#14
by Злопчинский
значит ступил.. ;-) это я с ТЧ дока перепутал... . прям точно как в армии: . - Вода кипит при 90 градусах - товарищ прапорщик, вода кипит при 100 градусах! - а, точно! это я с прямым углом перепутал.. . ;-)
#15
by Torquader
Да не волнуйся ты так, что бы мы тут не советовали, а у автора "каменный цветок" так и не вышел.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- v7: 1С V7.7 в сети
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
- v7: Процедура ПриЗаписи() при программной записи элемента справочника
- v7: Перенос данных Бухгалтерия из v7 в v8
- v7: v7 Перехват глобального события ПриЗаписи() или ОбработкаПроведения()
В этой группе 1С
- УТ11 загрузка партнеров из файла
- как пометить на удаление документ каторый зделан на основание
- Программное проведение документа 1с 8.2
- Добавление в детальные записи отчёта по взаиморасчётам других документов
- Не списывается сумма по счету 10.01
- УТ 11.1.2.Х Печать ценников с форматированием
- УПП отражение затрат обязательному социальному страхованию от несчастных случаев
- СКД Программно изменить у поля ориентацию текста
- Оплата поставщику в КУДИР
- СКД Добавить программно ресурс
- Подскажите как из 1с в Word и OpenOffice Writer найти стоки вида [любой_текст]
- v7: Как подключить Formex
- ДоработатьКомпоновщикПередВыводом не вызывается
- БП 3.0 Реализация при отсутствии на складе
- v7: WIN 2008 R2. Недостаточно свободной оперативной памяти.
- Ошибка SDBL: Таблица или поле ParentID не содержится в разделе FROM
- Регламентное задание и COM соединение
- УТ11.1: не печатает счет
- БП 2.0 Возврат товара от розничного покупателя в НТТ. Как делать документом ?
- в строке списка "расчеты с контрагентами заполнены" обе суммы