Вход | Регистрация
 

ЗаказыКлиентовОстатки.ЗаказКлиента

ЗаказыКлиентовОстатки.ЗаказКлиента
Я
   Varlant1n
 
01.02.21 - 13:36
Здравствуйте! Есть форма с табличной частью ЗаказаКлиента. Табличная часть заполняется при выборе заказа в поле ввода. Мне нужно, чтобы при выборе документа ЗаказКлиента. Товары в его табличной часть проверялись на наличие остатков. И если товара не осталось в документе, то чтобы на форме эта строка с товаром была с перечеркнутым шрифтом. Пока я сделал следующее: Создал в табличной части колонку Отгружено с типом булево и написал процедуру с функцией. И по идее на данный момент у меня в этой колонке у каждой строки должно приниматься значение истина или ложь. Но колонка постоянно пустая. Не понимаю в чем дело.


&НаКлиенте
Процедура ЗаказКлиентаПриИзменении(Элемент)
    Для каждого СтрокаТовара Из Объект.Товары Цикл
        Объект.Товары.Отгружено = ЗаказКлиентаПриИзмененииНаСервере(Объект.ЗаказКлиента, СтрокаТовара.Номенклатура, СтрокаТовара.КодСтроки)
    КонецЦикла;
КонецПроцедуры

&НаСервереБезКонтекста
Функция ЗаказКлиентаПриИзмененииНаСервере(ЗаказКлиента, Номенклатура, КодСтроки)
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ЗаказыКлиентовОстатки.ЗаказКлиента КАК ЗаказКлиента,
    |    ЗаказыКлиентовОстатки.ЗаказаноОстаток КАК ЗаказаноОстаток
    |ИЗ
    |    РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
    |ГДЕ
    |    ЗаказыКлиентовОстатки.ЗаказКлиента = &ЗаказКлиента
    |    И ЗаказыКлиентовОстатки.Номенклатура = &Номенклатура
    |    И ЗаказыКлиентовОстатки.КодСтроки = &КодСтроки";
    Запрос.УстановитьПараметр("ЗаказКлиент", ЗаказКлиента);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("КодСтроки", КодСтроки);
    РезультатЗапроса = Запрос.Выполнить();
    Выборка = РезультатЗапроса.Выбрать();
    Если Выборка.Следующий() Тогда
            Возврат Истина;
        Иначе
            Возврат Ложь;
    КонецЕсли;
КонецФункции
   DrShad
 
1 - 01.02.21 - 13:37
сжечь еретика
запрос в цикле - зло
   Varlant1n
 
2 - 01.02.21 - 13:41
(1) А как я могу иначе сделать это для каждой строки
   shuhard
 
3 - 01.02.21 - 13:42
(0)[Не понимаю в чем дело.]
дык запрос в консоле что возвращает ?
   shuhard
 
4 - 01.02.21 - 13:42
(2) соединив остатки в запросе с ТЗ
   Varlant1n
 
5 - 01.02.21 - 13:55
(3) Вообще ничего. То есть запрос даже не срабатывает
   Varlant1n
 
6 - 01.02.21 - 13:55
(4) Можно, пожалуйста пример(( Если Вам не трудно, я буду очень и очень благодарен!
   Chameleon1980
 
7 - 01.02.21 - 13:59
ну начни что-ли гуглить
тз в запрос
   ZDenis
 
8 - 01.02.21 - 14:10
(0) У тебя остатки наверно на какую-то дату должны ведь считаться, да что такое "КодСтроки"? Сомнения у меня, что по нему остатки хранятся.
   Varlant1n
 
9 - 01.02.21 - 14:17
(8) Код строки я взял как уникальный идентификатор для строки. чтобы проверка была именно той самой строки

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.