Табличный документ разные колонки у разных строк

Содержание
  1. Табличный документ. Разная высота строк в разных колонках.
  2. Как присоединить области с разным количеством строк? Способ формирования печатной формы под тип ценников, но с различными по высоте областями.
  3. Задача.
  4. Решение
  5. Динамические колонки в таблице значений из разного числа строк (как в отчёте)
  6. Скачать файлы
  7. Специальные предложения
  8. См. также
  9. Безопасная работа с транзакциями во встроенном языке Промо
  10. Пример создания документа с движениями в ERP 2.5.7
  11. Работа с абстрактным массивом
  12. Семеро одного не ждут? Асинхронное исследование асинхронности
  13. План подготовки к аттестации на 1С: Специалиста по платформе (+ Ссылки на материалы) Промо
  14. Модель запроса
  15. Как сдать экзамен 1С:Специалист по платформе?
  16. Динамическая расшифровка СКД (на примере отчета)
  17. Как выполнить отчет на СКД через COM и получить данные отчета? Промо
  18. СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
  19. Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям
  20. Программная корректировка при выводе отчета СКД
  21. Как нарисовать граф на 1С Промо
  22. Библиотека программного изменения формы (УФ)
  23. Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()
  24. Перевод кода и метаданных конфигурации на английский язык: часть 2
  25. Простой способ индексирования интервалов Промо
  26. Подготовка к экзамену 1С:Специалист, платформа 8.3
  27. Методика обновления формы объекта данных при изменении объекта
  28. Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки
  29. Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо
  30. Вывод сообщений в HTML поле средствами 1С
  31. Краткое руководство по внесению изменений в конфигурацию
  32. Универсальные функции: разложение произвольной строки адреса в структуру
  33. БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо
  34. Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4
  35. «Живые» картинки со Snap.SVG
  36. RLS — дубли условий в запросах к СУБД
  37. Некоторая работа с данными через COM Промо
  38. Полное копирование одной формы в другую
  39. Многопоточная обработка данных на примере перепроведения документов
  40. Отображение истории выполнения по всем задачам комплексного процесса в документообороте
  41. Работа со схемой запроса Промо
  42. Описание формата внутреннего представления данных 1С в контексте обмена данными
Читайте также:  Монитор acer rt240y bmid как подключить наушники

Табличный документ. Разная высота строк в разных колонках.

Задача такая. Имеем 6 колонок. В 3 из них строки должны иметь свою высоту (которая определяется автоматически по содержимому ячеек), в других 3 строки имеют свою высоту (тоже определяется независимо по содержимому своих ячеек). Кто-нибудь делал такое?
Попробовал формировать разные наборы колонок в разных табличных документах, а потом выводить в итоговый табл. док. сначала готовый вариант из первого таб. дока, потом присоединять к нему готовый вариант из второго таб дока. Ничего хорошего не вышло — 1С выравнивает всю строку по содержимому ячеек во всех 6 колонках. Вот код:

Ном1 = 0;
Пока Выборка.Следующий() Цикл
Ном1 = Ном1+1;
ОбластьСтрока1.Параметры.НомерГТД = Выборка.НомерГТД;
ОбластьСтрока1.Параметры.Получатель = Покупатель;
ОбластьСтрока1.Параметры.Отправитель = ОписаниеОрганизации(СведенияОЮрФизЛице(Выборка.Поставщик,Дата));
ТабДокумент1.Вывести(ОбластьСтрока1);
КонецЦикла;
.
Ном2 = 0;
Пока Выборка.Следующий() Цикл
Ном2 = Ном2+1;
ОбластьСтрока2.Параметры.Наименование = Выборка.Наименование;
ОбластьСтрока2.Параметры.КоличествоНеттоБрутто = «»+Выборка.Нетто+» / «+Выборка.ВесБрутто;
ОбластьСтрока2.Параметры.Стоимость = «»;
ТабДокумент2.Вывести(ОбластьСтрока2);
ОбластьСтрока2.Области.Строка1.АвтоВысотаСтроки = Ложь;
КонецЦикла;

Область1 = ТабДокумент1.ПолучитьОбласть(«R1C1:R»+Ном1+»C10»);
Область2 = ТабДокумент2.ПолучитьОбласть(«R1C1:R»+Ном2+»C10»);
ТабДокумент.Вывести(Область1);
ТабДокумент.Присоединить(Область2);

Что можно доработать в этом коде для получения результата? Или какой есть еще вариант?

Источник

Как присоединить области с разным количеством строк? Способ формирования печатной формы под тип ценников, но с различными по высоте областями.

Задача.

Вывести в печатную форму, на подобии печати ценников, мини-прайсы. Т.е. некий набор номенклатуры с ценами.

Для тех кто не в курсе как печатаются ценники (на примере УТ11) выводятся фиксированные блоки поочередно присоединяя их, пока они по размеру входят в выводимую область. Как только присоединение не возможно, данные выводятся на «новой строке» Таблицы. Проверка осуществляется ч/з проверить присоединение и проверить вывод

Проблема заключается в том, что количество строк в каждом мини-прайсе различна, и заранее определить фиксированную область в макете для их присоединения (методом присоединить) не представляется возможным.

Читайте также:  Смарт колонка своими руками

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

Решение

Если коротко, то алгоритм следующий:

  1. Создаем «подставной» табличный документ
  2. Получаем из макета области для формирования мини-прайса (в примере Шапка, строка, подвал)
  3. В цикле по сгруппированным данным (по данным шапки)
    1. Очищаем подставной макет
    2. Выводим в него шапку
    3. Выводим все строки (цикл по строкам)
    4. Выводим подвал
    5. Получаем область из подставной табличной части, в которую вывели данные.
    6. Далее работаем с этой областью так же, как как если бы мы получили ее из макета целиком (проверяем на вывод и выводим)

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

PS: Возможно, данная реализация не самая красивая и есть еще варианты. Предлагаю обсудить в комментах.

Ниже небольшая выдержка из кода обработки, прикрепленной для скачивания (демо пример в которой на ряду со «сборной» областью выводится фиксированная область, типа ценника)

ТабличныйДокумент = Новый ТабличныйДокумент ;
ВременнаяОбласть = Новый ТабличныйДокумент ;

ФиксОбласть = Макет . ПолучитьОбласть ( «ФиксХ|У» );
ФиксОбласть . Параметры . Текст = ТекстФиксированногоМакета ;

Х_Шапка = Макет . ПолучитьОбласть ( «Х_Шапка|У» );
Х_Строка = Макет . ПолучитьОбласть ( «Х_Строка|У» );
Х_Подвал = Макет . ПолучитьОбласть ( «Х_Подвал|У» );

ПерваяКолонка = Истина;
Если ВыводитьФиксированнуюОбласть Тогда
Область = ФиксОбласть ;
ВывестиОбласть ( ТабличныйДокумент , Область , ПерваяКолонка );
КонецЕсли;
Для х = 1 по СтрокиТаблицы . Количество () Цикл

СтрокаТаблицы = СтрокиТаблицы [ х — 1 ];
ВременнаяОбласть . Очистить ();
Х_Шапка . параметры . Наименование = СтрокаТаблицы . Наименование ;
ВременнаяОбласть . Вывести ( Х_Шапка );
Для Каждого строкаТ из СтрокаТаблицы . Строки Цикл
ЗаполнитьЗначенияСвойств ( Х_Строка . Параметры , строкаТ );
ВременнаяОбласть . Вывести ( Х_Строка );
КонецЦикла;
ВременнаяОбласть . Вывести ( Х_Подвал );
Область = ВременнаяОбласть . ПолучитьОбласть ( «R1C1:R» + ВременнаяОбласть . ВысотаТаблицы + «C» + ВременнаяОбласть . ШиринаТаблицы );

ВывестиОбласть ( ТабличныйДокумент , Область , ПерваяКолонка );

Если ВыводитьФиксированнуюОбласть Тогда
Область = ФиксОбласть ;
ВывестиОбласть ( ТабличныйДокумент , Область , ПерваяКолонка );
КонецЕсли;

Источник

Динамические колонки в таблице значений из разного числа строк (как в отчёте)

Для статьи я упростила и переделала ту же идею, только для справочника сотрудники, по которым мы выведем в колонки сведения о них «Рост», «Вес», «Адрес регистрации» и тп.

Данные будут получены из регистра сведений, в котором задаются разнообразные сведения:

Результат работы обработки:

Сведения из второй колонки преобразованы в независимые именнованные колонки со значениями.

Ключевые объекты конфигурации

1. Справочник «Сотрудники».

2. Регистр сведений «СведенияОСотрудниках».

Измерения: Сотрудник, Сведение. Ресурс: Значение.

3. Обработка «ДинамическиеКолонки».

Для измерения регистра сведений я ввела план видов характеристик «Сведения» с разнообразными типами.

Обработка «ДинамическиеКолонки»

Модуль формы

Код можно назвать вполне универсальным, в том смысле что, если у вас так же 3 колонки, не важно с какими наименованиями, вы можете воспользоваться им без внушительных доработок.

Я внесла в код три замечания в качестве комментариев, в которых указано, что нужно исправить.

(1) В запросе после КАК оставьте те значения, которые сейчас заданы — Сотрудник, Сведение, Значение.

После того, как протестируете и вникните в код, переименуете их.

(2) Укажите свой тип для колонки «Сведение», у меня это — ПВХ.

(3) Укажите свой тип для колонки «Значение», у меня это массив из типов.

На всякий случай прилагаю базу.

Скачать файлы

Специальные предложения

это задача на профпригодность. на 30 минут.
в sql — оператор pivot.

скд легко выводит на «маленьких» объемах данных.
На 200к строк , 20 полей, 10к результирующей тз построчный способ работает быстрее, а поколоночный в разы быстрее.

также можете применить кластерный анализ объекта анализ данных.

Обновление 16.02.18 21:24

См. также

Безопасная работа с транзакциями во встроенном языке Промо

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку «В данной транзакции уже происходили ошибки». Учимся защищаться от них.

25.03.2019 45842 tormozit 58

Пример создания документа с движениями в ERP 2.5.7

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

10.08.2021 2091 maraty 10

Работа с абстрактным массивом

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

07.07.2021 3806 kalyaka 56

Семеро одного не ждут? Асинхронное исследование асинхронности

Все уже, наверное, знают о появлении в новых версиях платформы асинхронных функций и конструкций Асинх/Ждать. Многие, возможно, уже их используют. Но что будет, если создать свои асинхронные функции, запустить и не дожидаться окончания их выполнения? Неужели можно запустить несколько процессов параллельно?

08.06.2021 5536 Alxby 45

План подготовки к аттестации на 1С: Специалиста по платформе (+ Ссылки на материалы) Промо

Хочу поделиться собственным планом подготовки к аттестации на 1С: Специалист по платформе 8.3 со ссылками на материалы (и указанием стоимости).

23.12.2017 25707 UtSpar 39

Модель запроса

Работа с текстом запроса напрямую не позволяет просто обратиться к определенному полю, таблице или условию. Однако, работая со схемой, можно добавить к существующему условию новое или вообще включить его в состав другой группы. Как ни странно, в типовых решениях часто можно встретить код работы с текстом запроса наряду с использование схемы. Возможно появление удобной библиотеки или нового объектного подхода позволит отказаться от работы с текстом совсем, а код построения запроса будет аутентичен исходному запросу, но без избыточности и доступный для простой модификации.

01.03.2021 2948 kalyaka 25

Как сдать экзамен 1С:Специалист по платформе?

Не пора ли получить сертификат 1С:Специалист по платформе? Для этого .

18.01.2021 17835 vasilievil 10

Динамическая расшифровка СКД (на примере отчета)

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

08.12.2020 1618 mr_sav 2

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, «скопипастить» текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его «немного модифицированная» копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

08.05.2018 32754 wowik 3

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

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

07.12.2020 5206 user1502278 18

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

Цель данной статьи — сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

09.10.2020 7541 hexhoc 12

Программная корректировка при выводе отчета СКД

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

08.10.2020 11113 dabu-dabu 16

Как нарисовать граф на 1С Промо

Описывается реализация на языке запросов 1С метода расположения вершин графа на плоскости, основанного на использовании электромеханической аналогии. При этом вершины графа представляются одноименными электрическими зарядами, дуги — пружинками. Силы взаимодействия вершин в этой системе переводят их из случайного начального в нужное конечное положение. Приведена обработка рисования графов «ГрафОграф», реализующая данный подход, показывающая также динамику процесса. Граф можно задать списком ребер вручную, выбрать из нескольких предопределенных примеров или сформировать по данным информационной базы.

09.08.2013 73585 ildarovich 117

Библиотека программного изменения формы (УФ)

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

07.08.2020 6964 BuriyLesha 19

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

25.07.2020 11987 Flashill 15

Перевод кода и метаданных конфигурации на английский язык: часть 2

Практический пример подготовки словаря для перевода кода и модели конфигурации УНФ 1.6 на английский язык с использованием существующих словарей и плагина EDT Language Tool. В статье приводятся готовые скрипты и алгоритмы сборки и нормализации словаря.

05.04.2020 3321 vanjushkin 0

Простой способ индексирования интервалов Промо

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

28.09.2016 42103 ildarovich 22

Подготовка к экзамену 1С:Специалист, платформа 8.3

Подготовка, подготовка, подготовка.

10.03.2020 14316 jan-pechka 91

Методика обновления формы объекта данных при изменении объекта

В формах объектов данных часто встречаются элементы, косвенно связанные с объектом. Логику обновления этих элементов при изменении объекта обычно вызывают из обработчиков ПриСозданнииНаСервере и ПриОткрытии, забывая про наличие других способов изменения объекта. В статье предложена методика для обычных и управляемых форм, учитывающая все способы.

09.03.2020 20833 tormozit 16

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

05.03.2020 8171 user5300 3

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

01.02.2018 38481 rpgshnik 59

Вывод сообщений в HTML поле средствами 1С

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

31.01.2020 11288 burni4 16

Краткое руководство по внесению изменений в конфигурацию

Кратко описаны основополагающие моменты при старте групповой разработки конфигурации несколькими программистами. Полезно для проектной документации как требование к разработчикам или сопровождающей компании.

13.01.2020 22888 sapervodichka 41

Универсальные функции: разложение произвольной строки адреса в структуру

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

30.12.2019 5983 vik070777 10

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

10.05.2018 54524 dsdred 46

Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4

Многие уже знают, что в релизе платформы 8.3.14.1565, браузер Internet Explorer был заменен на Web-Kit, это на самом деле большой шаг вперед, но я уверен, многим, как и мне, пока не совсем понятно, что к чему. Возник опыт использования web-kit в 1С, вызова JS из 1С и вызова 1С из JS. Давайте вместе попробуем понять, чем одно отличается от другого, и заодно сделаем, что-нибудь полезное. Да и наверняка многим придется переписывать свои подобные поделки после обновления на новую платформу, так что надеюсь мой опыт окажется полезным.

08.12.2019 9696 Бэнни 25

«Живые» картинки со Snap.SVG

В статье рассмотрен пример использования http-сервисов для визуализации данных

24.10.2019 15179 blackhole321 7

RLS — дубли условий в запросах к СУБД

«Подводные камни», возникающие при бездумном копировании ролей с ограничениями RLS, как это отражается на производительности, разбор примера и инструмент для анализа.

07.10.2019 10084 geron4 4

Некоторая работа с данными через COM Промо

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

05.12.2012 60053 wowik 32

Полное копирование одной формы в другую

Однажды я столкнулся с необходимостью открыть форму ЛЮБОГО документа с определенными изменениями, не зависящими от структуры объекта (например, заблокировать все кнопки). В интернете решения я не нашел. Обычно на форумах на запросы подобного рода отвечают чем-то вроде «покажи первоначальную задачу, а не спрашивай как реализовать то, что ты придумал». Тем не менее, мне стало интересно, как это можно сделать.

03.10.2019 8092 nekit_rdx 25

Многопоточная обработка данных на примере перепроведения документов

Дальнейшее развитие темы фоновой обработки данных — проведение документов в потоках. Настройка параметров и запуск основного процесса (менеджера потоков). Разбивка документов для проведения на не связанные друг с другом наборы и запуск дополнительных фоновых заданий для отдельных потоков. Отслеживание выполнения каждого потока в родительском сеансе.

17.09.2019 12956 ids79 46

Отображение истории выполнения по всем задачам комплексного процесса в документообороте

Коллеги, предлагаю вашему вниманию доработку для вывода полной истории в задачах комплексного процесса.

15.09.2019 8842 pavelpribytkin96 8

Работа со схемой запроса Промо

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

24.04.2018 52218 kalyaka 41

Описание формата внутреннего представления данных 1С в контексте обмена данными

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

Источник

Оцените статью
Наименование Файл Версия Размер