|
|||
alexsandrinia
26.05.15 — 13:37 |
пытаюсь найти элемент по реквизиту, выдаёт ошибку
&НаСервере что я не так делаю? как решить проблему? |
||
Heckfy
1 — 26.05.15 — 13:39 |
Может НайтиПоНаименованию()? |
||
alexsandrinia
2 — 26.05.15 — 13:40 |
(1) уникальности не будет |
||
pessok
3 — 26.05.15 — 13:41 |
может не Value а Text? |
||
alexsandrinia
4 — 26.05.15 — 13:41 |
(3) РегИдент нормально определяет |
||
pessok
5 — 26.05.15 — 13:42 |
(4) а ошибка то какая? |
||
alexsandrinia
6 — 26.05.15 — 13:43 |
(5) |
||
Heckfy
7 — 26.05.15 — 13:45 |
Замечание: |
||
Heckfy
8 — 26.05.15 — 13:45 |
v8: НайтиПоРеквизиту — неверно указан реквизит ?
А вообще: |
||
vicof
9 — 26.05.15 — 13:45 |
Запросы наше все |
||
alexsandrinia
10 — 26.05.15 — 13:47 |
(9) неужели запрос выход? |
||
pessok
11 — 26.05.15 — 13:48 |
или (7) |
||
alexsandrinia
12 — 26.05.15 — 13:50 |
(11) как установить такой признак? |
||
pessok
13 — 26.05.15 — 13:59 |
вроде индексацию просто надо включить |
||
Krolik Bezobraznik 14 — 26.05.15 — 14:24 |
Я бы запросом искал. |
AdBlock убивает бесплатный контент. 1Сергей |
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Добрый день! Хочу обратиться к регистру и получить из него данные: Ругается: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара).Наименование; по причине: Неверно указан реквизит Делаю все по синтакс-помощнику. Реквизит этот имеем тип «Строка» и передаю в него при поиске тоже строку. А ошибку все равно прёт. Что делаю не так?
для этого в 8.Х используются только и исключительно запросы
оваяЗапись.Номенклатура — явно имеет не тип СТРОКА.
и пихать туда Наименование — тут что-то надо в консерватории подправить
Откуда уверенность, что у номенклатуры есть реквизит КодТовара?
Ну и для метода НайтиПоРеквизиту, нужно указывать индексируемый реквизит, если че.. коим КодТовара не является, судя по ошибке.
и — не, тут я согласен. Поправил: НО! Ошибка в том, кто ругается на реквизит, а он, именно с таким названием, у моего справочника «Номенклатура» ЕСТЬ!
Плохо поправил) Оно тебе и так ссылку найдет) а по ошибке, наверняка
— «Индексировать» для всех моих реквизитов с типом «Строка» не активен и стоит значение «Не индексировать». Получается, что обратиться через этот метод я не могу?
да вроде пофиг уже давно на индексацию хз че с реквизитом, но писать нужно просто НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара); , а лучше запрос самому делать
может это строка неограниченной длины??
Ну, раз пофиг, значит КодТовара — строка неограниченной длины поди..
делай ограниченной, это будет правильно во всех смыслах
Ну, блин, ребят вы БОГИ 1С)))))))))) Да, ошибка в том, что этот реквизит и был неограниченной длины, который поэтому и индексировать нельзя. Снял галку «Неограниченная длина» и оставил только: Действительно ссылку возвращает! ВСЕМ СПАСИБО!!! Хорошего дня!)
ты длину там смотри выстави нормальную, а то порежет коды существующие
Только писать начал а ты сам разобрался
— спасибо, уже учёл!) — спасибо всё равно!)
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
61 / 60 / 17 Регистрация: 17.02.2011 Сообщений: 161 |
|
1 |
|
Ошибка при вызове метода контекста28.03.2013, 09:13. Показов 7089. Ответов 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 Модератор 3700 / 2899 / 570 Регистрация: 10.03.2011 Сообщений: 11,414 Записей в блоге: 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,0402 ] [ 21 queries used ] [ Generated: 12.02.23, 02:26 GMT ]
На чтение 2 мин Просмотров 459 Опубликовано 12.01.2021
//Реквизит1, Реквизит2, Реквизит3 — реквизиты документа
//В Реквизит3 (с типом «Справочник.Контрагенты»)
//помещается значение из «Справочник.Контрагенты»
НовыйДок = СоздатьОбъект( «Документ.Платежка» );
НовыйДок . Новый ();
НовыйДок . Реквизит1 = «ЗначениеРеквизита1» ;
НовыйДок . Реквизит2 = «ЗначениеРеквизита2» ;
СпрКонтрагенты = СоздатьОбъект( «Справочник.Контрагенты» );
СпрКонтрагенты . НайтиПоРеквизиту ( «РеквизитГдеИскать» , «ТоЧтоШщется» , 1 );
Если СпрКонтрагенты . Выбран () > 0 Тогда
НовыйДок . Реквизит3 = СпрКонтрагенты . ТекущийЭлемент ();
Иначе
Сообщить( «В СпрКонтрагенты ничего не найдено» );
КонецЕсли;
НовыйДок . Записать ();
НовыйДок . Провести ();
БП 3.0 Банковские выписки были разнесены с ошибками (неправильно указаны наименование контрагента, назначение платежа). Возможно одной обработкой исправить данную ситуацию?
Для редактирования выписок открыть Банк и касса — Банк — Банковские выписки. (Рис.1,2) Выделить необходимые банковские выписки (если их несколько, они выделяются с нажатой клавишей Shift) и, кликнув правой кнопкой мыши, выбрать команду «Изменить выделенные. » (Рис.3 список выбранных элементов.рис.4 — список реквизитов для редактирования) В окне формы «Изменение выделенных элементов «Списание с расчетного счета» найти реквизит, который подлежит изменению, установить флажок и выбрать новое значение из соответствующего справочника. «Изменить реквизиты» и проверить результат изменения (рис.5).
Найти элемент справочника по значению реквизита.
НайтиПоРеквизиту( , , Ф лагГлобальногоПоиска>)
ИмяРеквизита >
Строковое выражение с наименованием реквизита.
3начение >
Значение реквизита для поиска.
ФлагГлобальногоПоиска >
Числовое выражение. Если 0, то поиск должен выполняться в пределах подчинения справочника, если 1, то поиск должен выполняться по всему справочнику.
Число 1 — если действие выполнено;
Число 0 — если действие не выполнено (элемент не найден).
Метод НайтиПоРеквизиту выполняет поиск первого элемента с указанным значением заданного реквизита и позиционирует объект справочник на этом элементе.
Данный метод может использоваться только в том случае, если в конфигураторе при описании данного реквизита установлен признак «Сортировка» (Свойства реквизита — Дополнительные — Сортировка).
Данный метод может использоваться только для объектов, созданных функцией СоздатьОбъект .
// Позиционируем созданный объект Спр по реквизиту
Спр.НайтиПоРеквизиту(«СерияПаспорта», «XXVII-OP», 1);
Если Спр.Выбран() > 0 Тогда
Предупреждение(«Не найден сотрудник с таким паспортом!»);
- Распечатать
Оцените статью:
- 5
- 4
- 3
- 2
- 1
(0 голосов, среднее: 0 из 5)
Поделитесь с друзьями!
Показывать по
10
20
40
сообщений
Новая тема
Ответить
MaxTi
Дата регистрации: 10.02.2010
Сообщений: 52
«Комплексная 7.7<br>Делаю поиск по реквизиту в справочнике номенклатура, реквизит Артикул.<br>Пишет «Неверное имя реквизита»<br><br>Тов=СоздатьОбъект(«Справочник.Номенклатура»); <br>Если Тов.НайтиПоРеквизиту(Тов.Артикул,Запрос2.Fields(«SupplierPN»).Value,1)=1 Тогда<br><br><br><br>Запрос2.Fields(«SupplierPN»).Value — с другой базы возвращает текст<br>как искать по артикулу?»
IceBeerg
Дата регистрации: 06.10.2004
Сообщений: 803
«> Если Тов.НайтиПоРеквизиту(Тов.Артикул,Запрос2.Fields(«SupplierPN»).Value,1)=1 Тогда<br>Пробуем поменять на<br>Если Тов.НайтиПоРеквизиту(«Артикул»,Запрос2.Fields(«SupplierPN»).Value,1)=1 Тогда<br><br>См.:<br>НайтиПоРеквизиту(<?>,,);<br>Синтаксис:<br>НайтиПоРеквизиту(<ИмяРеквизита>,<Значение>,<ФлагГлобальногоПоиска>)<br>Назначение:<br>Найти элемент справочника по значению реквизита.<br>Возвращает: 1 — если действие выполнено;<br> 0 — если действие не выполнено (элемент не найден).<br>Параметры: <br>> <ИмяРеквизита> — -> строка с наименованием реквизита; <-<br><Значение> — значение реквизита для поиска;<br><ФлагГлобальногоПоиска> — флаг поиска:<br> 0 — поиск выполняется в пределах подчинения справочника,<br> 1 — поиск выполняется по всему справочнику.<br>Замечание:<br>Метод можно использовать только для реквизитов с установленным признаком »Сортировка».<br>Метод можно использовать только для объектов, созданных функцией СоздатьОбъект.»
zak555 (398843952)
Дата регистрации: 27.03.2008
Сообщений: 4656
«Зн = Запрос2.Fields(«SupplierPN»).Value;<br>Если Тов.НайтиПоРеквизиту(«Артикул»,ЗН,1)=1 Тогда»
MaxTi
Дата регистрации: 10.02.2010
Сообщений: 52
Спасибо проблема решена поставил имя реквизита Артикул в кавычки и все заработало
Показывать по
10
20
40
сообщений