Таблицы и словари


// 1c7

Функция ТаблицаВСловарь(ТЗ)
    У = СоздатьОбъект("Scripting.Dictionary");
    У.Add("cols",ТЗ.КоличествоКолонок());
    У.Add("rows",ТЗ.КоличествоСтрок());
    Для j=1 По ТЗ.КоличествоКолонок() Цикл
        У.Add("col"+j,ТЗ.ПолучитьПараметрыКолонки(j));
    КонецЦикла;
    Для i=1 По ТЗ.КоличествоСтрок() Цикл
        Для j=1 По ТЗ.КоличествоКолонок() Цикл
            У.Add("r"+i+"c"+j,ТЗ.ПолучитьЗначение(i,j));
        КонецЦикла;
    КонецЦикла;
    Возврат У;
КонецФункции

Функция СловарьВТаблицу(У)
    ТЗ = СоздатьОбъект("ТаблицаЗначений");
    R = У.Item("rows");
    C = У.Item("cols");
    Для j=1 По C Цикл
        ТЗ.НоваяКолонка(У.Item("col"+j));
    КонецЦикла;
    ТЗ.КоличествоСтрок(R);
    Для i=1 По R Цикл
        Для j=1 По C Цикл
            ТЗ.УстановитьЗначение(i,j,У.Item("r"+i+"c"+j));
        КонецЦикла;
    КонецЦикла;
    Возврат ТЗ;
КонецФункции