|
Не получается программно создать элемент справочника НоменклатураГТД | ☑ | ||
---|---|---|---|---|
0
толькодлявопросов
06.02.18
✎
21:35
|
Пытаюсь программно создать и записать элемент справочника в УТ 10, но получаю ошибку "Ошибка при получении значения атрибута контекста (Наименование)"
НовСпрГТД = Справочники.НоменклатураГТД.НайтиПоНаименованию(КодУКТВЭД); Если НовСпрГТД.Пустая() Тогда НовСпрГТД = Справочники.НоменклатураГТД.СоздатьЭлемент(); НовСпрГТД.Наименование = КодУКТВЭД; НовСпрГТД.КодУКТВЭД = ПодобратьКлассификаторУКТВЭД(КодУКТВЭД); НовСпрГТД.КодУКТВЭД_Индекс = КодУКТВЭД; НовСпрГТД.Записать(); КонецЕсли; Ошибка на строке "НовСпрГТД.Записать();" Отладчиком НовСпрГТД.Наименование заполнена, тип данных строка. Единственная процедура в модуле НоменклатураГТД - ПередЗаписью(), там код доходит до конца и выходит из нее, и только потом выскакивает ошибка. |
|||
1
Лефмихалыч
06.02.18
✎
21:40
|
в модуле объекта при/перед записью смотри, что происходит
|
|||
2
толькодлявопросов
06.02.18
✎
21:44
|
(1) Единственная процедура
Процедура ПередЗаписью(Отказ) Если ОбменДанными.Загрузка = Истина Тогда Возврат; КонецЕсли; ОбновлениеИндексныхПолей(); // не будем записывать дубли Если НЕ ОбменДанными.Загрузка Тогда Запрос = Новый Запрос(); Запрос.УстановитьПараметр("КодУКТВЭД", КодУКТВЭД); Запрос.УстановитьПараметр("НомерГТД", НомерГТД); Запрос.УстановитьПараметр("Владелец", Владелец); Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | НоменклатураГТД.Ссылка |ИЗ | Справочник.НоменклатураГТД КАК НоменклатураГТД |ГДЕ | НЕ НоменклатураГТД.Ссылка = &Ссылка | И НоменклатураГТД.КодУКТВЭД = &КодУКТВЭД | И НоменклатураГТД.НомерГТД = &НомерГТД | И НоменклатураГТД.Владелец = &Владелец"; Если НЕ Запрос.Выполнить().Пустой() Тогда Отказ = Истина; Сообщить(СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку("Для номенклатуры %1 уже имеется запись в справочнике ""Номенклатура ГТД"" с такими же номером ГТД и Кодом УКТ ВЭД!", Владелец)); КонецЕсли; КонецЕсли; КонецПроцедуры |
|||
3
толькодлявопросов
06.02.18
✎
21:45
|
Отладчиком доходит до конца без ошибок
|
|||
4
толькодлявопросов
06.02.18
✎
21:45
|
ОбновлениеИндексныхПолей(); - лишее, прилипло, там нет
|
|||
5
Лефмихалыч
06.02.18
✎
21:48
|
кэш продуй
|
|||
6
Cyberhawk
06.02.18
✎
22:05
|
Покажи на картинке
|
|||
7
толькодлявопросов
06.02.18
✎
22:34
|
Сейчас из большой обработки вытянул это код в маленькую только для этой функции и стало показывать следующую ошибку:
{Форма.Форма.Форма(30)}: Ошибка при вызове метода контекста (Записать) НовСпр.Записать(); по причине: Значение поля "Номенклатура" не заполнено или заполнено неверно Реквизита "Номенклатура" в справочнике НоменклатураГТД - вообще нет......!! |
|||
8
толькодлявопросов
06.02.18
✎
22:38
|
(7) оно скорее всего владельца под "Номенклатурой" подразумевает
|
|||
9
толькодлявопросов
06.02.18
✎
22:41
|
(8) Хотя сейчас добавил владельца и в первой обработке - заработало, но ведь насколько я знаю НоменклатураГТД может быть одна и та же у нескольких Номенклатур
|
|||
10
Доминошник
06.02.18
✎
22:47
|
(0) Немного не по делу - но в УТ 10.3 два справочника:
Справочник.НомераГТД Справочник.СерииНоменклатуры В НомераГТД - уникальные номера В СерииНоменклатуры - номер ГТД (из справочника НомераГТД), Страна происхождения и (обязательно) владелец - Номенклатура |
|||
11
толькодлявопросов
08.02.18
✎
17:34
|
(10) ут для украины
|
|||
12
azernot
08.02.18
✎
18:06
|
Может подписки какие?
Сделай остановку по ошибке. И отлови, где именно он не может "наименование" получить |
|||
13
breezee
08.02.18
✎
20:11
|
(12) Еще можно замером производительности
|
|||
14
Михаил Козлов
08.02.18
✎
20:41
|
У справочника номеров ГТД ОБЫЧНО нет наименования. А номер ГТД - это код элемента справочника.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |