Здравствуйте, в этой статье мы постараемся ответить на вопрос: «1С сортировка в форме списка». Также Вы можете бесплатно проконсультироваться у юристов онлайн прямо на сайте.
Содержание:
Динамический список в отличие от таблицы или дерева значений – более подходящее решение для реализации форм содержащих какие-либо списки, т.к. динамический список предоставляет наиболее широкий набор инструментов для работы с отбором, группировкой полей, сортировкой. Данный отбор можно установить при работе в пользовательском режиме или конфигураторе, принцип одинаков.
Для установки отбора в режиме предприятия необходимо вызвать команду «Настроить список».
Сортировка по любому реквизиту в форме списка 1С 8
Если в разрабатываемой конфигурации присутствует подсистема БСП «БазоваяФункциональность», программный отбор в динамическом списке можно установить используя типовой метод:
ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка()
Сигнатура данного метода:
ДинамическийСписок Тип: ДинамическийСписок – Список, в котором требуется установить отбор.
ИмяПоля Тип: Строка – Поле, по которому необходимо установить отбор.
ПравоеЗначение Тип: Произвольный – Значение отбора (Необязательный. Значение по умолчанию: Неопределено. Внимание! Если передать Неопределено, то значение не будет изменено).
ВидСравнения Тип: ВидСравненияКомпоновкиДанных – Условие отбора.
Представление Тип: Строка – Представление элемента компоновки данных (Необязательный. Значение по умолчанию: Неопределено. Если указано, то выводится только флажок использования с указанным представлением (значение не выводится). Для очистки, чтобы значение снова выводилось, следует передать пустую строку).
Использование Тип: Булево – Флажок использования этого отбора (Необязательный. Значение по умолчанию: Неопределено).
РежимОтображения Тип: РежимОтображенияЭлементаНастройкиКомпоновкиДанных – Способ отображения этого отбора пользователю. Возможные значения:
- РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ – В группе быстрых настроек над списком.
- РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный – В настройка списка (в подменю Еще).
- РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный – Запретить пользователю менять этот отбор.
ИдентификаторПользовательскойНастройки Тип: Строка – Уникальный идентификатор этого отбора (Используется для связи с пользовательскими настройками).
Для удаления какого-то значения отбора необходимо воспользоваться типовым методом:
ОбщегоНазначенияКлиентСервер. УдалитьЭлементыГруппыОтбораДинамическогоСписка ()
Сигнатура данного метода:
ДинамическийСписок Тип: ДинамическийСписок – реквизит формы, для которого требуется установить отбор.
ИмяПоля Тип: Строка – имя поля компоновки (не используется для групп).
Представление Тип: Строка – представление поля компоновки.
В случае отсутствие в системе БСП отбор можно установить самостоятельно, используя объект ПолеКомпоновкиДанных.
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ФИО"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ; // Опционально ЭлементОтбора.ПравоеЗначение = "Иванов";
Данный отбор отберет строки, в которых значение «ФИО» = «Иванов».
Для использования логических «И», «ИЛИ», «НЕ» предназначен тип данных ГруппаЭлементовОтбораКомпоновкиДанных
ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИЛИ; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ФИО"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = "Иванов"; ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ФИО"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.ПравоеЗначение = "Петров";
Данный отбор отберет строки, в которых значение «ФИО» = «Иванов» или «Петров».
Отбор в динамическом списке также можно производить через изменение текста запроса динамического списка. Этот вариант работает, когда динамический список сделан через «произвольный запрос».
Дело в том, что Отбор является свойством динамического списка. Этим мы и воспользуемся. Сначала добавим в свойство отбора новый элемент:
НовЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
Чтобы отбор заработал, нужно прописать параметры «ЛевоеЗначение», «ВидСравнения» и «ПравоеЗначение». Кроме того необходимо свойство «Использование» установить в «Истина».
- Как создать список значений
- Как добавить элемент в список значений
- Как вставить элемент в список значений
- Как обойти элементы списка значений
- Как очистить список значений
- Как узнать количество элементов списка значений, а также получить элемент списка по его индексу
- Как найти элемент списка по его значению
- Как узнать индекс элемента в списке
- Как отсортировать список по его значениям
- Как удалить элемент из списка значений
- Как сдвинуть элемент списка значений
- Как сделать копию списка
- Как выгрузить значения списка в массив
- Как загрузить значения списка из массива
- Как сделать немодальный выбор значения из списка значений
- Как сделать немодальную отметку значений из списка значений
- Как сделать модальный выбор значения из списка
- Как сделать модальную отметку значений из списка значений
- Скачать и выполнить эти примеры на компьютере
Приветствую всех заглянувших на огонёк! 🙂
Тема открытия списка документов, справочников, регистра с отбором на управляемых формах (УФ) давно «избита». Но нюансы как всегда появляются.
Реализация такого функционала возможна несколькими способами. Но в данной заметке я рассмотрю 2 очень похожих и тем не менее несколько различающихся: с отображением примененного отбора на форме и без отображения примененного отбора.
Отбор устанавливается программно.
Установка программного отбора на управляемых формах имеет на мой взгляд одно неоспоримое преимущество: нет необходимости изменять целевую форму (форму списка), достаточно прописать несколько строчек кода в том месте, откуда вызывается отбор. Это может очень пригодиться, когда ведется доработка типовой конфигурации и желательно изменять как можно меньше объектов с максимумом эффективности. Открытие списка с отбором может пригодиться в разных задачах, но как правило это подбор нужного документа (или элемента справочника) в вашу форму.
Чаще всего применяется второй способ, но иногда необходим и первый.
Отбор на управляемых формах в 1С 8.3
Форма = ОткрытьФорму(«Документ.ПоступлениеТоваровУслуг.Форма.ФормаВыбора»,, Элементы.Товары); //Здесь указываете свою форму ПользовательскийОтбор = Форма.СписокДокументыПоступления.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(Форма.СписокДокументыПоступления.КомпоновщикНастроек.Настройки.Отбор.ИдентификаторПользовательскойНастройки); //Если вам известен идентификатор, указываете здесь. Но можно не заполнять ПользовательскийОтбор.Элементы.Очистить(); //Очищаются ранее установленные нстройки //Установка элемента отбора ОтборВладелец = ПользовательскийОтбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»)); ОтборВладелец.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборВладелец.ИдентификаторПользовательскойНастройки = «Партнер»; //Произвольный текст ОтборВладелец.Использование = Истина; ОтборВладелец.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Партнер»); ОтборВладелец.ПравоеЗначение = Объект.Партнер; //Этот блок можно повторять столько раз, сколько требуется установить отборов. Идентификатор в каждом отоборе должен быть разный.
Ключевой момент в этом коде то, что используется пользовательская настройка отбора в динамическом списке той формы, которую необходимо открыть.
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Автоматическая выгрузка товаров осуществляется в соответствии с настройками автообмена. Для ручного запуска процесса выгрузки товаров необходимо:
- в форме редактирования настройки обмена нажать кнопку Выполнить обмен:
На вкладке заказов Отбор и сортировка задаются условия отбора для выгружаемых заказов и контрагентов. Заказы, помимо точки актуальности, можно ограничить по организациям и подразделениям, а контрагенты — по контрагентам и категориям контрагентов.
Посмотрите на современные типовые конфигурации – насколько усложнился их код, отвечающий за работу форм.
А как же их дорабатывать, если в этом не разобраться?
Удобные и функциональные формы, работающие в любом разрешении, под любым клиентом, в том числе через web – это признак профессиональности.
“Суровые программисты” часто относятся к этому с пренебрежением.
Но это как ходить в грязной мятой одежде – внутри можно быть прекрасным человеком, но это никто не оценит.
Мы разберем три интерфейса: Обычный, Управляемый, Такси.
Детально изучим устройство и логику работы форм, как управляемых, так и обычных.
И для примера – вот несколько тем, которые будут рассмотрены в курсе:
- Интерфейсные механизмы типовых конфигураций (БП 3.0, УТ 11, УПП)
- Работа с БСП – обработки заполнения объектов
- Правильное программирование клиент-серверного взаимодействия
- Создание универсальных табличных частей – с произвольным числом колонок
- Настройка сложных привязок в формах
- Размещение на форме подчиненных справочников и регистров сведений
- Организация перетаскивания между списками
- Различные способы заполнения и обновления данных в табличных частях
- Создание сложных форм заполнения с дополнительными фильтрами. В обычном интерфейсе для этого будет использоваться построитель отчета, а в управляемом – система компоновки данных
- Вывод бинарных данных (мультимедиа) на формы
- Загрузка файлов в информационную базу и в структуру каталогов на сервере
- Подбор из справочников с использованием формы списка или с помощью специальной обработки
- Различные способы вывода дополнительной информации в формы и динамические списки
- Использование фоновых заданий для обработки данных
- Настройка и использование механизма свойств, дополнительных реквизитов и сведений
- Программное размещение полей на форме
- Разработка меню интерфейса и организация переключения интерфейса как для обычного интерфейса, так и для управляемого
- Работа с командами и функциональными опциями управляемого интерфейса
- Работа с навигационными ссылками
- Программирование без использования модальности
- Программные способы открытия и настройки форм
- Организация первоначального заполнения объектов в процессе их создания
- Множественный выбор из журнала документов
- Вопрос по работе с полем выбора как в режиме выбора, так и врежиме выбора и
- Как програмно учтановить отбор в форме списка или в форме выбора
- Множественный выбор
- 8.2 Множественный выбор
- 8.2 Отчет СКД. Множественный выбор.
- Нельзя поменять режим просмотра в форме списка и форме выбора.
- Множественный выбор в форме 1С
- Запустите программу 1С: Предприятие конфигурации 1С: Бухгалтерия предприятия 2.0 и укажите требуемую информационную базу.
- В строке меню открывшейся программы 1С нажмите Операции и выберите пункт Журнал проводок (бухгалтерский и налоговый учет). Откроется одноименная форма Журнал проводок (бухгалтерский и налоговый учет).
- В открывшейся форме отберите подлежащие выгрузке данные:
- операции по отдельному счету или все проводки
- организация
- период операций
- колонки выгружаемых данных
ID статьи: 110 , создана 29 Авг 2016 , последнее исправление 04 Апр 2019 Актуально для:
- Аспро: Маркет
- Аспро: Интернет-магазин
- Аспро: Оптимус
Отборы в 1С 8.3 (Управляемые формы)
Документы можно сортировать. Заходим Еще – Настроить список – закладка Сортировка. Сейчас все документы отсортированы по дате в порядке возрастания. А нам надо отсортировать по контрагенту, а затем по дате в рамках контрагента – так и указываем – Ок. Видим, что контрагенты отсортированы по алфавиту и в рамках одного контрагента документы отсортированы по дате. Например, нам не удобно так смотреть. Заходим Еще – Настроить список – Группировка – Сгруппировать по контрагенту – Ок. Весь этот список предоставлен в форме дерева и точно также и точно также он отсортирован внутри контрагента по дате.
Чтоб отключить все эти группировки-сортировки заходим Еще – Настроить список – можно просто снять галочку – Завершить настройку.
Позволяет разукрасить список, как нам удобно. Заходим Еще – настроить список – Условное оформление. Например, нам надо документы с валютой отличной от гривны были на сером фоне – Добавить и выбираем цвет фона. В закладке Условия – Валюта – не равно гривна. — Ок и смотрим, что получилось.
Теперь нам надо, что б суммы больше 200 000 выделялись жирным. Заходим Еще – настроить список – Условное оформление – Добавить шрифт – Ок. Условия – Сумма – Больше или равно 200 000. И нам надо указать поле, которое оформляется. Если мы укажем Сумма, то жирный шрифт будет только в колонке Сумма, а если не указать, то жирным будет вся строка. – Завершить редактирование.Мы рассмотрели:
- Как в форме списков документов пользоваться отборами?
- Как в этих отборах устанавливать вид отбора?
- Как пользоваться сортировкой, группировкой и условным оформлением?
Детальную настройку смотрите в видео
На этом все, до новых встреч!
- Оптовую и розничную торговлю
- Управленческий учет
- Логистическую и складскую деятельность
- Финансовый учет, бюджетирование
Описание:
Таблица значений — это несохраняемый в базе данных объект, который позволяет строить динамические наборы значений и манипулировать ими (добавлять, редактировать, удалять элементы, сортировать). Он может быть наполнен значениями любого типа, т.е. в одной таблице типы хранимых значений могут быть разными. Одним из примеров использования данного объекта может служить организация представления в форме списка элементов справочника, отобранных по сложному алгоритму.
Необходимо отметить, что таблица значений, связанная с элементом управления ТабличноеПоле, будет иметь все колонки, имеющиеся в табличном поле, с соответствующими именами. Кроме того, таблица значений может иметь также и собственные колонки, не отображаемые в табличном поле, при этом их имена должны отличаться от имен колонок табличного поля.
Элементы коллекции: СтрокаТаблицыЗначений
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы коллекции.
Возможно обращение к элементу коллекции посредством оператора […]. В качестве аргумента передается индекс строки (нумерация с 0).
Свойства:
Индексы Содержит коллекцию индексов таблицы значений. Колонки Содержит коллекцию колонок таблицы значений. Методы:
- Как создать таблицу значений
- Как добавить колонки в таблицу значений
- Как добавить строки в таблицу значений
- Как добавить в таблицу значений колонку с описанием типа и заголовка
- Как перечислить все строки в таблице значений
- Как перечислить все колонки в таблице значений
- Как выгрузить колонку таблицы значений в массив
- Как заполнить значения в колонке для всех строк таблицы значений
- Как в таблице значений посчитать итог по колонке
- Как найти строку в таблице значений по значению
- Как найти строку в таблице значений поиском значения в определенных колонках
- Как искать в таблице значений неуникальные значения
- Как сдвинуть строку таблицы значений
- Как создать копию таблицы значений
- Как создать копию таблицы значений по нужным колонкам
- Как создать копию таблицы значений по отбору
- Как свернуть таблицу значений по колонке
- Как отсортировать таблицу значений по колонке
- Как отсортировать таблицу значений по нескольким колонкам
- Как удалить строку из таблицы значений
- Как программно вывести таблицу значений на форму
- Как программно вывести на форму результат запроса в виде таблицы значений
- Скачать и выполнить эти примеры на компьютере
Как установить отбор в форме списка справочника?
- Не работает функия вопрос() в 8-ке/в SQL не работает в файл серверной работает
- Функция СводныйОстаток не работает на сервере, а на локальной базе работает
- Кнопка «Стандартная настройка» в форме «Настройка списка»
- При повторном открытии формы списка документов слетает настройка списка
- Настройка колонок в «Настройка списка» программно
- ЗУП 8, справочник сотрудники, форма списка, действие «Настройка списка»
- Не работает сортировка в СКД на одном клиенте, а на другом — работает
- УФ На форме списка настройка списка отборов и т.д.
- Обмен УТ10.3 БП2.0. Настройка списка отложенных движений документов.
- Не работает настройка списка 1С8.2 УТ10.3
- Перевод 1С8.1 на 1С8.3 нужно делать через 1С8.2?
Насколько многие из нас могут судить из собственного опыта, в справочнике «Номенклатура» действительно можно отображать остатки товаров, как того просят пользователи, (чуть ли не припадающие к стопам-лотосам, чтобы это было не только отчетом, а именно в справочнике), и при этом действительно возникают сверхмощные тормоза. Однако, программист 1С может последовать древнему индИйскому правилу: «трнад апи суничена» (не причиняйте беспокойств никому), и устранить эти тормоза.
- Для этой цели нам потребуется завести в справочнике товаров дополнительный реквизит «Остаток». Именно его мы и будем обновлять; однако, необходимо сделать это корректно — чтобы при любых обстоятельствах, таких как аварийное выключение питания, или же блокировка карточки товара пользователем, остатки в справочнике не испортились.
- Для передачи информации о товарах, остаток по которым следует обновить, мы будем использовать справочник «Журнал транзакций». Несмотря на громкое название — это всего лишь таблица, которая позволяет реализовать FIFO-добавление товаров в список и удаление элементов из списка, чтобы он не разрастался, подобно очереди в Макдональдс в первый день его открытия.
- Поскольку в модуле проведения текущие остатки лучше не смотреть (в момент проведения документа они еще не сформированы), мы будем считывать их особым образом: в обработчике события. Для этого в модуле проведения мы будем генерировать событие. После того как выполнение любого кода (включая проведение документа) будет завершено, возникнет состояние «время простоя» — idle time (что, кстати, по индийски звучит как «йога» = «бездействие»). В это время система ожидает ввода информации от пользователя, и может, подобно просветленному йогину, отрабатывать информацию извне, находясь в бездействии.
Легче верблюду пройти через игольное ушко, чем пользователю — выполнять довольно-таки сложный, подобный древнему танцу с бубном, «Отбор событий по объекту» в журнале регистрации, чтобы выяснить, а кто же заблокировал документ или элемент справочника, и ушел «покурить»?.
Юзера, который заблокировал объект, мы покажем в форме списка справочника, сделав это при помощи трюка «ложное закрытие формы» (с) не мой. Это делается методами Форма.Закрыть() с последующим СтатусВозврата(0) в обработчике закрытия. В данном случае мы тоже используем событие и его обработчик, но это — событие закрытия формы (реализованное где-то внутри 1С через подсистему оконных сообщений Windows).
Посмотреть, как это сделано, можно в этой же тестовой конфигурации, ссылка на которую приведена выше. Когда пользователь открывает карточку товара, в форме списка справочника видно, кто ее открыл. При закрытии карточки товара стирание имени пользователя производится не в обработчике ПриЗакрытии(), а по событию в глобальном модуле, чтобы при всяком закрытии карточки товара не происходило принудительное ее сохранение.
На диске ИТС есть рекомендация, как реализовать этот режим. Мы сделаем его похожим образом, но не будем парить юзера необходимостью явно запускать какую-либо обработку («трнад апи суничена»). Напомню, что это означает, что программист 1С должен быть проще, и тогда к его божественным стопам-лотосам потянутся пользователи. 🙂
- Чтобы реализовать этот режим показа товаров в списке, в справочник номенклатуры мы добавим индексируемое поле «Показ», которое говорит системе 1С, показывать ли данный элемент в форме списка, или нет. Чтобы этот режим возымел действие, в форме списка справочника мы используем метод УстановитьОтбор() по реквизиту — и тогда скроются все ненужные пользователю элементы из списка. Пример реализации — см. там же.
- Установку и сброс признака Показ мы будем производить в глобальном модуле, просто добавив пару строчек кода в обработчик, который проставляет в справочник остатки товара. Если остаток нулевой (или, хуже того, отрицательный), то многие пользователи пожелают это скрыть из показа. 🙂 На форме списка есть флажок, который позволяет включать и выключать показ скрываемых элементов номенклатуры.
- Новичков прошу обратить внимание, что для реквизита «Показ» установлен признак «Сортировка» и «Отбор» — иначе получится розовая птица обломинго. Поскольку это поле является индексируемым, лучше, чтобы оно имело минимальную длину (в нашем случае — 1 символ) и было неотрицательным.
Форма редактирования списка значений
Присоединяется через механизм внешних обработок конфигураций.
Кнопка автоматически добавляется в форме документа (без изменения программы).
Новое — Сортировка по любым реквизитам номенклатуры
- Универсальный список готовых сортировок.
- Возможность выбрать сразу несколько сортировок.
- Добавление любых реквизитов сортировки.
- Неограниченный выбор реквизитов через точку.
Практически любой отчет имеет свою собственную форму настройки. Открыть ее можно с помощью кнопки «Настройка» на форме отчета.
Форму настройки можно смотреть в двух вариантах: стандартном и расширенном.
Пример стандартной формы настройки:
📌 Реклама Отключить
Пример расширенной формы настройки:
Рассмотрим стандартную форму настройки, так как она удобнее и проще.
Стандартная форма настройки содержит несколько окон для ввода настроек:
- Показатели
- Группировки строк
- Группировки колонок
- Отборы
Также здесь есть настройка периода и некоторые другие опции.
Рассмотрим влияние каждой настройки отчета на примере ведомости по товарам на складах.
Меню: Отчеты – Запасы (склад) – Ведомость по товарам на складах
Прежде всего нужно понять, для чего служит отчет и какую информацию в нем можно получить. Например, ведомость по товарам на складах содержит данные об остатках товаров на складах компании.
📌 Реклама Отключить
Для начала попробуем сформировать отчет без каких-либо настроек. Т.е. уберем все флаги в показателях, удалим все группировки, снимем настройку периода и другие флаги.
В результате такой настройки мы получим пустой и абсолютно бесполезный отчет:
Таким образом, если мы не указываем программе каким образом выводить данные, она их не выводит!
Какие именно данные можно вывести в отчете определяется в таблице показателей.
Здесь перечислены все возможные данные, которые мы можем получить из отчета. Если показатель отмечен флагом, то он будет показываться в результате.
📌 Реклама Отключить
Для ведомости по товарам на складах показателями являются:
- Начальный остаток (в базовых единицах)
- Приход (в базовых единицах)
- Расход (в базовых единицах)
- Конечный остаток (в базовых единицах)
- Оборот (в базовых единицах)
- Начальный остаток (в единицах отчетов)
- И т.д.
Для отчета «Продажи» показатели иные:
- Количество
- Сумма продажи
- Сумма продажи без скидок
- И т.д.
Каждый отчет имеет свой собственный список показателей, который определяет, какие именно данные можно посмотреть в отчете.
В нашем отчете мы отметим показатели:
📌 Реклама Отключить
В результате получим следующий отчет:
Обратите внимание, программа подготовила колонки для каждого показателя, но сами данные не вывела.
Почему? – Потому что она не знает, в какой детализации мы хотим вывести данные.
Например, нам может быть нужно только общее количество всех товаров на всех складах, а может быть нужна информация по каждому товару и складу. Вариантов очень много!
Если вы хотите посмотреть данные отчета без какой-либо детализации, просто поставьте флаг «Выводить общие итоги»: 📌 Реклама Отключить
В результате отчета вы получите данные за весь период по всем складам и товарам:
Таким образом мы узнали, что за все время пользования базой на наши склады поступило 12085 товаров, было продано/списано 1545 товаров, а текущий складской остаток – 10540. Хотя обычно этой информации недостаточно.
Изучаем работу со списком значений на управляемой форме 1С 8.3
Чтобы как-то детализировать выводимую информацию, можно добавлять группировки строк и колонок. Т.е. указывать программе, что нужно вывести не только общее количество, но еще и количество по каждому складу/товару/цвету/дню.
Добавим в группировки строк «Склад». Для этого нажмем кнопку «Добавить» и в окне выбора поля отметим «Склад»:
📌 Реклама Отключить
Настройка отчета:
Отчет примет следующий вид:
Таким образом, мы попросили программу детализировать информацию по каждому складу, и она это сделала. Можно добавлять еще группировки и получать более детальную информацию.
Например, добавим группировку «Номенклатура»:
Получим следующий отчет:
Примечание: порядок расположения группировок имеет важное значение. Если мы поменяем склад и номенклатуру местами, то получим другой отчет.
📌 Реклама Отключить
Сначала отображается информация по товару, а внутри расшифровка по складу:
Обратите внимание, что у каждой группировки имеется тип, который также влияет на отображение отчета.
Тип может принимать следующие значения:
- Элементы – отображение детализации только по элементам.
- Иерархия – детализация по группам и элементам справочника.
- Только иерархия – детализация только по группам.
В качестве примера можно указать у номенклатуры тип группировки «Иерархия». 📌 Реклама Отключить
Тогда отчет примет следующий вид:
Мы видим информацию сначала по складу, потом по группам товаров, потом по самим товарам.
Благодаря типу группировки вы можете смотреть информацию в отчетах с учетом иерархии справочника или без нее.
Группировки колонок имеют на отчет такое же влияние, как и группировки строк. Но с одним важным отличием – детализация отчета в этом случае делается не «вниз», а «направо».
В качестве примера перенесем группировку «Склад» из строк в колонки. Для этого можно воспользоваться синими стрелками, или просто удалить группировку в одной таблице и добавить в другую.
📌 Реклама Отключить
Полученный отчет:
В отчете мы видим информацию по каждому товару и складу. При этом товары показываются слева, а склады наверху. Информация по каждому складу появляется справа, в виде отдельных колонок.
Группировки колонок чаще всего используют для одного (максимум двух) показателей, а в качестве самой группировки используют справочник с небольшим количеством значений. Иначе отчет получается слишком широким и его сложно анализировать/печатать.
Можно не вбивать текущую дату каждый раз. Просто введите сегоднящнее число в соответствующее поле и нажмите Enter. Программа сама допишет отсутствующую информацию. Это не ахти насколько важные знания, но если вы работаете с большим потоком документов, то этот лайфхак значительно ускорит обработку данных. Ведь каждый раз тратятся драгоценные секунды.
Каждый элемент списка является программным объектом ЭлементСпискаЗначений встроенного языка и содержит следующие свойства:
- Значение (Произвольный тип) — хранимое значение произвольного типа
- Представление (Строка) — представление элемента списка для пользователя
- Пометка (Булево) — значение пометки элемента в списке
- Картинка (Картинка) — картинка элемента списка для пользователя
Интеграция 1С и 1С-Битрикс: Управление сайтом
Как было сказано выше, левая граница списка значений постоянна и всегда равно нулю (0). Верхняя граница напрямую связана с количеством элементов в списке значений. Получить ее можно с использованием метода СписокЗначений.Количество() с последующим вычитанием 1.
Давайте рассмотрим распространенные операции со списком значений.
Перебор элементов списка значений
Для перебора (обхода) всех элементов списка значений обычно используется оператор цикла Для :
Либо оператор цикла Для Каждого :
Второй способ больше подходит для ситуации, когда нужно только последовательно перебрать все значения списка. Его использование повышает «читабельность кода».
Сортировка элементов в списке значений может производиться двумя способами:
СписокЗначений — это программная коллекция элементов, содержащих значения произвольного типа и их строковые представления. Каждому элементу списка значений присваивается целочисленный номер — индекс, начинающийся с единицы. В отличие от массива, список значений является динамическим, т.е. элементы можно добавлять и удалять.
Список значений используется в двух случаях:
- При работе с формами: при размещении на форме элементов управления типа Список и ПолеСоСписком , они автоматически связываются с объектом типа СписокЗначений ;
- При работе с кодом: для хранения каких-либо расширяемых списочных данных вы создаете нужное количество объектов типа СписокЗначений ;
Как и все объекты агрегатного типа, список значений создается с помощью специальной функции СоздатьОбъект() встроенного языка:
Каждый элемент списка значений характеризуется следующими свойствами:
- Значение — само значение;
- Представление — строковое представление значения;
- Пометка — числовое значение, означающее, что данный элемент отмечен в списке;
По умолчанию, список значений создается пустым. Для добавления нового элемента списка значений, используется метод ДобавитьЗначение() объекта:
Обратите внимание, что вместе со значением Вы можете указать его строковое представление.
Над элементами списка значений возможны различные действия, включая вставку новых элементов, сортировку, изменение и удаление существующих.
Вставка новых значений возможна в произвольное место списка. Для этого используется метод ВставитьЗначение():
Для получения значения элемента списка по номеру используется метод ПолучитьЗначение() объекта:
Удаление элементов списка производится с помощью метода УдалитьЗначение():
Работа с динамическим списком в 1С 8.3 (8.2)
- Far manager ftp настройка
- Hm67 express chipset family
- Windows installer service could not be accessed
- Аналоговый электрический сигнал это
Первое, на что можно обратить внимание — это быстрые отборы. Они позволяют вывести в отчет данные по определенным значениям полей отчета согласно пожеланиям пользователя.
Например, возьмем отчет Анализ доступности товаров в УТ. Сразу отметим, что вся демонстрация возможностей отчетов в УТ 11 будет проходить на примере двух отчетов:
- Анализ доступности товаров;
- Выручка и себестоимость продаж.
Отбор по некоторым полям можно сделать как непосредственно в форме отчета, так и по кнопке Настройка (рис. 1).
Давайте теперь немного подробнее рассмотрим новые возможности настройки отчетов в УТ.
В форме редактирования структуры и настроек отчета обратим внимания на закладку Пользовательские поля. До этого мы добавляли в отчет поля, список которых был заранее задан разработчиком. При помощи этой закладки мы можем создавать собственные поля – Поле-выбор или Поле-выражение.
Пример 2. Настроим под себя отчет История продаж (вариант отчета Выручка и себестоимость продаж). Выведем данные по продажам в разрезе партнеров и номенклатуры. Предположим, что наша компания занимается продажей товаров в Москве и в регионах. Таким образом, каждый клиент в информационной базе принадлежит к определенному географическому региону (реквизит Бизнес-регион справочника Партнеры). Мы можем без труда сгруппировать данные по продажам в отчете по регионам, но что делать, если нас интересует более укрупненная статистка, в частности ответ на вопрос «Сколько было продано товаров в Москве, а сколько во всех остальных регионах вместе взятых»? В этом случае как раз и пригодятся «пользовательские поля».
Шаг 1. Откроем отчет. Перейдем в форму настройки структуры отчета (Все действия/Изменить вариант). Удалим по очереди все ранее созданные в отчете группировки — для этого выделим каждую из них и щелкнем по кнопке «Удалить» командной панели, либо воспользуемся клавишей «DEL».
Как видите, использовать настройки стандартных отчетов УТ не так уж и сложно. Безусловно, их гораздо больше, чем мы показали на примере данной статьи, но и приведенные выше настройки позволят вам получить гораздо больше преимуществ от использования новой платформы и сэкономить деньги на привлечение программистов для разработки.
Конечно, не все настройки отчетов аналогичны по своей структуре, но, получив базовые знания по настройке отчетов на приведенных выше примерах, вы уже сможете настроить и другие необходимые вам отчеты.
- Более 1 млн элементов справочника
- Полный список смотреть не надо, бессмысленно на таких объемах — возможна корректировка начального отображения с последующей работой только через уточняющие запросы
- До «разгруппировки» справочника требуется быстрая работа именно с ним, в дальнейшем — при наличии групп — предполагается что производительность должна нормализоваться
Профессиональная разработка интерфейсов и форм в 1С:Предприятие 8.3
- реально большой размер списка (с этим ничего не поделать)
- некорректная работа платформы 8.3.8 (добавились кнопки листания, допускаем, что в начале производится какие-то промежуточные расчеты)
- наличие сортировки (при установке сортировка, форма запоминает настройки пользователя и восстанавливает при открытии) — отмена сортировки через свойства формы не решила проблему
- работа на файловом варианте базы данных (на первых этапах добиваемся оптимальности в этом режиме, далее оттестируем в sql)
- отборы (отсутствуют), но будут по проиндексированным полям
- наличие событий обработчиков активизации по строке (отсутствуют)
- медленная работа с диском (пока отметаем такой вариант, диск ssd)
Путь к изменению номера документа или кода элемента справочника довольно прост. Пошаговые действия (для уже проведенного документа) проиллюстрированы на рисунке 1.
1. Вы щелкаете по полю номера документа и просто начинаете его редактировать (это может быть ввод какого-либо символа, или нажатие кнопки «Backspase» — стереть последний символ).
2. Программа отреагирует на эти действия сообщением о том, что номер присваивается автоматически и задаст вопрос – Продолжить редактирование?. Отвечаете – Да.
3. Все, теперь осталось ввести в поле номера документа необходимые символы, и либо провести, либо сохранить документ.
4. Убедитесь, что новый номер записан.
Сортировка элементов списка осуществляется по тому полю, которое вы выбираете сами. Если взять для примера справочник Контрагенты, то установка сортировки по полюНаименование видна сразу по наличию специальной пиктограммы (рис. 2). При этом вид пиктограммы сортировки указывает на вид сортировки – возрастание или убывание для числовых полей, по алфавиту (1) или в обратном порядке (2) – для символьных. Для сортировки не имеет значения, — в каком варианте просмотра открыт список, если он (как в данном примере) – иерархический. На рисунке 2 приведен вариант просмотра списка в дереве, но аналогично список поведет себя и в остальных двух вариантах просмотра – «Иерархический» список или «Список».
Эту функцию можно настроить через команду Изменить форму (рис. 4):
1. В меню кнопки Еще выбрать Изменить форму;
2. В окне Настройка формы установите курсор на элемент формы Список;
3. В правой части окна настройки формы установите флаг Запоминать текущую строку;
4. Сохраните выполненную настройку.
Групповое перепроведение нескольких документов возможно сделать в программе «1С:Бухгалтерия 8» редакции 3.0 несколькими способами. Все зависит от того, что именно подразумевается под формулировкой «все документы».
Если это действительно все документы – все документы всех видов, которые введены в информационную базу, — то можно воспользоваться обработкой, которая встроена в формуЗакрытия месяца (рис. 5). Рядом со ссылкой, запускающей эту обработку, есть индикация – с какой самой ранней даты будут перепроводиться документы. Перепроводить документы с более ранней датой не имеет смысла.