helpf.pro
Регистрация
 +7 
Распечатать

Поиск элемента, найти элемент справочника

Код 1C v 8.2 УП
 &НаКлиенте
Процедура ПоКнопкеНайти(Команда)
// Вставить содержимое обработчика.

Сообщить(НайтиКонтрагента("000000001"));

КонецПроцедуры

&НаСервере
Функция НайтиКонтрагента(КодКонтрагента)

Перем КонрагентДляПоиска, СсылкаНайденногоКонрагента;
КонрагентДляПоиска = Справочники.Контрагенты;
СсылкаНайденногоКонрагента = КонрагентДляПоиска.НайтиПоКоду(КодКонтрагента);
Если СсылкаНайденногоКонрагента = КонрагентДляПоиска.ПустаяСсылка() Тогда
Возврат "Контрагент не найден";
Иначе
Возврат СсылкаНайденногоКонрагента.Наименование;
КонецЕсли;

КонецФункции;



Код 1C v 8.х
 // Ниже перечислены несколько способов поиска,если элемент найден, то он возвращается,
// иначе возвращается Неопределено
СпрСотр = Справочники.Сотрудники;
НайденныйСотр = СпрСотр.НайтиПоКоду(123);
НайденныйСотр = СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
НайденныйСотр СпрСотр.НайтиПоРеквизиту("Оклад", 5000);

//далее нужно проверить найденное значение так:
РезультатПоиска = Справочники.Номенклатура.НайтиПоКоду("00030");
Если РезультатПоиска.Пустая() Тогда
// Выполнить действия, предусмотренные в случае, когда элемент не найден.
КонецЕсли;
// или так:
НайденныйСотр = СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
Если НайденныйСотр = Неопределено Тогда
.....//элемент не найден
КонецЕсли;



Код 1C v 7.x
  СпрСотр = СоздатьОбъект("Справочник.Сотрудники");

СпрСотр.НайтиЭлемент(Сотрудник);
СпрСотр.НайтиПоКоду(123);
СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович");
СпрСотр.НайтиПоРеквизиту("Оклад", 5000);

//если элемент найден, он становится текущим и его можно прочитать так:
Если СпрСотр.НайтиПоНаименованию("Иванов Иван Иванович")=1 Тогда
........НайденныйСотр = СпрСотр.ТекущийЭлемент();
КонецЕсли;

//еще пример
спр=СоздатьОбъект("Справочник.Материалы");
Если спр.НайтиПоНаименованию("Пряжа шерстяная")=1 Тогда
Предупреждение("Найденный элемент справочника имеет код "+спр.ТекущийЭлемент().Код);
Иначе
Предупреждение("Элемент с заданным наименованием не найден");
КонецЕсли;
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 185948
 +7 
Распечатать
Возможно, вас также заинтересует
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
COM-подключение к базе 7.7 из .NET, .NET Core 2
Инсталяция: dotnet add package sabatex.V1C77 или добавить через NUGET пакет sabatex.V1C77. Добавить пространство имен: using sabatex.V1C77; пример использованя: ---C# static void Main(string args) { // создаем строку соединен
COM-подключение к базе 7.7 из 8.2 1С 7
Если код выполняется на стороне клиента, то необходимо наличие базы 7.7 на локальной машине. Пример (На форме объекта присутствует реквизит Таблица(ТаблицаЗначений)): НаКлиенте Процедура Загрузки() ПутьКБазе=" D:ВашаБаза1с77" ; Пользователь=
Google maps : вывод точек на карту и режим панорамы 9
В отличие от яндекс карт в GMaps можно использовать панорамы - за что им большой плюс! Надеюсь в яндексе прочитают этот пост и тоже когда-нибудь это сделают! Для клиента нужно было сделать вывод объектов на карту С возможностью просмотра панора
Посмотреть все результаты поиска похожих
Комментарии
egorovntn
09.04.2021 12:18Комментарий: 2
egorovntn
&НаСервере Функция НайтиКонтрагента(КодКонтрагента) 
[/pre]
 Возврат СсылкаНайденногоКонрагента.Наименование;[/pre]

Ошибка в коде функция возвращает не ссылку а строку.

egorovntn
09.04.2021 12:17Комментарий: 1
egorovntn
&НаСервере Функция НайтиКонтрагента(КодКонтрагента)         Перем КонрагентДляПоиска, СсылкаНайденногоКонрагента;     КонрагентДляПоиска = Справочники.Контрагенты;     СсылкаНайденногоКонрагента = КонрагентДляПоиска.НайтиПоКоду(КодКонтрагента);     Если СсылкаНайденногоКонрагента = КонрагентДляПоиска.ПустаяСсылка() Тогда         Возврат "Контрагент не найден";    Иначе         Возврат СсылкаНайденногоКонрагента.Наименование;     КонецЕсли;     КонецФункции;    
[/pre]

Ошибка в коде функция возвращает не ссылку а строку.

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.