- Реализация табличного поля документа с неограниченным количеством колонок
- Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
- Полезные процедуры по работе с СКД и табличными документами (часть 1)
- 1. Объединение, скрытие, замена
- 2. Процедуры по выводу табличного документа
- 3. Вывод рядом двух независимых таблиц
- 4. Установка собственного формата для табличного документа
- Скачать файлы
- Специальные предложения
- Создание табличного документа с выводом вертикальных и горизонтальных областей(колонок и строк) макета одновременно
- Динамические колонки в таблице значений из разного числа строк (как в отчёте)
- Скачать файлы
- Специальные предложения
- См. также
- Безопасная работа с транзакциями во встроенном языке Промо
- Пример создания документа с движениями в ERP 2.5.7
- Работа с абстрактным массивом
- Семеро одного не ждут? Асинхронное исследование асинхронности
- План подготовки к аттестации на 1С: Специалиста по платформе (+ Ссылки на материалы) Промо
- Модель запроса
- Как сдать экзамен 1С:Специалист по платформе?
- Динамическая расшифровка СКД (на примере отчета)
- Как выполнить отчет на СКД через COM и получить данные отчета? Промо
- СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках
- Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям
- Программная корректировка при выводе отчета СКД
- Как нарисовать граф на 1С Промо
- Библиотека программного изменения формы (УФ)
- Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()
- Перевод кода и метаданных конфигурации на английский язык: часть 2
- Простой способ индексирования интервалов Промо
- Подготовка к экзамену 1С:Специалист, платформа 8.3
- Методика обновления формы объекта данных при изменении объекта
- Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки
- Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо
- Вывод сообщений в HTML поле средствами 1С
- Краткое руководство по внесению изменений в конфигурацию
- Универсальные функции: разложение произвольной строки адреса в структуру
- БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо
- Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4. Допиливаем обмен с сайтом в УТ 11.4
- «Живые» картинки со Snap.SVG
- RLS — дубли условий в запросах к СУБД
- Некоторая работа с данными через COM Промо
- Полное копирование одной формы в другую
- Многопоточная обработка данных на примере перепроведения документов
- Отображение истории выполнения по всем задачам комплексного процесса в документообороте
- Работа со схемой запроса Промо
- Описание формата внутреннего представления данных 1С в контексте обмена данными
Реализация табличного поля документа с неограниченным количеством колонок
При внедрении блока бюджетирования на одном проекте была поставлена задача. В табличную часть документа (бюджетная операция и еще 2 похожих по смыслу документа) необходимо было вводить следующие данные по периодам: Статья бюджета — Проект — Контрагент — Договор — Номенклатура — Сумма операции.
Хотелось, чтобы суммы можно было вводить по колонкам, как в экселе. Причем количество периодов в документе могло быть неограниченным (7 дней недели, 30 дней месяца или все 365 дней года).
Выложить реализацию этой задачи в виде отдельной базы данных подтолкнула вот эта публикация: //infostart.ru/public/549297/ , все-таки СКД или поле табличного документа не очень удобны для ввода данных по сравнению с привычными табличными частями.
В проекте решение реализовано было на базе УПП, понятно что его выкладывать сюда целиком не буду. Моя база состоит из нескольких справочников (одноименные с УПП, но созданы заново в упрощенном виде) : сценарии, номенклатура, контрагенты. , и одного документа — Наш документ, в котором и вводятся данные (меню Операции — Документы).
Код открыт, можно переносить функционал в свои разработки.
Последовательность работы предполагается такая.
Создаем документ, выбираем сценарий с нужной периодичностью, выбираем планируемый период.
В табличном поле появится нужное количество колонок с заголовками в соответствии с периодами.
Добавляем строки с данными. Показатели «Сумма» и «Количество» можно вводить двумя способами:
1. В колонку Итого, тогда данные по периодам заполнятся автоматически. Например, выбрано 12 месяцев, в итого введено 1200 руб., в каждой колнке появится по 100 руб. В случае, если введенная сумма не делится нацело на количество периодов (7000 / 12 = 583,33333), дельта от округления суммируется в колонку первого периода.
2. В колонку каждого периода. При этом в колонке «Итого» будет видна общая сумма введенных данных по строке.
Реализована возможность копирования, удаления, сортировки строк (для обычной табличной части это сама платформа делает, тут же понадобилось несколько строк кода).
При изменении периода планирования или сценария — табличная часть очищается.
Поскольку код выдернут из другой конфигурации и толком в новой базе не оттестирован, возможны баги.
Источник
Ваш браузер устарел, пожалуйста обновите ваш браузер пройдя по ссылке www.microsoft.com/download
Полезные процедуры по работе с СКД и табличными документами (часть 1)
Данная публикация имеет две основные цели
— Зафиксировать полученный опыт, чтобы через некоторое время можно было его использовать повторно
— Получить обратную связь от сообщества относительно предлагаемых приемов. Альтернативные решения крайне приветствуются
1. Объединение, скрытие, замена
Пусть требуется получить отчет следующего вида
Этот отчет имеет несколько особенностей:
— Объединенные ячейки в шапке
— Количество и состав колонок в группе “Бонусы” — динамические. Выводятся только, если заполнено хотя бы для одного сотрудника в отчете. Если, например, никто из попавших в отчет сотрудников не получил надбавку за сверхурочные, то этой колонки в отчете быть не должно. Проектов в группе “за проекты” может быть неограниченное количество.
— Дополнительные требования к порядку полей: колонка “Оклад” должна выводиться первой, “Всего по сотруднику” — последней
В консоли можно получить следующий результат
Далее приведены универсальные процедуры, с помощью которых можно:
1. Объединить ячейки “Бонусы” и “За проекты” в шапке отчета с помощью процедуры ОбъединтьЯчейкиВТабличномДокументе()
2. Скрыть заголовок ресурса “Сумма” с помощью процедуры СкрытьСтрокиВТабличномДокументе()
2. Процедуры по выводу табличного документа
Эти процедуры можно найти в различных интерпретациях на множестве сайтов. Здесь выкладываю те, которые использую я
3. Вывод рядом двух независимых таблиц
Данная идея была взята с форума (отличный пример выложил ditp). Моя заслуга лишь в том, чтобы обернуть ее в функцию и незначительно оптимизировать.
4. Установка собственного формата для табличного документа
Данная процедура является оберткой над стандартной процедурой СоздатьФорматСтрок() (постоянно приходится вспоминать, как она называется). Позволяет выводить одну таблицу под другой с независимой шириной колонок. В сводном примере данная процедура применяется для корректного форматирования конечного документа
Процедуры тестировались на платформе 8.3 в режиме совместимости с 8.2 и без режима совмместимости, а также на платформе 8.1.
К статье прилагаются внешние отчеты со сводным примером (запускается в любой конфигурации 8.2/8.3 на обычных или управляемых формах, также отчет на 8.1)
Скачать файлы
Наименование | Файл | Версия | Размер |
---|---|---|---|
Наименование | Файл | Версия | Размер |
---|---|---|---|