Использование виртуальных таблиц 1С в запросах
-

Использование виртуальных таблиц 1С в запросах

0
29907
30.10.2019 Александр Гармышев

Содержание:

1. Получение данных — создание запросов к базе данных.

2. Структура регистров.

3. Доступ к виртуальным таблицам 1С.

4. Параметры виртуальной таблицы 1С остатков.

5. Основные параметры таблицы Оборотов.   

 

1. Получение данных — создание запросов к базе данных.


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


2. Структура регистров.


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


(Более подробно данная тема рассматривалась в статье. Следует заметить, что указанная статья не дает полного описания механизма регистров, для более углубленного изучения данного вопроса следует использовать дополнительные материалы).


Расчет таблицы итогов будет зависеть от вида регистра 1С, структура имеет следующий вид:



Рис. 1 


3. Доступ к виртуальным таблицам 1С. 


Посредством запроса 1С можно обратиться к движениям и к виртуальным таблицам 1С, доступ к итогам напрямую невозможен.

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

 

Если обратится к базе данных посредством 1С конструктора запроса, то таблицы будут выглядеть следующим образом.

 


Рис. 2

 

При написании запроса следует ориентироваться на использование виртуальных таблиц 1Срассчитываемых на основе итогов. В этом случае запрос будет наиболее оптимальным.

 


Рис. 3


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

 

4. Параметры виртуальной таблицы 1С остатков.

 


Рис. 4


Период – Дата, либо момент времени на который необходимо получить остатки.

В качестве примера рассмотрим следующую таблицу движений и параметры виртуальной таблицы 1С:



Рис. 5


Остатки рассчитываются на начало секунды!

 

Если к примеру мы укажем дату остатков 20.01.2019 12:00:00 то движения за период 20.01.2019 12:00:00 учтены не будут, и остаток будет равен 8.



Рис. 6


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


Движения формируются документом, для того чтобы документы располагались в хронологическом порядке в пределах секунды, платформа 1С использует объект Момент времени.

Он представляет собой поле Дата+Ссылка



Рис. 7


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


Допустим, что 20.01.2019 12:00:00 был проведен еще один документ, таблица движений примет следующий вид:



Рис. 8


На временной оси два последних документа будут расположены следующим образом



Рис. 9


При расчете остатков на МоментВремени документа, движения этого документа не учитываются !

 

Для того чтобы получить остатки с учетом его движений, необходимо использовать объект Граница.

В зависимости от свойства Вид Границы, можно получить момент непосредственно перед или после позиции документа.

 


Рис. 10

 

Примеры кода.

 

Получение МоментаВремени :

 

МоментПолученияОстатков = МоментВремени ();

Получение Границы , включая движения документа:

МоментПолученияОстатков = Новый Граница ( МоментВремени (), ВидГраницы . Включая );

    

Условие – параметр позволяющий произвести отбор данных по измерениям регистра.

 

В нашем примере у регистра остатков только одно измерение «Номенклатура».

 


Рис. 11

 

Условия можно описывать как простой конструкцией, например

 

Номенклатура = &Номенклатура

Так и при помощи подзапроса

Номенклатура В (ВЫБРАТЬ

                                    ВтНоменклатура.Номенклатура

                        ИЗ

                                    ВтНоменклатура КАК ВтНоменклатура)

 

При обращении к виртуальной таблице следует передавать в условия наиболее простые конструкции. Не рекомендуется использовать подзапросы и соединения в параметрах виртуальной таблицы, так как это приводит к медленной работе запроса.

 

Если все же подзапрос необходим, то необходимо соблюдать следующие условия:


·        в подзапросе только одна таблица, нет соединений с другими таблицами.

 

·        если в подзапросе таблица табличной части (например, Документ.Накладная.СписокТоваров), то не должно быть обращения к реквизитам таблицы-шапки (Накладная.Проведен).

 

·        если в подзапросе  таблица, у которой могут быть табличные части (например, Документ.Накладная), то не должно быть обращений к табличным частям (например, ГДЕ Документ.Накладная.СписокТоваров.Номенклатура = "1").

    

·        если в подзапросе  временная таблица, то не должно быть условий (раздела ГДЕ).


·        если в подзапросе  постоянная таблица, то условие (раздел ГДЕ) может быть допустимо, только если условие выполняется для 80% (или более) случаев, отсутствие условия означает выполнение для 100% случаев


·        если в подзапросе постоянная таблица, то в ограничениях доступа к данным (RLS) не должно содержатся подзапросов и соединений (допускаются только простые условия вида "ГДЕ Реквизит = Значение", "ГДЕ Истина").  

 

5. Основные параметры таблицы Оборотов.



Рис. 12


Как видим в качестве периода здесь два параметра, это НачалоПериода и КонецПериода.

Обороты в отличие от остатков можно получить только за определенный период. К примеру, если нам требуется узнать остаток товаров, то мы говорим : «Сколько товаров осталось на сегодня на 12:00? а вчера на 18:00». В случае оборотов вопрос строится так: «Сколько товаров было продано за сегодня? А за этот месяц?».


НачалоПериода – в случае если указывается дата, то берется начало секунды; если параметр не указан, то берется начало секунды периода первого движения.


КонецПериода – в случае если указывается дата, то берется конец секунды; если параметр не указан, то берется конец секунды периода последнего движения.


Если оба основных параметра таблицы указать одинаковыми, то период будет равен 1 секунде.



 Рис. 13


В случае если в качестве параметра НачалоПериода или КонецПериода, берется МоментВремени документа, то движения самого документа будут входить в выбираемый период!



Рис. 14        


Для того чтобы получить момент непосредственно перед или после позиции документа, следует воспользоваться объектом Граница.

Следующим параметром таблицы оборотов является Периодичность таблицы.



Рис. 15


Периодичность - позволяет детализировать записи виртуальной таблицы обороты в соответствии с выбранным периодом.

Рассмотрим использование данного параметра на примере следующей таблицы движений:



Рис. 16


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

Т.к. все движения формировались в одном месяце, то получим всего одну запись:



Рис. 17


Изменим периодичность на секунду, два последних движения сформированы в одну секунду, поэтому они будут представлены одной записью:



Рис. 18


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



Рис. 19


Если в качестве периодичности выбрать авто то возможно привести данные к нескольким периодам:



Рис. 20

 

Параметр условие аналогичен условию в виртуальной таблице остатков.

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

Для регистра с видом остатки это таблица остатки, для оборотного обороты.

Далее необходимо максимально точно описать условия виртуальных таблиц.

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


Специалист компании ООО «Кодерлайн»
Александр Гармышев

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
# абота Риелторского Агентства # Управление торговлей 11 #Забалансовый счет #Контекстное меню #Параметры запуска #Работа Риелторского Агентства #Сдача отчета #Типовая конфигурация # 1C # CRM-система # Cинтаксис-помощник # Cинхронные методы работы # Cправочник номенклатуры # PDF документами # PowerShell # XML-файл # Бизнес-процесс # Виды событий оповещения # Возврат товаров # Глубина анализа # Графические объекты # Динамический список # Документ заказ клиентов # Документ заполнен # Документ Отбор (размещение) товаров # Документ Отгрузка товаров ИС МП # Документ Приобретение товаров и услуг # Документ УПД # Документы продажи # Доступ на ТСД # ДтКт # ЕАЭС # Задержка зарплаты работодателем # Заказ на перемещение # Закладка Администрирование # Зарплата и кадры # Имя таблицы # ИТС # Кабель NYM(Севкабель) 3x5.5 # Книга учета доходов и расходов # Курс валюты # Лицо с правом подписи # Лицо, имеющее право подписи документов # Маркировка цифровыми кодами # Минимальные цены продажи в 1С # Настройка НСИ и разделов # Настройка ценообразования # НДФЛ # Нематериальные активы # Нормативно-правовые документы # Обмен электронными документами # Оплата через банк # Оптовые продажи # Основное ответственное лицо организации # Остаток товара на складе # Отчет комиссионера # Передача на комиссию # Перемещение ТС и оборудования # Проведение инструктажа # Продажи или Закупки # Прочие доходы # Пункт Подключить обработки # Пункт Сервис # ПФР и ФФОМС # Работа ТС # Расчёт зарплаты # Расчет налога УСН # Расчетные счета # Режим использования модальности # Система «Честный знак» # Система GS1 # Списание на расходы # Справка-расчет налога УСН # Страховые взносы # Табель учёта рабочего времени # Таблица формы # Таблица формы «Сотрудники» # Товары # Установка цен на товары # Формат Цифровой Маркировки # Форматированное письмо # Функция Дата # Функция ДеньГода # Функция ДеньНедели # Центральный Банк России # Цены номенклатуры 2.5 # Эквайринговый терминал # Элементы #1.6-НДФЛ #1С Бухгалтерия #1С Договоры #1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Предприятие #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С:Риелтор #1С:Управление холдингом #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Cинтаксис-помощник #Cопроводительных документов #Cправочник БИК #Excel #Excel в 1С #FTP-сервер #GoogleDrive #Googleаккаунт #GUID #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #PDF #ragent.exe #RDP #SOAP-протокол #USB- ключ #WEB #WEB-сервисы 1С #Word #WS-ссылки #XDTO-объект #XML #XML-обмен #Авансовый платеж #Администрирование 1С #Адрес URL описания #Адресная строка #Адресный классификатор #акты в 1С #Анализ клиентской базы #Анализ контрагента #Аппаратная часть сервера #Аренда помещения #Архивация данных #Аутентификации операционной системы #База XML #База данных #Базовый лимит #Балансовый метод #Балансовый расчет #Банковские счета #БД #Безопасность сервера #Бесшовная интеграция #Библиотека стандартных подсистем #Бизнес-процесс #БИТ.Финанc #Битрикс24 #Блокировка данных #Блокировки в 1С #Бонусный товар #БСП #БУ #Бурение скважин #Бухгалтерская отчётность в МСФО #Бухгалтерский и налоговый учет #Бухгалтерский отчет #Бюджетирование #Валовая прибыль #Вариативность модели #Введение ограничений #Ввод команд #Ввод пароля #Ввоз товаров #Веб-сервер #Веб-сервер Apache #Взаимозачет задолженности #Вид договора #Вид документов #Вид номенклатуры #Вид тарифа #Вид формы #Вид Характеристики #Вкладка Документы #Вкладка ресурсы #Внедрение #Внедрение ERP #Внесение правок #Внешний вид формы #Внешнюю обработку #Возврат от покупателя #Восстановление данных #Временные разницы #Временные таблицы #Всплывающие ошибки #Выбор каталога #Выбранные файлы #Вызов процедуры #Выпадающий список #Выписка #Выплата аванса #Выплата отпускных сотруднику #Выплата пособия #Выполнение запроса #Выполнение кода #Выполнение транзакций #График отпусков #ГТД #ГТД по импорту #Данные #Данные сотрудника #Дата действия договора #Дата документа #Движение документа #Дебиторская задолженность #Декларация по НДС #Денежные средства #Диагностика ошибки #Динамическая оперативная память #Динамический набор #Динамический чертеж #Директория сервера #Дистрибутивы программ #Доверенность #Договор с контрагентом #Документ Заказ клиента #Документ корректировки долга #Документ оприходования #Документ Отпуск #Документ поступления товаров и услуг #Документ1 #Дополнительные реквизиты #Дополнительный оплачиваемый отпуск #Доработка конфигурации #Доступ к файлам #Журнал записи #Журнал проводок #Журнал регистрации #Журнал транзакций #Журналы #Загрузить Значения #Загрузка данных #Загрузка цен в 1С #Задача для 1С #Заказ покупателя #Заказ поставщику #Заказ-наряд #Закладка Торговля #Закрытие месяца #Закрытие сделки #Закрытый период #Закупка товара #Заменить #Замер времени #Запись регистра сведений #Заполнения полей #Запросы 1С #Запуск сервера #Заработная плата #Зарплата и управление персоналом #Импорт товара #Импортные закупки #Имущество предприятия #Имущество предприятия #инвентаризационная опись #Инвентаризация склада #Интеграционный банк-клиент #Интеграция 1С #Интервал dpi #Интерпретатор языка #Интерфейс пользователя #Информационная база #История пользователя #Источник данных #ИТС ТЕХНО #Кадровые документы #Кадровый документ #Кадровый перевод #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Календарь #Карточка должности #Карточка номенклатуры #Карточка Объекта недвижимости #Карточка товара #Касса ККМ #Кассовый аппарат #Кассовый документ #Квалификационные надбавки #Классификаторы и курсы валют #Классификаторы и курсы валют #Клиент-банк #Клиент-серверная схема #Клиент-серверный режим #Код доступа #Код ЦМТ #Код языка #Кодировка формата #Команда вызова #Командная строка #Компенсация выплат #Конвертация данных #Контроль документов #конфигуратор #Конфигурация 1С #Конфигурация 1С ЗУП 3.1 #Конфигурация системы 1С #Копирование настроек пользователей #Корпоративное сопровождение #Корректировка базы данных #Корректировка документа #Корректировка поступления #Корректировка расчётов с учредителем #Криптография данных #Критерии отбора документов #Курс валюты #Курсовые разницы #Левое соединение #Лидирующие нули #Лизинг #Лимит стоимости #Лист нетрудоспособности #Лицензии 1С #Лицензионный договор #Лицензия 1С КОРП #Лицензия 1С ПРОФ #Личные документы #Локальный каталог #Лояльность #Маркетинговая акция #Маршрут согласования #Массив Номенклатур #Массивы 1С #Массовая регистрация отгулов #Меню Отчет #Место хранения #Метод объекта #Метод устранения ошибки #Метода выборки данных #Методы устранения ошибки #Механизм Анализа Данных в 1С #Механизм записи #Мобильное приложение #Мобильный клиент #Модальный режим окна #Моделирование #Модель данных #Модуль Диадок #Монопольный режим #МРОТ #МСФО #Набор параметра #Набор складов #Налоги #Налоговая декларация #Налоговый актив #Налоговый регистр #Налоговый учет #Написание запроса #Настройка данных #Настройка интерфейса #Настройка отчета #Настройка панели #Настройка параметров #Настройка подключения #Настройка пользователя #Настройка сервера #Настройка системы #Настройки пользователя по умолчанию #Натуральный доход #Начальная таблица #Начертания шрифта #Начисление премии #Начисления Арендной платы #Начисленный налог #Неверные данные #Новый Массив #Номенклатура товара #Номенклатура штрих-кода #Номенклатурный вид #Номер счет-фактуры #Норма времени #Нормативно-справочная информация #Нумерация счетов-фактур #Облачный сервис #Обмен между базами #Обмен сведениями #Обновления #Оборотно-сальдовая ведомость #Обособленное подразделение #Обработка проведения документов #Общая настройка #Общие ознакомительные рассылки #Объект системы #Объективность информации #Объектная база данных #Окно предупреждения #Окно сообщений #Оперативная аналитика #Операции в 1С #Описание задачи #Оплата агента #Оплата по квитанции #Оплата поставщику #Оплата труда #Оповещение по видам события #Оприходование товара #Оптимизация #Организация #Организация хранения #Ордерная схема #ОС и НМА #Основное окно #Основное средство #Остатки взаиморасчетов #Остатки товаров на складах #Остаток товара #Отложенный чек #Отправка данных #Отпуск #Отчет давальцу #Отчет комитенту #Отчетность #Отчетный период #Отчеты в 1С #Оформление документа #Оформление перевода работника #Охрана труда #Оценка задач #Ошибки в расчетах #Панель инструментов #Папка с сертификатом #Параллельный учет #Параметр «Количество» #Параметры отбора #Параметры печати #Параметры подключения #Параметры учета #Партнер #Первичный документ #Перевод сотрудника #Передача данных #Передача неисключительных прав #Перемещение отчета #Перенос данных #Перенос цен из Excel в 1С #Пересортица товара #Переуступка долга #Перечисление денежных средств #Перечисление НДФЛ #Период отбора #Периодичность ДЕНЬ #Периодичность МЕСЯЦ #Печатная форма #Печатная форма документа #План счетов #План-фактный анализ #Планирование #Планирование продажи #Планировать события #Платежная карта #Платежный документ #По умолчанию #Погашение обязательств #Подарочный сертификат #Подотчетное средство #Подписант #Подчиненный справочник #Поле Ввода Значение Субконто #Полезные обработки #Политика учета #Пользователь Администратор #Пользовательский режим #Построение графика #Поступление денежных средств #Поступление основных средств #Поступление основных средств #Поступление товара #Потенциальный контрагент #Поток данных #Почтовая настройка #Права доступа #Правила обмена #Правое соединение #предопределенные элементы справочников #Прием на работу #Прикладное решение #Принцип работы 1С #Приходная накладная #Приходно-кассовый ордер #Проведение документов #Проведение инвентаризации #Проводки 1С #Проводок документации #Программа 1С #Программирование в 1С #Программные права #Программный код #Продажа маркированной продукции #Продажа ТМЦ #Продажа товара #Продажи #Продление #Производственный документ #Производственный план #Производство #Просмотр #Просроченная задача #Процедура и функция #Процесс в организации #Процесс коммуникаций #Процесс согласования #Пункт «Касса» #Путь к файлу #Работа с объектами в 1С #Рабочий сервер #Раздел Справочники #Разработка приложений #Расположение ссылки #Расторжение #Расходная накладная #Расходный ордер #Расходы по амортизации #Расчет зарплаты #Расчет НДФЛ #Расчет с контрагентом #Расчет себестоимости #Расчетные документы #Расширение конфигурации #Расширение прав доступа #Расширение функционала #Реализация товара #Регистр бухгалтерского учета #Регистр бухучета #Регистр данных #Регистрация отчета #Регистры бухгалтерии #Регистры движения документов #Регламентированная отчетность #Регламентированный учет #Регламентное задание #Режим записи #Режим использования модальности #Режим конфигуратор #Режим налогообложения #Режим РИБ #Резерв отпусков #Результат тестирования #Результаты поиска #Реквизит «СпЗнч» #Ресурсная спецификация #РМК #РМК кассира #Рост прибыли #РСБУ #С # #Сведения для расчета пособия #Сверка данных учёта НДС #Свойства характеристики номенклатуры #Свойство ячейки таблицы #Сдача в аренду #Сдельный заработок #Сеанс Администратор #Сегмент номенклатуры #Сервер приложений #Серверная процедура #Сервис-деск #Серийный учет #Серийный учет #Серия номенклатуры #Сетевой ключ защиты #Сетевой ключ защиты #Сетевые структуры системы #СЗВ-СТАЖ #СЗВ-ТД #Синхронизация данных #Система программы #СКД #Служба ИТ #Служба НСИ #Соединение COM в 1С платформе #Соединение СОМ в 1С платформе #Создание строки #Сохранность информации #Спецификация на товар #Список документа #Список документов #список значений 1С #Список номенклатуры #Список прав #Справочник Лиды #Справочник номенклатура #Сравнение конфигураций #Средства бюджета #Стандартная подсистема #Строка «Касса (ККМ)» #Строка массива #Сумма взаиморасчетов #Сумма долга #Сумма налога #Сумма НДС #Сумма по номиналу #Сумма расхождения #Суточные #Схема отчетности #Счет на оплату #Счет-фактура #Таблица значений #Табличная часть #Табличная часть обработки #Табличное поле #Таможенные пошлины #Таможенный сбор #Текстовый формат #Текущая дата #Текущая Строка #Территориальная привязка #Территориальные рамки #Тестирование 1С #Техническое задание #Технологическая платформа 1С #Технологический журнал #Тип данных #Тип свойства #Тип строки #Типовой механизм #Типы данных ссылки #Товарная номенклатура #Толстый клиент #Тонкий клиент #Торговое оборудование #Транспортная логистика #Требование долга #Трудовая книжка #Увольнение сотрудника #Удержание алиментов #Универсальные коллекции #Управление проектами #Управленческий учет #Управленческое взаимодействие #Условие предоставления скидки #Условия труда #Установка цен номенклатуры #Учет времени #Учет зарплаты #Учет НДС #Учет рабочего времени #Учет серий #Учетная политика организации #Ущерб #Файл обмена данными #Файловая база #Файловое хранение #Файлы обмена #Физический ключ #Финансовый результат #Финансовый учет #Форма ввода #Форма выбора элемента #Форма доверенности #Форма отчетности #Форма списка документов #Форма файла XML #Формат MicrosoftExcel #Формат даты #Формат потока #Формирование документа #Формирование отчета #Формирование отчета #ФСС #Функционал МРМ #Функциональная опция #Х-точка #Характеристики Товаров #Хозяйственная операция #Хранение информации #Хранилище настроек #Хранилище файлов #Хранить историю изменений #Ценообразование #Центральный узел #Чек ККМ #Чтение #Шаблон обновления #Шапка отчета #Шифрование #ЭДО #Эквайринговая операция #Экзамен 1С #Экспорт товаров #Экспортная процедура #Эл. больничный #Электронная подпись #Электронная трудовая книжка #электронные подписи #элемент справочника #Элемент языка #ЭЦП #Язык 1С #Язык программирования #Яндекс-диск или Google-диск #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Детализация платежа Работа с объектами в 1С тип да файлов Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.