helpf.pro
Регистрация

v8: Проверка на введенное значение

pluck
01.12.2014 16:54Прочитано: 1323

Здравствуйте

Проблема состоит в следующем, нужно при заполнении макета проверять заполнена ли единица измерения в номенклатура в "списокЕдиницыИзмерения", то есть в поле с отбором по родителю, код представлен ниже. Код отрабатывает, но считает для всех полей, а нужно чтобы только для тех где в номенклатуре есть значение "шт" . Никак не могу разобраться, где то не там вывожу строку 

Код 1C v 8.2 УП
 Для Каждого Стр из СсылкаНаОбъект.Товары Цикл

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               | ЕдиницыИзмерения.Ссылка КАК Ссылка
               |ИЗ
               | Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
               |ГДЕ
               | ЕдиницыИзмерения.Владелец = &Номенклатура
               | И ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &классификатор";
Запрос.УстановитьПараметр("Номенклатура",Стр.Номенклатура);
Запрос.УстановитьПараметр("классификатор", Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796"));
//Результат = Запрос.Выполнить().Выбрать();


Результат = Запрос.Выполнить().Выбрать();
СтрокаОбл.Параметры.НомерСтроки = н;
СтрокаОбл.Параметры.Код = Стр.Номенклатура.Код;
СтрокаОбл.Параметры.Товар = Стр.Номенклатура;
СтрокаОбл.Параметры.Количество = Стр.Количество;
СтрокаОбл.Параметры.ЕдиницаИзмерения = Стр.ЕдиницаИзмерения;


ЕдИзм = Неопределено;


Пока Результат.Следующий() Цикл
 ЕдИзм = Результат.Ссылка;
 Если ЕдИзм = Неопределено Тогда
Продолжить
Иначе
СтрокаОбл.Параметры.КолШт = Стр.Количество / ЕдИзм.Коэффициент;
КонецЕсли;
КонецЦикла;


ТабДок.Вывести(СтрокаОбл);
н = н + 1;
КонецЦикла;


Yandex
Возможно, вас также заинтересует
Реклама на портале
pluck
01.12.2014 16:55Ответ № 1

И еще, значение во всех полях вводит одно и то же, то есть из первого поля где есть "шт" 

escritor
01.12.2014 17:33Ответ № 2

так поставь условие в самом первом запросе, что нужно выводить номенклатуру только с ШТ, зачем еще при выводе номенклатуры делать запрос?

pluck
01.12.2014 17:37Ответ № 3

проблема в том что в карточке номенклатуры та единица измерения которая мне нужна находится не в реквизите, а выведена форма списка справочника единица измерения с отбором по родителю, родитель соответственно текущая номенклатура

этим запросом я повторил тот отбор и проверяю введено ли в список значение "шт" если да то делю количество на коэфф от шт если нет то нужно чтобы поле было пустое

вместо пустого поля он посчитал в первой номенклатура где есть шт и заполнил это в остальные, тоесть не прервал почему-то 

pluck
01.12.2014 18:13Ответ № 4

решение - занулить параметр КолШт перед циклом "пока" 

pluck
01.12.2014 18:14Ответ № 5
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.