|
Использование "НайтиПоРеквизиту" | ☑ | ||
---|---|---|---|---|
0
vitaliklibra
19.05.15
✎
09:53
|
Добрый день!
Хочу обратиться к регистру и получить из него данные: НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.КодТовара.Установить(КодТовара); НаборЗаписей.Прочитать(); НаборЗаписей.Очистить(); НоваяЗапись = НаборЗаписей.Добавить(); НоваяЗапись.Период = ТекущаяДата(); НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("КодТовара", КодТовара).Наименование; НоваяЗапись.Регистратор = Ссылка; НоваяЗапись.КодТовара = КодТовара; НоваяЗапись.ЦенаЗакупки = ЦенаЗакупки; НаборЗаписей.Записать(); Ругается: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(11)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("КодТовара", КодТовара).Наименование; по причине: Неверно указан реквизит Делаю все по синтакс-помощнику. Реквизит этот имеем тип "Строка" и передаю в него при поиске тоже строку. А ошибку все равно прёт. Что делаю не так? |
|||
1
shuhard_серый
19.05.15
✎
09:54
|
(0) для этого в 8.Х используются только и исключительно запросы
|
|||
2
Ёпрст
19.05.15
✎
09:54
|
оваяЗапись.Номенклатура - явно имеет не тип СТРОКА.
|
|||
3
Ёпрст
19.05.15
✎
09:55
|
и пихать туда Наименование - тут что-то надо в консерватории подправить
|
|||
4
1Сергей
19.05.15
✎
09:56
|
Откуда уверенность, что у номенклатуры есть реквизит КодТовара?
|
|||
5
Ёпрст
19.05.15
✎
09:56
|
Ну и для метода НайтиПоРеквизиту, нужно указывать индексируемый реквизит, если че.. коим КодТовара не является, судя по ошибке.
|
|||
6
vitaliklibra
19.05.15
✎
09:57
|
(2) и (3) - не, тут я согласен. Поправил:
Справочники.Номенклатура.НайтиПоРеквизиту("КодТовара", КодТовара).ПолучитьОбъект().Ссылка; НО! Ошибка в том, кто ругается на реквизит, а он, именно с таким названием, у моего справочника "Номенклатура" ЕСТЬ! |
|||
7
del123
19.05.15
✎
09:59
|
(6) Плохо поправил) Оно тебе и так ссылку найдет)
а по ошибке, наверняка (5) |
|||
8
Ёпрст
19.05.15
✎
09:59
|
(6) феерично
|
|||
9
vitaliklibra
19.05.15
✎
09:59
|
(5) - "Индексировать" для всех моих реквизитов с типом "Строка" не активен и стоит значение "Не индексировать". Получается, что обратиться через этот метод я не могу?
|
|||
10
butterbean
19.05.15
✎
09:59
|
(5) да вроде пофиг уже давно на индексацию
(6) хз че с реквизитом, но писать нужно просто НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("КодТовара", КодТовара); , а лучше запрос самому делать |
|||
11
butterbean
19.05.15
✎
10:00
|
(9) может это строка неограниченной длины??
|
|||
12
vitaliklibra
19.05.15
✎
10:01
|
(11) - да, так и есть.
|
|||
13
Ёпрст
19.05.15
✎
10:01
|
Ну, раз пофиг, значит КодТовара - строка неограниченной длины поди..
:) |
|||
14
Ёпрст
19.05.15
✎
10:01
|
(12) феерично
|
|||
15
butterbean
19.05.15
✎
10:02
|
(12) делай ограниченной, это будет правильно во всех смыслах
|
|||
16
vitaliklibra
19.05.15
✎
10:04
|
Ну, блин, ребят вы БОГИ 1С)))))))))) Да, ошибка в том, что этот реквизит и был неограниченной длины, который поэтому и индексировать нельзя. Снял галку "Неограниченная длина" и оставил только:
Справочники.Номенклатура.НайтиПоРеквизиту("КодТовара", КодТовара) Действительно ссылку возвращает! ВСЕМ СПАСИБО!!! Хорошего дня!) |
|||
17
butterbean
19.05.15
✎
10:05
|
(16) ты длину там смотри выстави нормальную, а то порежет коды существующие
|
|||
18
tznimble
19.05.15
✎
10:05
|
(16) :D Только писать начал а ты сам разобрался
|
|||
19
vitaliklibra
19.05.15
✎
10:07
|
(17) - спасибо, уже учёл!)
(18) - спасибо всё равно!) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |