Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 сен 2021, 16:35

Создаю в подчиненном справочнике запись, но она отображается только после перезагрузки 1с.

Автор bsn-chita, 20 апр 2017, 09:45

0 Пользователей и 1 гость просматривают эту тему.

bsn-chita

Помогите понять почему данные не сразу отображаются. Есть два справочника Номенклатура и ИзображенияНоменклатуры. Во втором хранятся картинки и он подчинен первому. В форме справочника Номенклатура выбираю картинку и при записи сохраняю ее во второй справочник.
В коде АдресВременногоХранилища это реквизит формы текстовый, ИзображенияНоменклатуры имеет следующие реквизиты(ИмяФайлаИзображения и ДвоичныеДанные) для имени файла можно было бы конечно использовать наименование, но мне система не дает ему дать больше 150 символов(в Windows вроде бы имя файла может содержать 256 символов). В наименование не знаю что писать но чтобы система не ругалась на незаполненные значения пишу 1. Пишу в ПослеЗаписиНаСервере потому что хочу чтобы если это новая запись(номенклатуры) она уже была и я мог сделать связанную с ней запись в подчиненном справочнике.

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
Если ЭтоАдресВременногоХранилища(АдресВременногоХранилища) Тогда
НовыйЭлементСправочникаИзображениеНоменклатуры = Справочники.ИзображенияНоменклатуры.СоздатьЭлемент();
НовыйЭлементСправочникаИзображениеНоменклатуры.ИмяФайлаИзображения = ИмяФайлаИзображенияНоменклатуры;
НовыйЭлементСправочникаИзображениеНоменклатуры.ДвоичныеДанные = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(АдресВременногоХранилища));
НовыйЭлементСправочникаИзображениеНоменклатуры.Наименование = "1";
НовыйЭлементСправочникаИзображениеНоменклатуры.Владелец = ТекущийОбъект.Ссылка;
НовыйЭлементСправочникаИзображениеНоменклатуры.Записать();
КонецЕсли;
КонецПроцедуры

Код отрабатывает, но в подчиненном справочнике не отображается запись. Если же закрыть 1С и снова запустить то запись уже будет красоваться в списке. Мне кажется какой то механизм 1с или транзакция какая то включается и запись не видна.

ilyay

Нажать F5 в форме списка, или вызвать ОповеститьОбИзменении() или из формы вызвать метод ОповеститьОЗаписиНового(). Что-нибудь из этого попробуйте.

bsn-chita

F5 сработало с остальным разбираюсь пока. Спасибо за наводку.
Добавлено: 21 апр 2017, 03:41


Все получилось. Немного помучился пока не понял что ОповеститьОбИзменении работает НаКлиенте.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск