Имя: Пароль:
1C
1C 7.7
v7: Таблица значений с колонкой типа таблица значений
Ø (Злопчинский 13.05.2015 11:06)
0 Lena272
 
12.05.15
11:13
формирую таблицу значений(ТЗБольшая), у которой есть колонка типа ТаблицаЗначений, заполняю ТЗМаленькая, которую буду записывать в ячейку ТЗБольшая и, при чтении получаю во всех строках ТЗБольшая последнее значение ТЗМаленькая....

            ДоходыВычетыНалогиСотрудниковНДФЛ.Выгрузить(ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц,НомерСтроки01,НомерСтроки12,);
            ТЗ.УстановитьЗначение(к, "ДоходыВычетыНалогиСотрудниковНДФЛ", ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц);
1 Новый участник
 
12.05.15
11:16
Нормально работают вложенные ТЗ. На бумажке сомоделируй, не путая имена переменных.
2 Жан Пердежон
 
12.05.15
11:23
(0) ты во все строки ссылку на одну и ту же тз записываешь...
3 Абыр
 
12.05.15
11:30
(0)
ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц = СоздатьОбъект("ТаблицаЗначений");
ДоходыВычетыНалогиСотрудниковНДФЛ.Выгрузить(ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц,НомерСтроки01,НомерСтроки12,);
ТЗ.УстановитьЗначение(к, "ДоходыВычетыНалогиСотрудниковНДФЛ", ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц);
4 Lena272
 
12.05.15
11:46
Для к = 1 По КоличествоСотрудников Цикл
            СтрокаСотрудника = "";
            Сотрудник = Сотрудники.ПолучитьЗначение(к, СтрокаСотрудника);
            
            ТЗ.НоваяСтрока();
            ТЗ.ФИО = Сотрудник;
            Для Месяц = 1 По 12 Цикл
                СтрокаИдСотрудника = СокрЛП(Сотрудник.Код) + глДополнитьСтроку(Месяц, 2);
                
                Если ДоходыВычетыНалогиСотрудниковНДФЛ.НайтиЗначение(СтрокаИдСотрудника, НомерСтроки, 1) = 1 Тогда
                    ДоходыНДФЛ = ДоходыВычетыНалогиСотрудниковНДФЛ.ПолучитьЗначение(НомерСтроки,13);
                Иначе
                    ДоходыНДФЛ = 0;
                КонецЕсли;            
                КоличествоСтрокТаблицыДанных = ТЗ.КоличествоСтрок();    
                
                Если Месяц = 1 Тогда
                    НомерСтроки01 = НомерСтроки;
                КонецЕсли;
                Если Месяц = 12 Тогда
                    НомерСтроки12 = НомерСтроки;
                КонецЕсли;
            КонецЦикла;
            ДоходыВычетыНалогиСотрудниковНДФЛ.Выгрузить(ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц,НомерСтроки01,НомерСтроки12,);
            ТЗ.УстановитьЗначение(к, "ДоходыВычетыНалогиСотрудниковНДФЛ", ДоходыВычетыНалогиСотрудниковНДФЛЗаМесяц);
5 chelentano
 
12.05.15
13:49
(4) см. (3)
Каждый раз маленькую таблицу значений нужно создавать заново
6 Lena272
 
12.05.15
14:00
спасибо, попробую, отпишусь
7 Злопчинский
 
12.05.15
15:23
ТЗродитель.КолонкаТЗдочка = СоздатьОбъект("ТаблицаЗначений");
8 Torquader
 
12.05.15
15:27
Собственно говоря, некое подобие многомерных структур данных можно с 7.7 сделать только с помощью вложенных таблиц значений.
Через список значений можно попытаться собрать только объект, чем-то похожий на JavaScript Object, у которого есть поля и значения.
9 Lena272
 
12.05.15
18:46
действительно, так и есть, теперь записывает как надо :)
всем огромное спасибо
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший