|
Обработка выполняет задуманную функцию — меняет срок гарантии в товарах выбранной группы.
Волшебник, Elf_80_lvl, maxab72, Мультук, Масянька, dmt, maxar, PR, Хряк, okmail, U4Me2, Mr_Boogie, nick86, Доминошник, orakool, Aka_demik, mg-samara, ldo6, Жеглофф, tomvlad, Широкий, Mihenius, DemonShinji2, Ненавижу 1С, toypaul, Silgis, skafandr, Bigbro, Sserj, Дима1С-ник, Александр111, Prog_man, s_trikozin, DimR_71, Скучный бух, , 2S, Шурик71, craxx, Rulan87, Гипервизор, RVN, Metman, Kobol, вым, breezee, Ageres, SleepyHead, , Prog111, Злопчинский,
| ☑ |
0
Дима1С-ник
27.02.25
✎
22:31
|
Добрый день, не могу перебрать группу....Почему-то перебирает все группы а ту которую указывает пользователь....
Процедура УстановитьНаСервере()
////}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Ссылка КАК Ссылка,
| Номенклатура.СрокГарантии КАК СрокГарантии
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если НЕ ЗначениеЗаполнено(Объект.ГруппаНоменклатуры) Тогда
Сообщить("Не выбрана группа справочника Номенклатура!");
Возврат;
Иначе СправочникОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
СправочникОбъект.СрокГарантии = Объект.СрокГарантии;
СправочникОбъект.Записать();
КонецЕсли;
КонецЦикла;
//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
КонецПроцедуры
|
|
1
PR
27.02.25
✎
22:40
|
42
|
|
2
Дима1С-ник
27.02.25
✎
22:46
|
Перебирает все группы Номенклатуры, а не ту которую указывает пользователь....
|
|
3
PR
27.02.25
✎
22:49
|
(2) Код работает правильно
Как ты написал, так и работает
Фильтра в запросе на выбранную группу нет, поэтому все и обрабатывает
|
|
4
Дима1С-ник
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С-ник
28.02.25
✎
07:36
|
(8) Пока только 1-я неделя, учусь понемногу....
|
|
11
Волшебник
28.02.25
✎
07:41
|
(0) В запросе нет отбора
ГДЕ Ссылка В ИЕРАРХИИ (&Группа)
|
|
12
Дима1С-ник
28.02.25
✎
07:41
|
в коде (в цикле перебора) есть только условие если пользователь не выбрал группу номенклатуры.....
|
|
13
Волшебник
28.02.25
✎
07:42
|
(12) Отбор по группе должен быть в запросе
|
|
14
Дима1С-ник
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) нейронки быстро учатся
|
|