|
Обработка выполняет задуманную функцию — меняет срок гарантии в товарах выбранной группы. | ☑ | ||
---|---|---|---|---|
0
Дима1С-ник
naïve
27.02.25
✎
22:31
|
Добрый день, не могу перебрать группу....Почему-то перебирает все группы а ту которую указывает пользователь....
Процедура УстановитьНаСервере() ////}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.СрокГарантии КАК СрокГарантии |ИЗ | Справочник.Номенклатура КАК Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если НЕ ЗначениеЗаполнено(Объект.ГруппаНоменклатуры) Тогда Сообщить("Не выбрана группа справочника Номенклатура!"); Возврат; Иначе СправочникОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); СправочникОбъект.СрокГарантии = Объект.СрокГарантии; СправочникОбъект.Записать(); КонецЕсли; КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры |
|||
1
PR
27.02.25
✎
22:40
|
42
|
|||
2
Дима1С-ник
naïve
27.02.25
✎
22:46
|
Перебирает все группы Номенклатуры, а не ту которую указывает пользователь....
|
|||
3
PR
27.02.25
✎
22:49
|
(2) Код работает правильно
Как ты написал, так и работает Фильтра в запросе на выбранную группу нет, поэтому все и обрабатывает |
|||
4
Дима1С-ник
naïve
27.02.25
✎
22:52
|
(3) Обязательно через фильтр запроса добавить, или можно в цикле это написать, чтобы перебирал именно группу что я указываю???
|
|||
5
PR
27.02.25
✎
22:54
|
(4) Зависит от принадлежности или непринадлежности к группе секс-меньшинств
|
|||
6
craxx
28.02.25
✎
05:57
|
(0) Дима, судя по вопросу, ты нифига не 1С-ник. Позови программиста.
|
|||
7
breezee
28.02.25
✎
06:11
|
(4) Можно и в цикле, но в запросе быстрее будет
|
|||
8
mg-samara
28.02.25
✎
06:21
|
...стаж: 2 дн...
зато низкий порог входа в профессию :-) |
|||
9
mg-samara
28.02.25
✎
06:23
|
"ту которую указывает пользователь...."
А как программа узнает какую он указал? Наверное силой мысли? Покажи в коде где ты используешь группу "ту которую указывает пользователь...."? |
|||
10
Дима1С-ник
naïve
28.02.25
✎
07:36
|
(8) Пока только 1-я неделя, учусь понемногу....
|
|||
11
Волшебник
28.02.25
✎
07:41
|
(0) В запросе нет отбора
ГДЕ Ссылка В ИЕРАРХИИ (&Группа) |
|||
12
Дима1С-ник
naïve
28.02.25
✎
07:41
|
в коде (в цикле перебора) есть только условие если пользователь не выбрал группу номенклатуры.....
|
|||
13
Волшебник
28.02.25
✎
07:42
|
(12) Отбор по группе должен быть в запросе
|
|||
14
Дима1С-ник
naïve
28.02.25
✎
07:49
|
(11) (13) хорошо, понял принял
|
|||
15
mg-samara
28.02.25
✎
09:09
|
(12)
Конечно правильно сразу писать условие в запросе. Но и в цикле код написан все равно неверно. У тебя просто пропускаются элементы у которых не заполнена группа. Причем цикл прерывается как только найдется первый такой элемент. А проверки на то как отобрать элементы по той группе, которую указал пользователь нет. |
|||
16
Волшебник
28.02.25
✎
09:33
|
Если хочется сделать выбор группы необязательным, то условие в запросе можно сделать таким:
ГДЕ (&ВсеГруппы ИЛИ Ссылка В ИЕРАРХИИ (&ВыбГруппа)) и ниже: Запрос.УстановитьПараметр("Группа", ВыбГруппа); Запрос.УстановитьПараметр("ВсеГруппы", ВыбГруппа.Пустая()); |
|||
17
Мультук
гуру
28.02.25
✎
09:34
|
(16)
Воу-воу. Полегче. Тут "мама мыла раму", а ты уже про синхрофазотроны :-) |
|||
18
Волшебник
28.02.25
✎
09:37
|
(17) нейронки быстро учатся
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |