Archive for Февраль, 2008

Способы подготовки отчетов. Использование таблицы значений.

В языке программирования 1С есть удобный инструмент «Таблица Значений», который можно использовать, как динамический массив. В отличие от динамических массивов современного Бейсика, таблица значений имеет более широкие функциональные возможности. Процесс объявления переменной «Таблица Значений», выглядит, примерно, следующим образом:

Тз = СоздатьОбъект(«ТаблицаЗначений»);

Тз.НоваяКолонка(«Колонка1»);

Тз.НоваяКолонка(«Колонка2»);

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

Так, например, таблицу значений можно использовать, для обобщения результатов из двух запросов.

При этом чтобы добавить новое значение (новую строку) в таблицу нужно выполнить две команды:

Тз.НоваяСтрока();

Тз.Колонка1 = Значение1;

Тз.Колонка2 = Значение2;

Чтобы сортировать таблицу значений по Колонке1, а затем по Колонке2:

Тз.Сортировать(«Колонка1, Колонка2»);

Для того, чтобы сжать таблицу по Колонке1, просуммировав Колонку2:

Тз.Свернуть(«Колонка1», «Колонка2»);

Для того, чтобы найти строку по значению Колонки1 (значение возвращается в переменную НомерСтрокиГдеНайдено, если значение не найдено НайтиЗначение()=0):

Тз.НайтиЗначение(Значение, НомерСтрокиГдеНайдено, НомерКолонки);

2 comments Февраль 18th, 2008


Calendar

Февраль 2008
Пн Вт Ср Чт Пт Сб Вс
« Янв   Мар »
 123
45678910
11121314151617
18192021222324
2526272829  

Posts by Month

Posts by Category


[removed] (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter47677693 = new Ya.Metrika({ id:47677693, clickmap:true, trackLinks:true, accurateTrackBounce:true }); } catch(e) { } }); var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n[removed].insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "https://mc.yandex.ru/metrika/watch.js"; if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } })(document, window, "yandex_metrika_callbacks"); [removed]