Приветствую всех!
В запросе выгружается номенклатура и рост (в числе прочего). Рост выгружается в массив, сортируется и выводится в макет как "Значение От-до". Пока номенклатурная группа одна - все в порядке. Проблема в том, что при добавлении второй и т.д. группы, "рост" соответственно берется от самого маленького, до самого большого, без разбивки по номенклатуре. Как привязать "рост" к номенклатурной группе, чтобы при выводе в макет было "ном. группа 1 : Рост от-до", "ном. группа 2 : рост от-до"? Прикрепил обработку, если вдруг слишком сумбурно объясняю. Заранее спасибо!
В запросе выгружается номенклатура и рост (в числе прочего). Рост выгружается в массив, сортируется и выводится в макет как "Значение От-до". Пока номенклатурная группа одна - все в порядке. Проблема в том, что при добавлении второй и т.д. группы, "рост" соответственно берется от самого маленького, до самого большого, без разбивки по номенклатуре. Как привязать "рост" к номенклатурной группе, чтобы при выводе в макет было "ном. группа 1 : Рост от-до", "ном. группа 2 : рост от-до"? Прикрепил обработку, если вдруг слишком сумбурно объясняю. Заранее спасибо!
Прикрепленные файлы:
ПрОд - РК17.02.erf
По теме из базы знаний
Найденные решения
Ух и нагорожено там.
Не вдаваясь в смысл, у вас вот в этом месте:
выгрузка всех ростОв, без учета номенклатуры.
попробуйте как-то так:
Не вдаваясь в смысл, у вас вот в этом месте:
МассивРост = ТаблицаОтчетаРост.ВыгрузитьКолонку("Рост");
мСписокЗнч = Новый СписокЗначений;
мСписокЗнч.ЗагрузитьЗначения(МассивРост);
мСписокЗнч.СортироватьПоЗначению(НаправлениеСортировки.Возр);
выгрузка всех ростОв, без учета номенклатуры.
попробуйте как-то так:
СтрокиТекНоменклатуры = ТаблицаОтчетаРост.НайтиСтроки(Новый Структцра("Номенклатура",СтрокаТЗ.Номенклатура));// получаем массив строк только текущей номенклатуры
МассивРост = ТаблицаОтчетаРост.Скопировать(СтрокиТекНоменклатуры );//копируем из таблицы только найденные строки
МассивРост = МассивРост .ВыгрузитьКолонку("Рост");
мСписокЗнч = Новый СписокЗначений;
мСписокЗнч.ЗагрузитьЗначения(МассивРост);
мСписокЗнч.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ух и нагорожено там.
Не вдаваясь в смысл, у вас вот в этом месте:
выгрузка всех ростОв, без учета номенклатуры.
попробуйте как-то так:
Не вдаваясь в смысл, у вас вот в этом месте:
МассивРост = ТаблицаОтчетаРост.ВыгрузитьКолонку("Рост");
мСписокЗнч = Новый СписокЗначений;
мСписокЗнч.ЗагрузитьЗначения(МассивРост);
мСписокЗнч.СортироватьПоЗначению(НаправлениеСортировки.Возр);
выгрузка всех ростОв, без учета номенклатуры.
попробуйте как-то так:
СтрокиТекНоменклатуры = ТаблицаОтчетаРост.НайтиСтроки(Новый Структцра("Номенклатура",СтрокаТЗ.Номенклатура));// получаем массив строк только текущей номенклатуры
МассивРост = ТаблицаОтчетаРост.Скопировать(СтрокиТекНоменклатуры );//копируем из таблицы только найденные строки
МассивРост = МассивРост .ВыгрузитьКолонку("Рост");
мСписокЗнч = Новый СписокЗначений;
мСписокЗнч.ЗагрузитьЗначения(МассивРост);
мСписокЗнч.СортироватьПоЗначению(НаправлениеСортировки.Возр);
(3) Спасибо огромное.
Если не трудно ткните носом еще в один кусок :)
3 колонки с разными ценами, но заполняются одинаковыми значениями, без привязки к номенклатуре.
Вроде и тоже самое что с ростом, но не могу сообразить как правильно в цикле сделать. Буду признателен за помощь.
Если не трудно ткните носом еще в один кусок :)
СтрокиТекЦены = ТаблицаОтчетаДополнительная.НайтиСтроки(Новый Структура("Номенклатура", СтрокаТЗ.Номенклатура));
МассивЦены = ТаблицаОтчетаДополнительная.Скопировать(СтрокиТекЦены);
МассивЦены = МассивЦены.ВыгрузитьКолонку("Цена");
//мСписокЗнчЦ = Новый СписокЗначений;
//мСписокЗнчЦ.ЗагрузитьЗначения(МассивЦены);
//мСписокЗнчЦ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Для Каждого Стр ИЗ ТаблицаОтчетаДополнительная Цикл
Сч = мСоответствиеТиповЦен[Стр.ТипЦен];
Если Сч <> Неопределено Тогда
ИмяКолонки = "ТЦ"+Строка(Сч);
ТекСтрока[ИмяКолонки] = Макс(ТекСтрока[ИмяКолонки], Стр.Цена);
КонецЕсли;
КонецЦикла;
ПоказатьМассивЦены = ТаблицаОтчетаДополнительная.Скопировать(СтрокиТекЦены);
МассивЦены = МассивЦены.ВыгрузитьКолонку("Цена");
//мСписокЗнчЦ = Новый СписокЗначений;
//мСписокЗнчЦ.ЗагрузитьЗначения(МассивЦены);
//мСписокЗнчЦ.СортироватьПоЗначению(НаправлениеСортировки.Возр);
Для Каждого Стр ИЗ ТаблицаОтчетаДополнительная Цикл
Сч = мСоответствиеТиповЦен[Стр.ТипЦен];
Если Сч <> Неопределено Тогда
ИмяКолонки = "ТЦ"+Строка(Сч);
ТекСтрока[ИмяКолонки] = Макс(ТекСтрока[ИмяКолонки], Стр.Цена);
КонецЕсли;
КонецЦикла;
3 колонки с разными ценами, но заполняются одинаковыми значениями, без привязки к номенклатуре.
Вроде и тоже самое что с ростом, но не могу сообразить как правильно в цикле сделать. Буду признателен за помощь.
Прикрепленные файлы:

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот