Ошибка при вызове метода контекста (НайтиПоРеквизиту) |
Я |
14.03.13 — 02:36
Доброй ночи.
Не могу понять как так происходит. Есть некая обработка загрузки документов и подписка на событие ПередЗаписью() документа РеализацияТоваровИУслуг.
Во время выполнения загрузки идет запись документа 2 раза (почему так не знаю — писал не я). И из подписки идет обращение к функции:
Функция ПолучитьСприсокКонтрагентов(ИД_Базы)
СК = Новый СписокЗначений;
Если ИД_Базы = «1» Тогда
СК.Добавить(Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»);
…….
Иначе
…….
КонецЕсли;
Возврат СК;
КонецФункции
Собственно говоря вопрос в следующем:
при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка «Ошибка при вызове метода контекста (НайтиПоРеквизиту)».
Как так происходит?
1 — 14.03.13 — 02:39
что пишет при нажатии на кнопку подробно?
2 — 14.03.13 — 02:46
(1) Ошибка при вызове метода контекста (НайтиПоРеквизиту)
Прояснило?
3 — 14.03.13 — 03:08
хм… Все страньше и страньше…
С горя переписал заполнение списка значений запросом. При втором обращении вылазит ошибка:
Ошибка при вызове метода контекста (Выполнить) : Ошибка выполнения запроса
Вообще ничего не понимаю
4 — 14.03.13 — 03:16
Для НайтиПоРеквизиту реквизит должен быть проиндексирован
5 — 14.03.13 — 03:19
Я в курсе. Это «допиленная» БП. К тому же смотри (3) и «… при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка …»
6 — 14.03.13 — 03:24
СК.Добавить(Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»);
Скобки не хватает
7 — 14.03.13 — 03:28
(6) Когда сюда набивал недопоставил.
и (0) «… при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка …»
8 — 14.03.13 — 03:35
По «подробно» что пишет?
9 — 14.03.13 — 03:36
(8) смотри (2)
10 — 14.03.13 — 04:03
(9) отладчик что говорит? Вбей в отладчике Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»)
11 — 14.03.13 — 04:10
(1) При первом обращении к функции находит контрагента.
При втором — {(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
12 — 14.03.13 — 04:11
причем Справочники.Контрагенты имеет значение СправочникМенеджер.Контрагенты, т.е. вроде как все правильно
13 — 14.03.13 — 04:16
(12) ну оно ж должно писать при нажатии на кнопку «подробно» что-то типа «по причине..», мистика какая-то….
14 — 14.03.13 — 04:24
вот оно такую причину и пишет
15 — 14.03.13 — 04:25
шла вторая ночь…
16 — 14.03.13 — 04:29
Батюшку приглашал бесов изгонять?
17 — 14.03.13 — 04:38
наверное пора
18 — 14.03.13 — 04:44
У ИНН стоит индексирование? У ИНН длина ограничена?
19 — 14.03.13 — 05:05
комп ребутни
20 — 14.03.13 — 05:12
(18) учимся читать внимательно
(19) минимум на 3 разных компах такое наблюдается
21 — 14.03.13 — 05:16
(20).2 ну так сервак ребутни )
22 — 14.03.13 — 05:23
(21) раз в сутки ребутится
23 — 14.03.13 — 07:51
(11) При нажатии на кнопку подробно должно написать что-то типа: «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): метод объекта не обнаружен» или «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): реквизит не является индексируемым» или «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): бесы пошалили, батюшка» ну или что-то в этом роде, но причина ошибки вызова метода должна быть
24 — 14.03.13 — 08:58
(23) Дословно выглядит вот так (если убрать всякие попытки-исключения) :
{Обработка.З.Форма.Форма.Форма(788)}: Ошибка при вызове метода контекста (Записать)
СтрОбъект.Записать(РежимЗаписиДокумента.Запись);
по причине:
Ошибка при выполнении обработчика — ‘ПриЗаписи’
по причине:
{ОбщийМодуль.ВыгрузкаДанныхБУ.Модуль(384)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
СтрОбъект.Записать(РежимЗаписиДокумента.Запись);
по причине:
В данной транзакции уже происходили ошибки!
25 — 14.03.13 — 09:16
апну
26 — 14.03.13 — 09:42
люди!!!!
wertyu
27 — 15.03.13 — 01:47
(26) так у тебя ошибки были до неё )
Ошибка при вызове метода контекста (НайтиПоРеквизиту) |
Я |
Nikitos
14.03.13 — 02:36
Доброй ночи.
Не могу понять как так происходит. Есть некая обработка загрузки документов и подписка на событие ПередЗаписью() документа РеализацияТоваровИУслуг.
Во время выполнения загрузки идет запись документа 2 раза (почему так не знаю — писал не я). И из подписки идет обращение к функции:
Функция ПолучитьСприсокКонтрагентов(ИД_Базы)
СК = Новый СписокЗначений;
Если ИД_Базы = «1» Тогда
СК.Добавить(Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»);
…….
Иначе
…….
КонецЕсли;
Собственно говоря вопрос в следующем:
при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка «Ошибка при вызове метода контекста (НайтиПоРеквизиту)».
Как так происходит?
rotting
1 — 14.03.13 — 02:39
что пишет при нажатии на кнопку подробно?
Nikitos
2 — 14.03.13 — 02:46
(1) Ошибка при вызове метода контекста (НайтиПоРеквизиту)
Прояснило?
Nikitos
3 — 14.03.13 — 03:08
хм… Все страньше и страньше…
С горя переписал заполнение списка значений запросом. При втором обращении вылазит ошибка:
Ошибка при вызове метода контекста (Выполнить) : Ошибка выполнения запроса
Вообще ничего не понимаю
simol
4 — 14.03.13 — 03:16
Для НайтиПоРеквизиту реквизит должен быть проиндексирован
Nikitos
5 — 14.03.13 — 03:19
Я в курсе. Это «допиленная» БП. К тому же смотри (3) и «… при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка …»
simol
6 — 14.03.13 — 03:24
СК.Добавить(Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»);
Скобки не хватает
Nikitos
7 — 14.03.13 — 03:28
(6) Когда сюда набивал недопоставил.
и (0) «… при первом обращении в эту функцию происходит нормальное формирование списка значений, а вот при втором обращении в функцию происходит ошибка …»
simol
8 — 14.03.13 — 03:35
По «подробно» что пишет?
Nikitos
9 — 14.03.13 — 03:36
(8) смотри (2)
rotting
10 — 14.03.13 — 04:03
(9) отладчик что говорит? Вбей в отладчике Справочники.Контрагенты.НайтиПоРеквизиту(«ИНН», «4716022531»)
Nikitos
11 — 14.03.13 — 04:10
(1) При первом обращении к функции находит контрагента.
При втором — {(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
Nikitos
12 — 14.03.13 — 04:11
причем Справочники.Контрагенты имеет значение СправочникМенеджер.Контрагенты, т.е. вроде как все правильно
rotting
13 — 14.03.13 — 04:16
(12) ну оно ж должно писать при нажатии на кнопку «подробно» что-то типа «по причине..», мистика какая-то….
Nikitos
14 — 14.03.13 — 04:24
вот оно такую причину и пишет
Nikitos
15 — 14.03.13 — 04:25
шла вторая ночь…
Godofsin
16 — 14.03.13 — 04:29
Батюшку приглашал бесов изгонять?
Nikitos
17 — 14.03.13 — 04:38
наверное пора
Sasha_Rapira
18 — 14.03.13 — 04:44
У ИНН стоит индексирование? У ИНН длина ограничена?
wertyu
19 — 14.03.13 — 05:05
комп ребутни
Nikitos
20 — 14.03.13 — 05:12
(18) учимся читать внимательно
(19) минимум на 3 разных компах такое наблюдается
wertyu
21 — 14.03.13 — 05:16
(20).2 ну так сервак ребутни )
Nikitos
22 — 14.03.13 — 05:23
(21) раз в сутки ребутится
cw014
23 — 14.03.13 — 07:51
(11) При нажатии на кнопку подробно должно написать что-то типа: «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): метод объекта не обнаружен» или «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): реквизит не является индексируемым» или «{(1)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): бесы пошалили, батюшка» ну или что-то в этом роде, но причина ошибки вызова метода должна быть
Nikitos
24 — 14.03.13 — 08:58
(23) Дословно выглядит вот так (если убрать всякие попытки-исключения) :
{Обработка.З.Форма.Форма.Форма(788)}: Ошибка при вызове метода контекста (Записать)
СтрОбъект.Записать(РежимЗаписиДокумента.Запись);
по причине:
Ошибка при выполнении обработчика — ‘ПриЗаписи’
по причине:
{ОбщийМодуль.ВыгрузкаДанныхБУ.Модуль(384)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
СтрОбъект.Записать(РежимЗаписиДокумента.Запись);
по причине:
В данной транзакции уже происходили ошибки!
Nikitos
25 — 14.03.13 — 09:16
апну
Nikitos
26 — 14.03.13 — 09:42
люди!!!!
wertyu
27 — 15.03.13 — 01:47
(26) так у тебя ошибки были до неё )
Добрый день! Хочу обратиться к регистру и получить из него данные: Ругается: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара).Наименование; по причине: Неверно указан реквизит Делаю все по синтакс-помощнику. Реквизит этот имеем тип «Строка» и передаю в него при поиске тоже строку. А ошибку все равно прёт. Что делаю не так?
для этого в 8.Х используются только и исключительно запросы
оваяЗапись.Номенклатура — явно имеет не тип СТРОКА.
и пихать туда Наименование — тут что-то надо в консерватории подправить
Откуда уверенность, что у номенклатуры есть реквизит КодТовара?
Ну и для метода НайтиПоРеквизиту, нужно указывать индексируемый реквизит, если че.. коим КодТовара не является, судя по ошибке.
и — не, тут я согласен. Поправил: НО! Ошибка в том, кто ругается на реквизит, а он, именно с таким названием, у моего справочника «Номенклатура» ЕСТЬ!
Плохо поправил) Оно тебе и так ссылку найдет) а по ошибке, наверняка
— «Индексировать» для всех моих реквизитов с типом «Строка» не активен и стоит значение «Не индексировать». Получается, что обратиться через этот метод я не могу?
да вроде пофиг уже давно на индексацию хз че с реквизитом, но писать нужно просто НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара); , а лучше запрос самому делать
может это строка неограниченной длины??
Ну, раз пофиг, значит КодТовара — строка неограниченной длины поди..
делай ограниченной, это будет правильно во всех смыслах
Ну, блин, ребят вы БОГИ 1С)))))))))) Да, ошибка в том, что этот реквизит и был неограниченной длины, который поэтому и индексировать нельзя. Снял галку «Неограниченная длина» и оставил только: Действительно ссылку возвращает! ВСЕМ СПАСИБО!!! Хорошего дня!)
ты длину там смотри выстави нормальную, а то порежет коды существующие
Только писать начал а ты сам разобрался
— спасибо, уже учёл!) — спасибо всё равно!)
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
-
Справочник Контрагенты реквизит Наименованиеполное!!!!
Здравствуйте, уже замучилась не знаю что ему надо!!!
есть внешняя обработка, все нормально, забивает в таблицу данные их excel, теперь из этой таблицы надо записать данные в справочник, в котором есть реквизит контрагент, ну или владелец, делаю так
контр=справочники.контрагенты.найтипореквизиту(«наименованиеполное», стр.контрагент)
он тут ругается что ошибка при вызове метода контекста найтипореквизиту, а что не так то????????
платформа 8,2,15,301 бухгалтерия 2,0.34,13стр.контрагент — строка неограниченая, в отладчике он её показывает, как строку без всяких пробелов по бокам,
может этот реквизит наименованиеполное какой то не простой, где узнать, только вы у меня есть, помогите плиииз… -
Offline
Azamat
Опытный в 1С- Регистрация:
- 29 июл 2011
- Сообщения:
- 275
- Симпатии:
- 0
- Баллы:
- 26
Если открыть синтакс-помощник, то вы увидете, что у метода НайтиПоРеквизиту может быть Тип значения произвольный, кроме ХранилищеЗначений и строк произвольной длины. А реквизит НаименованиеПолное имеет тип строки произвольной длины.
-
спасибо, тоесть к этому реквизиту не применим этот метод, круто, но тогда как мне владельца указать, у меня в моей таблице есть только этот реквизит по отношению к владельцу, конечно можно руками, но блиин,спасибо
-
Offline
for_maricat
Опытный в 1С- Регистрация:
- 11 ноя 2010
- Сообщения:
- 236
- Симпатии:
- 0
- Баллы:
- 26
Запросом ищите. Там можно преобразование типа сделать.
61 / 60 / 17 Регистрация: 17.02.2011 Сообщений: 161 |
|
1 |
|
Ошибка при вызове метода контекста28.03.2013, 09:13. Показов 6978. Ответов 3
есть ссылка «e79ba7ae-0747-11db-9244-0011955c22cb»… как присвоить ее новому элементу справочника Добавлено через 7 минут док = документы.РеализацияТоваровУслуг; Ссылка=»e79ba7ae-0747-11db-9244-0011955c22cb»; {Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
__________________ 0 |
206 / 180 / 31 Регистрация: 24.10.2011 Сообщений: 738 |
|
28.03.2013, 12:01 |
2 |
Никак. e79ba7ae-0747-11db-9244-0011955c22cb — внутренний идентификатор объекта. Ссылка=»e79ba7ae-0747-11db-9244-0011955c22cb»; — не является ссылкой, это строка. 1 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
28.03.2013, 16:39 |
3 |
погуглите по синтпому ПолучитьСсылку(), ЗначениеВСтроку(), получить уник.идент. 1 |
Dethmontt Модератор 3697 / 2897 / 569 Регистрация: 10.03.2011 Сообщений: 11,398 Записей в блоге: 1 |
||||
29.03.2013, 01:04 |
4 |
|||
0 |
|
|
|
Правила раздела:
- Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
- Когда задаёте вопрос, то обязательно указывайте платформу (7.7, 8.0, 8.1, 8.2, etc), причем желательно в заголовке. Если речь идёт о типовой конфигурации, то указывайте её название и релиз. Текущие версии можно посмотреть здесь.
- Ещё раз напоминаем о необходимости соблюдать не только правила, но и законы. Уважайте авторские права.
Высказать своё мнение о модераторах раздела можно здесь: evGenius
Бух 3.0 ПКО
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Создаю документ ПКО с ВидОперации = Перечисления.ВидыОперацийПКО.РозничнаяВыручка Добавлено 11.01.18, 12:00 Теперь другая ошибка появилась: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НовыйДок.Контрагент = Справочники.Склады.НайтиПоРеквизиту(«Комментарий»,ЭксельФН) ; по причине: Неверно указан реквизит Добавлено 11.01.18, 12:20 |
lastlogic |
|
Через запрос с ВЫРАЗИТЬ можно… |
^D^ima |
|
Why? ЭксельДата = «2017.12.22» НовыйДок.Дата = Дата(ЭксельДата+» 0:00:01″); Дата документа должна быть не ранее 2000 года |
kosten |
|
^D^ima, читай СП дт = Дата(«20171222»); Разницу видишь? Цитата Литералы: ГГГГ — четыре цифры года (включая тысячелетие и век); Сообщение отредактировано: kosten — 11.01.18, 13:21 |
^D^ima |
|
ок |
^D^ima |
|
Не могу понять по какой причине не формируются проводки при проведении? Вродебы как и ошибок не выдает и проводок не создает. Забыл скорее всего какой-то реквизит заполнить. Сообщить(«Создаем документ ПКО»); НовыйДок = Документы.ПриходныйКассовыйОрдер.СоздатьДокумент(); НовыйДок.ВалютаДокумента = Справочники.Валюты.НайтиПоНаименованию(«руб.»); НовыйДок.Организация =Справочники.Организации.ОрганизацияПоУмолчанию(Пользователи.ТекущийПользователь()); НовыйДок.Дата =Дата(ЭксельДата); НовыйДок.ВидОперации = Перечисления.ВидыОперацийПКО.РозничнаяВыручка; НовыйДок.СчетКасса = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«50.01»); НовыйДок.СуммаДокумента = Число(ЭксельСумма); СкладЗапрос = новый Запрос; СкладЗапрос.Текст= «ВЫБРАТЬ | Склады.Ссылка КАК Ссылка, | Склады.Наименование КАК Наименование |ИЗ | Справочник.Склады КАК Склады |ГДЕ | Склады.Комментарий ПОДОБНО &Комментарий»; СкладЗапрос.УстановитьПараметр(«Комментарий»,ЭксельФН); Выборка = СкладЗапрос.Выполнить().Выбрать(); Выборка.Следующий(); НовыйДок.Контрагент = Выборка.Ссылка; НовыйДок.ПринятоОт = строка(Выборка.Наименование); //НовыйДок.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию(Выборка.Наименование); НовыйТовар = НовыйДок.РасшифровкаПлатежа.Добавить(); НовыйТовар.СуммаПлатежа = Число(ЭксельСумма); НовыйТовар.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; НовыйТовар.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.НайтиПоНаименованию(Выборка.Наименование); НовыйДок.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; НовыйДок.Записать(РежимЗаписиДокумента.Запись); Добавлено 30.01.18, 21:10 НовыйДок.СчетУчетаРасчетовСКонтрагентом = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«90.01.1»); НовыйДок.СубконтоКт1 = Справочники.НоменклатурныеГруппы.НайтиПоНаименованию(«Основная номенклатурная группа»); НовыйДок.СубконтоКт2 = Перечисления.СтавкиНДС.БезНДС; НовыйДок.СубконтоКт3 = «»; НовыйДок.ПодразделениеКт = Справочники.ПодразделенияОрганизаций.НайтиПоНаименованию(«Основное подразделение»);
|
^D^ima |
|
Как-то можно посмотреть из конфигуратора значения объектов базы данных? Чтобы не нужно было открывать в исполняемой конфигурации «Построитель запросов» и дергать данные? |
kosten |
|
Цитата ^D^ima @ 30.01.18, 20:16 НовыйДок.Записать(РежимЗаписиДокумента.Запись); Разве запись формирует проводки? Попробуй не Записать,а Провести. |
^D^ima |
|
Цитата kosten @ 31.01.18, 06:25 Разве запись формирует проводки? Попробуй не Записать,а Провести. нет конечно. но мне не надо проводить сразу документ, вначале его проверяет бухгалтер. |
evGenius |
|
Moderator Рейтинг (т): 163 |
Цитата ^D^ima @ 31.01.18, 06:16 Как-то можно посмотреть из конфигуратора значения объектов базы данных? Чтобы не нужно было открывать в исполняемой конфигурации «Построитель запросов» и дергать данные? Скачай «Инструменты разработчика». Замечательная штука, набор инструментов. Среди них есть редактор реквизитов любого объекта. |
^D^ima |
|
evGenius |
evGenius |
|
Moderator Рейтинг (т): 163 |
Цитата ^D^ima @ 19.02.18, 14:38 имеется в виду 1C:Enterprise Development Tools? Нет, вот это. |
^D^ima |
|
evGenius А то получается какая-то шляпа: |
^D^ima |
|
Ещё не понятно где новая подсистема из расширения. Расширение применилось, а новая подсистема не появилась |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- 1С: Проблемы и решения
- Следующая тема
[ Script execution time: 0,0462 ] [ 21 queries used ] [ Generated: 29.01.23, 19:02 GMT ]
-
Справочник Контрагенты реквизит Наименованиеполное!!!!
Здравствуйте, уже замучилась не знаю что ему надо!!!
есть внешняя обработка, все нормально, забивает в таблицу данные их excel, теперь из этой таблицы надо записать данные в справочник, в котором есть реквизит контрагент, ну или владелец, делаю так
контр=справочники.контрагенты.найтипореквизиту(«наименованиеполное», стр.контрагент)
он тут ругается что ошибка при вызове метода контекста найтипореквизиту, а что не так то????????
платформа 8,2,15,301 бухгалтерия 2,0.34,13стр.контрагент — строка неограниченая, в отладчике он её показывает, как строку без всяких пробелов по бокам,
может этот реквизит наименованиеполное какой то не простой, где узнать, только вы у меня есть, помогите плиииз… -
[ Script execution time: 0,0462 ] [ 21 queries used ] [ Generated: 29.01.23, 19:02 GMT ]
-
Справочник Контрагенты реквизит Наименованиеполное!!!!
Здравствуйте, уже замучилась не знаю что ему надо!!!
есть внешняя обработка, все нормально, забивает в таблицу данные их excel, теперь из этой таблицы надо записать данные в справочник, в котором есть реквизит контрагент, ну или владелец, делаю так
контр=справочники.контрагенты.найтипореквизиту(«наименованиеполное», стр.контрагент)
он тут ругается что ошибка при вызове метода контекста найтипореквизиту, а что не так то????????
платформа 8,2,15,301 бухгалтерия 2,0.34,13стр.контрагент — строка неограниченая, в отладчике он её показывает, как строку без всяких пробелов по бокам,
может этот реквизит наименованиеполное какой то не простой, где узнать, только вы у меня есть, помогите плиииз… -
Offline
Azamat
Опытный в 1С- Регистрация:
- 29 июл 2011
- Сообщения:
- 275
- Симпатии:
- 0
- Баллы:
- 26
Если открыть синтакс-помощник, то вы увидете, что у метода НайтиПоРеквизиту может быть Тип значения произвольный, кроме ХранилищеЗначений и строк произвольной длины. А реквизит НаименованиеПолное имеет тип строки произвольной длины.
-
спасибо, тоесть к этому реквизиту не применим этот метод, круто, но тогда как мне владельца указать, у меня в моей таблице есть только этот реквизит по отношению к владельцу, конечно можно руками, но блиин,спасибо
-
Offline
for_maricat
Опытный в 1С- Регистрация:
- 11 ноя 2010
- Сообщения:
- 236
- Симпатии:
- 0
- Баллы:
- 26
Запросом ищите. Там можно преобразование типа сделать.
Добрый день! Хочу обратиться к регистру и получить из него данные: Ругается: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара).Наименование; по причине: Неверно указан реквизит Делаю все по синтакс-помощнику. Реквизит этот имеем тип «Строка» и передаю в него при поиске тоже строку. А ошибку все равно прёт. Что делаю не так?
для этого в 8.Х используются только и исключительно запросы
оваяЗапись.Номенклатура — явно имеет не тип СТРОКА.
и пихать туда Наименование — тут что-то надо в консерватории подправить
Откуда уверенность, что у номенклатуры есть реквизит КодТовара?
Ну и для метода НайтиПоРеквизиту, нужно указывать индексируемый реквизит, если че.. коим КодТовара не является, судя по ошибке.
и — не, тут я согласен. Поправил: НО! Ошибка в том, кто ругается на реквизит, а он, именно с таким названием, у моего справочника «Номенклатура» ЕСТЬ!
Плохо поправил) Оно тебе и так ссылку найдет) а по ошибке, наверняка
— «Индексировать» для всех моих реквизитов с типом «Строка» не активен и стоит значение «Не индексировать». Получается, что обратиться через этот метод я не могу?
да вроде пофиг уже давно на индексацию хз че с реквизитом, но писать нужно просто НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара); , а лучше запрос самому делать
может это строка неограниченной длины??
Ну, раз пофиг, значит КодТовара — строка неограниченной длины поди..
делай ограниченной, это будет правильно во всех смыслах
Ну, блин, ребят вы БОГИ 1С)))))))))) Да, ошибка в том, что этот реквизит и был неограниченной длины, который поэтому и индексировать нельзя. Снял галку «Неограниченная длина» и оставил только: Действительно ссылку возвращает! ВСЕМ СПАСИБО!!! Хорошего дня!)
ты длину там смотри выстави нормальную, а то порежет коды существующие
Только писать начал а ты сам разобрался
— спасибо, уже учёл!) — спасибо всё равно!)
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
61 / 60 / 17 Регистрация: 17.02.2011 Сообщений: 161 |
|
1 |
|
Ошибка при вызове метода контекста28.03.2013, 09:13. Показов 7472. Ответов 3
есть ссылка «e79ba7ae-0747-11db-9244-0011955c22cb»… как присвоить ее новому элементу справочника Добавлено через 7 минут док = документы.РеализацияТоваровУслуг; Ссылка=»e79ba7ae-0747-11db-9244-0011955c22cb»; {Форма.Форма.Форма(53)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту)
0 |
206 / 180 / 31 Регистрация: 24.10.2011 Сообщений: 739 |
|
28.03.2013, 12:01 |
2 |
Никак. e79ba7ae-0747-11db-9244-0011955c22cb — внутренний идентификатор объекта. Ссылка=»e79ba7ae-0747-11db-9244-0011955c22cb»; — не является ссылкой, это строка.
1 |
2954 / 1766 / 82 Регистрация: 03.11.2011 Сообщений: 8,280 |
|
28.03.2013, 16:39 |
3 |
погуглите по синтпому ПолучитьСсылку(), ЗначениеВСтроку(), получить уник.идент.
1 |
Dethmontt Модератор 3724 / 2918 / 575 Регистрация: 10.03.2011 Сообщений: 11,491 Записей в блоге: 1 |
||||
29.03.2013, 01:04 |
4 |
|||
0 |