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