Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
24 ноя 2024, 13:08

Поиск в табличной части справочника

Автор trialex3, 06 мая 2020, 15:34

0 Пользователей и 1 гость просматривают эту тему.

trialex3

Добрый день, поломалась внешняя обработка. Через отладчик нашел причину - не находит строку в справочнике.
СтрокаИсходныеКомплектующиеКлапан = Спецификация.ИсходныеКомплектующие.Найти(Номенклатура, "Номенклатура");

Возвращает неопределено. При этом эта строка находится там точно. И эта строка ищется отдельной тестовой обработкой с таким же кодом
Процедура КнопкаВыполнитьНажатие(Кнопка)
СтрокаИсходныеКомплектующиеКлапан = Спецификация.ИсходныеКомплектующие.Найти(Номенклатура, "Номенклатура");
Сообщить(СтрокаИсходныеКомплектующиеКлапан);
КонецПроцедуры

Спецификацию и номенклатуру в тестовой обработке разместил на форме.

Так же в режиме отладчика глянул и спецификация и номенклатура в сломанной обработке приходят нормальные - работающие ссылки справочников спецификаций и справочника номенклатур. Пробовал вынести функцию поиска в общий модуль - не помогает. Поможет кто-нибудь найти ошибку?

П.С. на всякий случай скину всю процедуру из сломанной обработки (наименования номенклатур затер на всякий случай)
Функция ПолучитьКомплектующиеИзСпецификации(Спецификация)
НоменклатураОтбора = Новый Массив;
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));
НоменклатураОтбора.Добавить(Справочники.Номенклатура.НайтиПоНаименованию("Номенклатура1"));

Комплектующие = Неопределено;

Для каждого Номенклатура Из НоменклатураОтбора Цикл
СтрокаИсходныеКомплектующиеКлапан = Спецификация.ИсходныеКомплектующие.Найти(Номенклатура, "Номенклатура");
Если НЕ СтрокаИсходныеКомплектующиеКлапан = Неопределено Тогда
Комплектующие = Новый Структура;
Комплектующие.Вставить("ХарактеристикаНоменклатуры", СтрокаИсходныеКомплектующиеКлапан.ХарактеристикаНоменклатуры);
Комплектующие.Вставить("Количество", СтрокаИсходныеКомплектующиеКлапан.Количество);
Прервать;
КонецЕсли;
КонецЦикла;

Возврат Комплектующие;

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

trialex3

ВОПРОС ЗАКРЫТ. Проблема была в еще одной номенклатуре с таким же наименованием.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск