|
Сохранение в регистр сведений из справочника | ☑ | ||
---|---|---|---|---|
0
andryus
18.03.14
✎
14:54
|
Первоначальные данные:
Регистр сведений: ЦеныНаУслуги имеет ресурсы Номенклатура (Справочник.Номенклатура), Учреждение (Справочник.Учреждение) Есть справочник: Номенклатура в котором создано табличное поле ТПЦены с значением РегистрСведенийНаборЗаписей.ЦеныНаУслуги При создании элемента выбирается в поле ввода Учреждение из соответствующего справочника. В справочнике в Модуле формы элемента в процедуре ПриЗаписи() вставлен код: [CODE]ЗаписатьДанныеЦен(ТПЦены, Ссылка, Отказ);[/CODE] В модуле объекта создана процедура: [CODE]Процедура ЗаписатьДанныеЦен(НаборЗаписей, Ссылка, Отказ) Экспорт НаборЗаписей.Отбор.Учреждение.Значение = Учреждение; НаборЗаписей.Отбор.Номенклатура.Значение = Ссылка; НаборЗаписей.Записать();[/CODE] При создании нового элемента при заполнении закладки Цены и при записи данного объекта выдает ошибку [QUOTE]Запись не верна! Значение поля не соответствует установленному отбору: ЦеныНаУслуги: 10.01.2012, , (Регистр сведений: Цены на услуги; Номер строки: 1; Поле: Номенклатура)[/QUOTE] НО! Если без заполнения закладки Цены записать объект, а потом открыть и отредактировать данную закладку, то в регистре данные сохраняются корректно и при изменении тоже все работает корректно, Но только у уже записанного объекта. В чем ошибка моего кода? Спасибо |
|||
1
Добрый хачик
18.03.14
✎
14:56
|
потому как элемент должен быть записан
|
|||
2
andryus
18.03.14
✎
14:57
|
(1) А выход какое? Как правильно сделать? Как то не дело сначала сохранять, а потом открывать и редактировать?
|
|||
3
kosts
18.03.14
✎
15:07
|
(2) Правильно сперва записать элемент. Так в типовых делают включая на УФ.
|
|||
4
andryus
18.03.14
✎
15:08
|
(2) Всмысле? Сначала сохранить элемент справочника, потом открыть его и отредактировать? Так я понял?
|
|||
5
kosts
18.03.14
✎
15:15
|
(4) При активации страницы с ТП выдаешь вопрос "Элемент должен быть записан"?
Записать(); Иначе закладку не активируешь. Или выдавать вопрос про запись при начале добавления данных в ТП. Или можно ТП делать сперва при открытии Доступность = Ложь. После записи пользователем по кнопке, делать Доступность = Истина. |
|||
6
andryus
18.03.14
✎
15:17
|
(5) Ну такой вариант понятен. Значит это один единственный и так скажем правильный метод решения, что сначала Записываем, а потом устанавливаем Цены?
|
|||
7
kosts
18.03.14
✎
15:18
|
(6) Не то что единственны, но распространенный.
|
|||
8
kosts
18.03.14
✎
15:20
|
(6) Можно заморочиться и эмулировать набор регистра через таблицу значений. Т.е. её можно будет редактировать до записи элемента. И в момент записи элемента записывать данные и регистр из ТЗ.
|
|||
9
grigo
18.03.14
✎
15:21
|
(0) Перед записью набора для новой номенклатуры принудительно установи ссылку методом "УстановитьСсылкуНового()".
|
|||
10
Добрый хачик
18.03.14
✎
15:22
|
(9) тоже вариант. но лучше старым дедовским способом
|
|||
11
andryus
18.03.14
✎
15:23
|
(8) Тут действительно можно заморочиться и как вариант могут возникнуть проблемы при изменении этой же Цены у данного элемента, Добавления нового периодического элемента (т.е. установка Цены на новую дату) для данной Номенклатуры, удаления, короче..... Муторно
|
|||
12
andryus
18.03.14
✎
15:24
|
(10) Старый дедовский способ это как предложил kosts? Т.е. сначала записываем, потом добавляем чего угодно
|
|||
13
VikingKosmo
18.03.14
✎
15:25
|
(12) он самый. Причем он самый надежный.
|
|||
14
andryus
18.03.14
✎
15:26
|
Все понятно. Всем большое спасибо за участие!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |