|
|||
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 |
Я бы запросом искал. |
Добрый день! Хочу обратиться к регистру и получить из него данные: Ругается: {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (НайтиПоРеквизиту) НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара).Наименование; по причине: Неверно указан реквизит Делаю все по синтакс-помощнику. Реквизит этот имеем тип «Строка» и передаю в него при поиске тоже строку. А ошибку все равно прёт. Что делаю не так?
для этого в 8.Х используются только и исключительно запросы
оваяЗапись.Номенклатура — явно имеет не тип СТРОКА.
и пихать туда Наименование — тут что-то надо в консерватории подправить
Откуда уверенность, что у номенклатуры есть реквизит КодТовара?
Ну и для метода НайтиПоРеквизиту, нужно указывать индексируемый реквизит, если че.. коим КодТовара не является, судя по ошибке.
и — не, тут я согласен. Поправил: НО! Ошибка в том, кто ругается на реквизит, а он, именно с таким названием, у моего справочника «Номенклатура» ЕСТЬ!
Плохо поправил) Оно тебе и так ссылку найдет) а по ошибке, наверняка
— «Индексировать» для всех моих реквизитов с типом «Строка» не активен и стоит значение «Не индексировать». Получается, что обратиться через этот метод я не могу?
да вроде пофиг уже давно на индексацию хз че с реквизитом, но писать нужно просто НоваяЗапись.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту(«КодТовара», КодТовара); , а лучше запрос самому делать
может это строка неограниченной длины??
Ну, раз пофиг, значит КодТовара — строка неограниченной длины поди..
делай ограниченной, это будет правильно во всех смыслах
Ну, блин, ребят вы БОГИ 1С)))))))))) Да, ошибка в том, что этот реквизит и был неограниченной длины, который поэтому и индексировать нельзя. Снял галку «Неограниченная длина» и оставил только: Действительно ссылку возвращает! ВСЕМ СПАСИБО!!! Хорошего дня!)
ты длину там смотри выстави нормальную, а то порежет коды существующие
Только писать начал а ты сам разобрался
— спасибо, уже учёл!) — спасибо всё равно!)
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Финал 2 / 2 / 2 Регистрация: 11.09.2013 Сообщений: 102 |
||||
1 |
||||
Метод НайтиПоРеквизиту16.06.2022, 13:51. Показов 615. Ответов 4 Метки нет (Все метки)
Коллеги, добрый день.
Провожу документ и такая ошибка: Ошибка при выполнении обработчика — ‘ОбработкаПроведения’ В документе есть табличная часть, я ищу по реквизиту из табличной части Миниатюры
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
16.06.2022, 13:51 |
Ответы с готовыми решениями: НайтиПоРеквизиту СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя Написать три алгоритма решения СЛАУ: Метод прогонки, метод квадратных корней, метод вращений Хеш-функция – метод перевода в другую систему счисления, метод разрешения коллизий – метод цепочек 4 |
1142 / 689 / 203 Регистрация: 22.04.2013 Сообщений: 5,160 Записей в блоге: 1 |
|
16.06.2022, 15:08 |
2 |
а если в табличной части будет три строки — где ему искать?
1 |
2 / 2 / 2 Регистрация: 11.09.2013 Сообщений: 102 |
|
16.06.2022, 15:28 [ТС] |
3 |
Не знаю( Добавлено через 2 минуты
0 |
1808 / 1228 / 442 Регистрация: 16.01.2015 Сообщений: 5,396 |
|
16.06.2022, 16:33 |
4 |
Сообщение было отмечено Финал как решение РешениеФинал, Нет такого метода НайтиПоРеквизиту для табличной части. Не существует! Смотри в Синтаксис Помощнике (яндексе) метод Найти и метод НайтиСтроки для ТЗ
1 |
Модератор 3708 / 2905 / 572 Регистрация: 10.03.2011 Сообщений: 11,442 Записей в блоге: 1 |
|
20.06.2022, 15:20 |
5 |
Справочники.Поставщики.НайтиПоРеквизиту(«Содержани е»,Стр); У реквизита Содержание должна стоять галочка «Индексируется»
1 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
20.06.2022, 15:20 |
Помогаю со студенческими работами здесь Минимизация в excel разными методами (метод перебора, дихотомия, метод Ньютона, метод касательных) Метод медиан из трех элементов VS улучшенный быстрый метод сортировки(метод Бентли-Макилроя) 3 метода (градиентный метод дробления шага, метод покоординатного спуска, метод Ньютона) Метод деления отрезка попалам, метод хорд, метод простых итераций 3^x-3*x=5 #include <conio.h> Мой код — метод бисекции, метод секущих (метод хорд) Метод хорд, метод касательных, метод половинного деления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 5 |
-
Здрасте!!!! Подскажите плиз. Что такое не пойму.
В справочнике Номенклатура есть Реквизит НаименованиеПолное, я по нему пытаюсь вытащить просто Наименование. След функцией:
Справочники.Номенклатура.НайтиПоРеквизиту(«НаименованиеПолное»,СокрЛП(Параметр)).Наименование;
Выдает ошибку:
Отчет.ГодовойПлан.Форма.ГодовойПлан(42)}: Ошибка при вызове метода контекста (НайтиПоРеквизиту): Неверно указан реквизит
Позиция = Справочники.Номенклатура.НайтиПоРеквизиту(«НаименованиеПолное»,СокрЛП(Параметр)).Наименование;
по причине:
Неверно указан реквизитПоскажите кто знает. Заранее спасибо.
-
Offline
x_under
Модераторы
Команда форума
Модератор- Регистрация:
- 25 апр 2007
- Сообщения:
- 2.576
- Симпатии:
- 16
- Баллы:
- 29
Синтаксис:
НайтиПоРеквизиту(<Имя реквизита>, <Значение реквизита>, <Родитель>, <Владелец>)
Параметры:
<Имя реквизита> (обязательный)
Тип: Строка. Имя реквизита, как он задан в конфигураторе, по значению которого осуществляется поиск. Тип значения произвольный, кроме ХранилищеЗначения и СТРОК ПРОИЗВОЛЬНОЙ ДЛИНЫ.
А полное наименование обычно делают строкой произвольной длины. Проверь -
Спасибо помогло!!!! :unsure:
На чтение 2 мин Просмотров 483 Опубликовано 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)
Поделитесь с друзьями!
|
|
|
Правила раздела:
- Перед тем, как задать вопрос, желательно почитать документацию и воспользоваться поиском.
- Когда задаёте вопрос, то обязательно указывайте платформу (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 |
|
Цитата ^D^ima @ 31.01.18, 06:16 Как-то можно посмотреть из конфигуратора значения объектов базы данных? Чтобы не нужно было открывать в исполняемой конфигурации «Построитель запросов» и дергать данные? Скачай «Инструменты разработчика». Замечательная штука, набор инструментов. Среди них есть редактор реквизитов любого объекта. |
^D^ima |
|
evGenius |
evGenius |
|
Цитата ^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,0562 ] [ 21 queries used ] [ Generated: 23.03.23, 20:43 GMT ]
Опять вопрос от профана в этом деле. Есть справочник сотрудники с реквизитами ФИО, ДатаПриема, Должность
И внешняя обработка:
Процедура Сформировать()
//создаем объект типа справочник
Сотр=СоздатьОбъект(«Справочник.Сотрудники»);
//позиционируем созданный объект Сотр по известному наименованию
Сотр.НайтиПоРеквизиту(«ФИО»,»Иванов»,1);
Если Сотр.Выбран()=1
Тогда
//если сотрудник найден отобразим его должность
Предупреждение («Должность:»+Сотр.Должность);
Иначе
Предупреждение(«Иванов не найден»+»!!!»);
КонецЕсли;
//отсоединяем объект
Сотр=0;
КонецПроцедуры
При выполнении выдает следующую ошибку:
Сотр.НайтиПоРеквизиту(«ФИО»,»Иванов»,1);
{C:USERSДОЛЖНОСТЬСОТРУДНИКА.ERT(9)}: Неверное имя реквизита!
В чем беда ? Спасибо