Ликбез: транспонируем таблицу значений 7.7.

28.01.10

Разработка - Инструментарий разработчика

Меняем "вдоль" на "поперек"

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Transpon.ert
.ert 44,50Kb
53
53 Скачать (1 SM) Купить за 1 850 руб.

Нередко при проектировании формата отчета требуется выводить по строкам то, что вычислено по столбцам - или наоборот. Маленький отчетик (обработочка) в этом поможет.

//_____________________________________________________________________________
// //Обращаться к отчету надо так:
// ПараметрОтчета = СоздатьОбъект("СписокЗначений")
// ПараметрОтчета.Установить("ТабЗнач",ТранспонируемаяТаблица);
// ОткрытьФормуМодально("Отчет",ПараметрОтчета,ПутьКФайлуОтчета);
// РезТаблица = ПараметрОтчета.Получить.("Результат");

// // Было: Полусить результату, однако Smile А  - зануда Cool
// //Первая колонка результирующей ТЗ будет содержать имена колонок исходной ТЗ
//_____________________________________________________________________________

См. также

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Консоль запросов к базе SQL, не требующая внешних компонент

10 стартмани

29.04.2015    22469    57    Gvozdod    8    

16

Инструментарий разработчика Системный администратор Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014    169054    1889    Alexoniq    1603    

499

Инструментарий разработчика Программист Платформа 1С v7.7 Платформа 1С v8.3 Россия Абонемент ($m)

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    33520    61    O-Planet    78    

49

Инструментарий разработчика Программист Платформа 1С v7.7 1C77 Абонемент ($m)

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    21995    Reptile    5    

36

Инструментарий разработчика Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Встала недавно задача для одной организации, которая все еще на 1С 7.7 немного автоматизировать работу отдела продаж. А именно уйти от ручного заполнения договоров, сделанных юристами в MS Word. Договора от разных фирм и разного назначения отличались. Переводить их в таблицы 1С очень не хотелось и нашел способ прямо в файлах Word сделать небольшие дополнения, чтобы можно было печатать, используя именно эти заготовки юристов.

1 стартмани

14.07.2013    27794    56    adamx    11    

14

Инструментарий разработчика Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Давным давно, когда я еще плотно писал на 7.7 работа с формами была мучительной и неудобной. Приходилось каждый элемент выкладывать, выравнивать на форме ручками, прописывать код в модуле. Иногда при разработке очередной формы приходила в голову мысль: "а где-то я уже похожее делал..." и начинался мучительный поиск подходящего кода в своих запасах........

1 стартмани

21.02.2013    18432    36    MarSeN    14    

17

Инструментарий разработчика Программист Платформа 1С v7.7 1C77 Абонемент ($m)

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    36467    51    venger    7    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. script 128 28.01.10 12:17 Сейчас в теме
ПараметрОтчета.Полусить.("Результат");
Работать не будет, поточу что 1С китайский еще не понимает. :D
Арчибальд; +1 Ответить
2. tango 546 28.01.10 12:21 Сейчас в теме
Арчи, блин... :D
полусите минуса позалуста
Арчибальд; +1 Ответить
3. Арчибальд 2709 28.01.10 12:24 Сейчас в теме
4. vcv 89 28.01.10 15:15 Сейчас в теме
Выполнять ПолучитьЗначение/УстановитьЗначение Ширина*Высота раз как-то не слишком быстро.
Может быть быстрее будет транспонировать где-то так:
КоличествоСтрок = ТЗ.КоличествоСтрок();
КоличествоКолонок = ТЗ.КоличествоКолонок();
РезТЗ = СоздатьОбъект("ТаблицаЗначений");
РезТЗ.КоличествоСтрок(КоличествоКолонок);
РезТЗ.КоличествоКолонок(КоличествоСтрок);
СЗ = СоздатьОбъект("СписокЗначений");
Для Колонка=1 По КоличествоКолонок Цикл
    ТЗ.Выгрузить(СЗ,1,КоличествоСтрок,Строка(Колонка));
    РезТЗ.Заполнить(СЗ,Колонка,Колонка);
КонецЦикла;
Показать
Арчибальд; JohnyDeath; +2 Ответить
5. Арчибальд 2709 29.01.10 08:30 Сейчас в теме
(4) От того, что в Выгрузить и Заполнить нет слова "Цикл", они циклами быть не перестают. Впрочем, Выгрузить можно резко ускорить через внутреннее представление ТЗ и СЗ - это будет просто выделение подстроки...
6. vcv 89 29.01.10 08:39 Сейчас в теме
(5) Быстродействие признаться не мерил, поэтому и написал "может быть". Но обычно цикл на языке 1С отрабатывает медленнее, чем цикл где-то в потрохах "Выгрузить" или "Заполнить". Ну и большое количество обращений через "точку" к функциям ПолучитьЗначение/УстановитьЗначение требует времени, особенно в отсутствие функционала turbobl.
Но это все лирика, пока нет конкретных замеров производительности, пусть кому надо, тот и меряет.
А может быть это вообще неважно. Я как то слабо представляю, зачем может потребоваться транспонировать таблицу с сотней (и более) строк.
7. Арчибальд 2709 29.01.10 09:02 Сейчас в теме
(6) На месте 1С я бы как раз выгрузку реализовывал ускоренно, через подстроку. А вот заполнение из-за многовариантности (заполнение тучи строк, тучи столбцов, из разнообразных источников), скорее всего, реализовано через те же циклы.
А насчет потребности в транспонировании - это реально бывает нужно для разнообразных отчетов с неизвестным количеством столбцов с "дырками". Метод ПрисоединитьСекцию не очень удобен.
8. Tatitutu 3849 29.01.10 10:22 Сейчас в теме
На заметку (в МS EXCEL) это реализовано:

можно скопировать таблицу, выбрать новую ячейку (куда поместить новую результирующую таблицу)
меню-правка-специальная вставка - ставим галочку "Транспортировать" и радуемся результату.
9. Арчибальд 2709 29.01.10 10:43 Сейчас в теме
(8) Про Ексель я помню, хотелось все штатно. Я реально эту штучку использую, когда нужно найти конкретный косяк в базе, и приходится делать одноразовый отчетик по какому-либо "кудрявому" запросу.
10. aguh 12.08.24 11:14 Сейчас в теме
Оставьте свое сообщение