Как поменять местами колонки в 1с
1С8 динамическое обновление базы на Sql
Раньше, когда юзал файловую версию - изменю че-нить мелкое в конфигураторе и не выгоняя юзверей.
Динамическое добавление колонок в отчет
Добрый день. Никак не могу сообразить, как собрать программно отчет, в котором динамически будут.
Динамическое добавление колонок
Помогите пожалуйста разобраться. Первая таблица добавляет колонку второй таблице, но колона не.
Конечно, можно сделать всё только строками (типа сложный ключ (P.S. теорию я нормально знаю)), но это будет не очень наглядно, заказчику не понравится, придётся переделывать, сроки жмут. Всё как обычно.
Друг мой, почему ты решил, что не реально? В модуле формы документа выполни следующий код:
Где: позиция - номер колонки, после которой будет добавлена нужнаяНаименование - Как колонка назовется
ТабличнаяЧасть1 - название твоей табличной части.
и посмотри, что произойдет.
Но я бы, всетки, на твоем месте, заставил заказчика пересмотреть ТЗ. А не пытался ему "понравиться" Ты профи в своем деле и к твоему мнению должны прислушиваться. А то на голову сядут ( В таком случае возникает 2 вопроса:
1) не могу вставить данные в добавленную колонку;
2) колонка при записи документа не сохраняется, а это критично в моём случае.
1) после добавления колонки установи ей элемент управления, например:
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
проверь свойства к0лонки ТолькоПросмотр и Доступность
поковыряйся с0 свойствами самого поля ввода НоваяКолонка.ЭлементУправления
2) и не сохраницц0. иб0 состав реквизитов меняецц0 только в режиме Конфигуратора.
вариантЪ : добавь реквизит ХранилищеЗначения и загоняй в нег0 при записи ТЗ, являющуюся ист0чником данных для Таб. поля формы.
Контейнер = Новый ХранилищеЗначения(ТЗданныеФормы);
с00твеЦтвенно, ПриОткрытии вытаскивай обратн0.
ТекТаб = Контейнер.Получить();
ТЗданныеФормы = ТекТаб.Скопировать();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
ЭлементыФормы.ТабличноеПоле.ОбновитьСтроки();
Сразу прошу прощения за может глупый вопрос, но необходимо в Таблице Значений
поменять местами колонки.
В Запросе произвольные группировки с произвольными фильтрами.
Удалить и Вставить - 3000 строк с 10 колонками - это не быстро.
Может кто-то подскажет ещё какой то алгоритм или куда именно копать ?)
Спасибо.
ТЗ.Сортировать() сортирует СТРОКИ!
или я что-то не понимаю?
но это же только для визуального отображения ТЗ. Как мне её записать в том же виде ?
порядок колонок может быть важен только для визуального отображения
какая Вам разница, как движок хранит данные?
(2) - Наверное всё же (Колонка2,Колонка1) :-) Всё равно спасибо, думаю это именно то что надо.
Именно как я написал, в кавычках, я имею ввиду. =)
Примерно так:
ТЗ - Таблица значений. Меняем в ней 6 и 9 колонку местами.
Используй функцию
ВидимостьКолонки(<Колонки>,<Видимость>,<Позиция>)
последний параметр и указывает на позицию колонки в таблице знаячений
(7) - но это же только для визуального отображения ТЗ. Как мне её записать в том же виде ?А если в методе "сортировать" указать нужный порядок следования колонок, путем указания их названий ? (9) - ну вот мне надо её проанализировать и выгрузить в другую ТЗ :) Не понимаю зачем менять положение колонок
Выгрузи в таком же виде как и есть :) (11) - как третий параметр указывать ? То есть "3,2,," или "колонка2,колнока3,колонка1"
Сдвинуть(<Колонка>, <Смещение>)
Параметры:
Тип: Число; КолонкаТаблицыЗначений.
Индекс сдвигаемой колонки или сама колонка.
<Смещение> (обязательный)
Тип: Число.
Количество колонок, на которое необходимо переместить колонку. Положительное значение означает, что колонка будет передвинута ближе к концу таблицы значений (вправо), отрицательное - ближе к началу (влево).
Описание:
Механизм настройки списков предоставляется платформой, как говорят программисты «из коробки». Поэтому он доступен пользователям любых прикладных решений. С его помощью пользователи могут изменить внешний вид списка в соответствии со своими предпочтениями или требованиями текущей задачи . Система позволяет в пользовательском режиме изменять структуру списков, устанавливать отборы, группировать элементы и даже настраивать условное оформление выводимых данных.
1. Быстрая сортировка данных
Первой мы рассмотрим такую полезную функцию, как сортировка данных по колонке. Обратите внимание, все колонки списка имеют заголовки с названиями. Их можно «кликать» мышкой. Щелчек левой клавишей мыши по шапке нужного столбца, включает сортировку списка по возрастанию, повторное нажатие меняет направление сортировки.
2. Быстрая сортировка данных по нескольким столбцам одновременно.
Быстрые сортировки можно комбинировать. Например, когда мы хотим сначала отсортировать список по контрагентам, а потом по суммам поступлений. Для этого достаточно нажимать на заголовки столбцов с зажатой клавишей CTRL.
3. Установка периода
Когда речь идет о списке документов, то для него весьма важен период выводимых документов. Включить ограничение по периоду можно через контекстное меню. Его, в свою очередь, можно отрыть, щелкнув правой клавишей мыши по любой строке списка. Далее необходимо выбрать в нем пункт Установить период .
4. Быстрый отбор по текущему значению
Если вам нужно быстро отобрать данные по какому-то значению, то достаточно кликнуть правой кнопкой по этому элементу в списке и выбрать пункт «Найти».
5. Поиск по текущей колонке.
Далее можно включить расширенный поиск по выбранной колонке. Для этого в контекстном меню нужно выбрать пункт Расширенный поиск.
6. Вывод списка
После установок отбора и сортировки списка, вам может понадобиться вывести полученные результаты на печать или сохранить их в файл. Для этого нужно нажать на кнопку « Ещё » и выбрать пункт « Вывести список ». В открывшейся форме настроек, можно флажками указать, какие именно колонки будут показаны в списке, который мы будем выводить на печать.
7. Изменение формы (настройка порядка и видимости колонок)
Для настройки формы нажмите на кнопку еще, и далее выберете пункт Изменить форму . В открывшейся форме настройки, можно управлять видимостью колонок, менять их местами, объединять их в группы и даже добавлять новые. Колонкам можно задавать собственные заголовки, менять их стиль и размеры.
Стоит отметить, что информация представлена достаточно сжато. Поэтому вы можете посмотреть подробный видеоурок. По его материалам написана данная статья.
На этом пока все. Полный текст статьи можно прочитать в разделе Приемы работы с 1с .
Подписывайтесь на канал и наши группы в социальных сетях, чтобы не пропустить новые публикации.
Войдите как ученик, чтобы получить доступ к материалам школы
Система компоновки данных 1С 8.3 для начинающих: меняем созданный отчет
Автор уроков и преподаватель школы: Владимир Милькин
На этом уроке мы научимся менять уже созданный на основе СКД отчёт.
Ставим цель
Целью этого урока будет:
- Скопировать файл отчёта с прошлого урока "Урок1.erf".
- Изменить имя скопированного отчёта на "Урок2.erf".
- Открыть отчёт "Урок2.erf" в конфигураторе.
- Внести изменения в схему компоновки данных.
Создаём копию отчёта с предыдущего урока
Вначале копируем отчёт предыдущего урока.
. и вставляем его на рабочий стол:
Далее переименовываем получившуюся копию.
Открываем копию в конфигураторе
Открываем базу "Гастроном" в конфигураторе:
Открываем в конфигураторе отчёт .
В открывшейся форме отчёта меняем имя на "Урок 2" и нажимаем кнопку "Открыть схему компоновки данных":
Вот она наша схема - в том виде как мы её настроили на прошлом уроке:
Меняем заголовки столбцов
Вы помните как выглядит этот отчёт в режиме пользователя? Вот так:
Давайте изменим нашу схему так, чтобы вместо "Наименование" выводилось "Имя", а вместо "Пол" выводилось "М/Ж".
Сделать это проще простого.
В схеме на закладке "Наборы данных" в области "Поля" устанавливаем галку и меняем заголовок соответствующих полей:
Сохраняем наш отчёт нажатием на значок дискета:
И вновь открываем его в режиме пользователя (при этом не забудьте закрыть предыдущий отчет) и нажимаем кнопку "Сформировать":
Заголовки колонок изменились нужным образом. Отлично
Меняем порядок столбцов
Но порядок колонок не совсем правильный. Давайте добьёмся того, чтобы колонка "Наименование" шла первой, "Пол" второй и "ЛюбимыйЦвет" третьей.Для этого возвращаемся в конфигуратор (вообще не нужно было его закрывать) в нашу схему компоновки данных и переходим на закладку "Настройки".
В этой закладке прежде чем что-то делать всегда будем в начале выделять слово "Отчет" (шаг 2). Пока просто запомните это и делайте так всегда.Выделив "Отчет" переходим (ниже) на закладку "Выбранные поля", выделяем там поле "Наименование" и при помощи стрелки перемещаем его наверх:
Получилось вот так:
Аналогичным образом меняем порядок оставшихся полей, чтобы получилось вот так:
Вновь сохраняем отчёт и, не закрывая конфигуратора, открываем и формируем его в режиме пользователя:
Всё получилось. Порядок колонок теперь вполне логичный.
Меняем оформление и добавляем заголовок
Теперь давайте сделаем небольшое "украшательство" нашего отчёта и изменим его цветовое оформление.Для этого в режиме конфигуратора переходим на закладку "Настройки", обязательно выделяем "Отчет", далее в самом низу переходим на закладку "Другие настройки" и нажимаем на кнопку выбора для пункта "Макет оформления":
Выбираем вместо основного вариант "Античный":
Теперь давайте добьёмся того, чтобы у нас в отчёте перед таблицей выводился заголовок "Наши клиенты".
Чтобы это сделать проматываем список других настроек вниз и устанавливаем поля "Выводить заголовок" и "Заголовок" как на рисунке ниже:
Сохраняем отчёт и открываем его в режиме пользователя:
Видим, что появился заголовок и изменилось оформление.
Меняем сортировку
А ещё давайте сделаем, чтобы в нашем отчёте сначала шли женщины, а затем мужчины.Для этого сделаем сортировку полю "Пол".
Снова возвращаемся к конфигуратору. Переходим на закладку "Настройки", выделяем "Отчет" и переходим на закладку (в самом низу) "Сортировка".
Там перетаскиваем поле "Пол" из первой колонки во вторую:
А также указываем для него направление сортировки "По убыванию":
Сохраняем отчёт, а затем формируем его в режиме пользователя:
Отлично, строки в отчёте отсортированы по полу: вначале идут женщины, а затем мужчины.
Эталонная обработка, после выполнения всех шагов этого урокаВойдите на сайт как ученик
Для учеников
Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.
На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .
Читайте также: