Имя: Пароль:
1C
1С v8
Заполнение Таблицы значений
0 Григорополисец
 
12.12.21
21:27
Уважаемые программисты!

Помогите, пожалуйста, новичку. У меня такая проблема. Создаю таблицу значений в форме документа. В неё я добавляю колонку с типом "СправочникСсылка.ФизЛица". Слеудющие колонки я получаю через запрос из регистра накопления. Название каждой колонки - это значение из запроса, тип: Число. Количество колонок после Физлиц каждый месяц может быть разной. Так вот, получается у меня следующее.

Продавец | ВидНачисления1 | ВидНачисления2 | ... | ВидНачисленияN

У каждого продавца есть несколько видов начислений, которые соответствуют тому или иному названию колонки.

Я делаю запрос к регистру накопления, получаю такую структуру:

Продавец | Сумма | ВидНачисления

////////////////////////////////////////


    Для каждого стрВ Из ЗапросСпискаПродавцов Цикл
        
        НоваяСтрока = ТаблицаЗначений.Добавить();
        НоваяСтрока.Продавец = стрВ.Продавец;
        
        Для каждого стрН Из ЗапросСпискаПродавцов_Сумм_ВидовНачислений Цикл
            
            Если стрН.Продавец = стрВ.Продавец Тогда
                
                ТекКолонка = стрН.Признак;
                ТаблицаЗначений.ЗаполнитьЗначения(стрН.Сумма, ТекКолонка);
                
            КонецЕсли;
                        
        КонецЦикла;
        
    КонецЦикла;

По завершении обхода, метод "ЗаполнитьЗначения()" каждый проход не заполняет текущую строку, а перезаполняет очередными значениями весь столбец, то есть у меня в конце обхода все столбцы с одинаковыми суммами. Я никак не могу побороть эту проблему.

Уверен, ответ на поверхности, просто у меня не хватает опыта его найти. Пересмотрел уже кучу форумов. Именно такой проблемы нет. Везде есть стандартный набор колонок. Но у меня задача немного сложнее.

Если кто знает решение, пожалуйста, дайте знать! Буду очень признателен!
P.S. Может, кто-то ответит ссылкой на похожий вопрос...
1 Ёпрст
 
гуру
12.12.21
21:30
(0) ЗаполнитьЗначенияСвойств
2 Ёпрст
 
гуру
12.12.21
21:32
А всё прочитал, всё в топку.
3 Смотрящий
 
12.12.21
21:38
Ну чтож. ТС, плохие новости, ёпрст сказал в морг, значит в морг
4 acht
 
12.12.21
21:43
(0) Казак штоле?

Что такое ЗапросСпискаПродавцов, что такое ЗапросСпискаПродавцов_Сумм_ВидовНачислений, что такое ТаблицаЗначений, которые ты все так героически заполняешь, отсюда не видно.

Обратись к атаману.
5 Григорополисец
 
12.12.21
22:50
(4) это всё запросы из регистра накопления по начислению сдельной заработной платы. В одном запросе я я формирую список продавцов, кому было начислено хоть что-нибудь в отдельно взятом месяце (ЗапросСпискаПродавцов).

В другом (ЗапросСпискаПродавцов_Сумм_ВидовНачислений) - посчитанные суммы в рвзрезе продавцов и видов начислений (признаков).

В коде небольшой разнобой: признак = ВидНачисления. Забыл исправить.
6 МихаилМ
 
12.12.21
23:20
(0) Вам надо почитать про кросс-таблицу
7 hhhh
 
12.12.21
23:44
вот это

                ТаблицаЗначений.ЗаполнитьЗначения(стрН.Сумма, ТекКолонка);

выкиньте, это заполняет весь столбец. Пишите просто

НоваяСтрока[ТекКолонка] = стрН.Сумма;
8 Григорополисец
 
13.12.21
12:50
(6), (7) Ребята, большое вам спасибо! Простая конструкция Строка[Колонка] помогла! Вы меня очень выручили!

О кросс-таблицах обязательно почитаю. Это действительно мой случай!
Удачи Вам!!!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.