- •Содержание
- •Глава 21 Работа с Корректными проводками 48
- •Глава 22 Работа с Журналами расчетов 52
- •Глава 23 Работа с Видами и Группами расчетов 88
- •Глава 24 Работа с Правилами перерасчета 94
- •Глава 25 Работа с Календарями и Праздниками 98
- •Глава 26 Работа с последовательностями документов 105
- •Глава 27 Работа с объектом Периодический 108
- •Глава 28 Работа со Списком Значений 117
- •Глава 29 Работа с Таблицей Значений 125
- •Глава 30 Атрибуты и методы контекста Модуля формы 136
- •Глава 31 Работа с Таблицами 154
- •Глава 32 Работа с Текстом 180
- •Глава 33 Работа с Запросами 185
- •Глава 34 Язык Запросов 194
- •Глава 35 Работа с Картинками 217
- •Глава 36 Работа с Диаграммами 219
- •Глава 37 Работа с Файлами 224
- •Глава 38 Работа с базами данных формата dbf 230
- •Глава 39 Работа с Метаданными 248
- •Глава 40 Связь с внешними приложениями посредством механизмов dde и ole Automation 251
- •Глава 18 Работа с Журналами операций Контекст работы с журналами операций
- •Методы контекста Модуля формы журнала операций
- •ВидыОтбора
- •ЗакладкиОтбора
- •УстановитьОтбор
- •ПолучитьОтбор
- •УстановитьИнтервал
- •НачалоИнтервала
- •КонецИнтервала
- •Предопределенные процедуры модуля формы журнала операций
- •ПриУстановкеОтбора
- •ПриУстановкеИнтервала
- •Глава 19 Работа с Журналами проводок Контекст работы с журналами проводок
- •Методы контекста Модуля формы журнала проводок
- •ВидыОтбора
- •ЗакладкиОтбора
- •УстановитьОтбор
- •ПолучитьОтбор
- •УстановитьИнтервал
- •НачалоИнтервала
- •КонецИнтервала
- •Предопределенные процедуры модуля формы журнала проводок
- •ПриУстановкеОтбора
- •ПриУстановкеИнтервала
- •ПриПоказеПроводокПоДокументу
- •Глава 20 Работа с бухгалтерскими итогами
- •Контекст работы с бухгалтерскими итогами
- •Общие свойства
- •ИспользоватьПланСчетов
- •ИспользоватьРазделительУчета
- •Работа с основными итогами
- •Остатки и обороты по счетам
- •Обороты между счетами
- •Развернутое сальдо по субсчетам
- •Сндр, снкр, скдр, сккр
- •Развернутое сальдо по субконто
- •Сндрс, снкрс, скдрс, сккрс
- •Установка периода итогов ПериодД
- •ПериодКв
- •ПериодКвн
- •ПериодМ
- •ПериодМнк
- •ПериодМнг
- •НачПериода
- •КонПериода
- •ОсновныеИтоги
- •Работа с временными итогами
- •Рассчитать
- •Актуальность
- •Работа в режиме запроса
- •ВыполнитьЗапрос
- •ВключатьСубсчета
- •ИспользоватьСубконто
- •ИспользоватьКорСубконто
- •Работа с результатами запроса
- •Методы выборки результатов запроса ВыбратьСчета
- •ПолучитьСчет
- •ВыбратьКорСчета
- •ПолучитьКорСчет
- •ВыбратьВалюты
- •ПолучитьВалюту
- •ВыбратьПериоды
- •ПолучитьПериод
- •ВыбратьСубконто
- •ПолучитьСубконто
- •ВыбратьКорСубконто
- •ПолучитьКорСубконто
- •Атрибуты для обращения к результатам запроса Счет
- •КорСчет
- •НачДата
- •КонДата
- •Операция
- •Методы обращения к результатам запроса Субконто
- •КорСубконто
- •ПредставлениеСубконто
- •ПредставлениеКорСубконто
- •ЭтоГруппа
- •Сндрс, снкрс, скдрс, сккрс
- •КорДо, КорКо
- •ВыбранаПоДт, ВыбранаПоКт
- •Глава 21 Работа с Корректными проводками
- •Контекст работы с объектом «КорректныеПроводки»
- •ВыбратьКорректныеПроводки
- •ВыбратьКорректныеПроводкиПоСчету
- •ПолучитьКорректнуюПроводку
- •Записать
- •Удалить
- •Глава 22 Работа с Журналами расчетов
- •Контекст работы с журналом расчета
- •Контекст работы с записями журнала расчетов
- •Контекст работы с периодом журнала расчетов
- •Атрибуты периода журнала расчетов ДатаНачала
- •ДатаОкончания
- •ОписательПериода
- •Методы периода журнала расчетов ПрибавитьПериод
- •Атрибуты журнала расчетов Документ
- •РодительскийДокумент
- •ВидРасч
- •ДатаНачала
- •ДатаОкончания
- •ПериодДействия
- •ПериодРегистрации
- •Рассчитана
- •Исправлена
- •Фиксирована
- •Перерасчет
- •ПервичнаяЗапись
- •Результат
- •Методы журнала расчетов НачалоТекущегоПериода
- •КонецТекущегоПериода
- •НачалоПериодаПоДате
- •КонецПериодаПоДате
- •ПериодПоДате
- •УстановитьТекущийПериод
- •ТекущийПериод
- •ПолучитьЗапись
- •ВыполнитьРасчет
- •ОписательПериода
- •ТекущаяЗапись
- •НайтиЗапись
- •ФиксироватьЗапись
- •ОсвободитьЗапись
- •ВвестиПерерасчет
- •ВвестиПерерасчетНаОсновании
- •ПредставлениеВида
- •НазначитьТип
- •УстановитьРеквизит
- •ВвестиРасчет
- •ВвестиРасчетНаОсновании
- •ЗаписатьРасчет
- •ЗаписатьРасчетНаОсновании
- •Рассчитать
- •ВыбратьЗаписи
- •ВыбратьПериод
- •ВыбратьЗаписиПоОбъекту
- •ВыбратьЗаписиПоДокументу
- •ВыбратьПериодПоОбъекту
- •ВыбратьПоЗначению
- •Записать
- •УдалитьЗапись
- •Исправить
- •ОтменитьИсправление
- •Методы контекста Модуля формы журнала расчетов
- •ВидыОтбора
- •УстановитьОтбор
- •ПолучитьОтбор
- •ЗакладкиОтбора
- •ГраницаПросмотра
- •УстановитьПредставление
- •ПолучитьПредставление
- •РассчитыватьПриОтменеИсправления
- •Предопределенные процедуры Модуля формы журнала расчетов
- •ПриИсправленииРезультата
- •ПриОтменеИсправления
- •ПриРасчете
- •ПриВыбореВладельца
- •ПриУстановкеОтбора
- •ПриУстановкеГраницыПросмотра
- •ПриУстановкеПредставления
- •Глава 23 Работа с Видами и Группами расчетов Контекст работы с видами расчетов и группами расчетов
- •Атрибуты видов расчета и групп видов расчета
- •Наименование
- •Атрибуты видов расчета Очередность
- •ПриоритетВытеснения
- •Методы видов расчета ПолучитьАтрибут
- •ВходитВГруппу
- •ВытесняетВидРасчета
- •ВытесняетсяВидомРасчета
- •Методы групп видов расчета СодержитВидРасчета
- •Количество
- •ПолучитьРасчет
- •Глава 24 Работа с Правилами перерасчета
- •Контекст работы с правилами перерасчета
- •Атрибуты правил перерасчета
- •КоличествоПериодов
- •Методы правил перерасчета КоличествоВедущих
- •ИмеетВедущий
- •ПолучитьВедущий
- •ДобавитьКакВедущий
- •УдалитьВсеВедущие
- •КоличествоПодчиненных
- •ИмеетПодчиненный
- •ПолучитьПодчиненный
- •ДобавитьКакПодчиненный
- •УдалитьВсеПодчиненные
- •Применять
- •Глава 25 Работа с Календарями и Праздниками
- •Контекст работы с календарями
- •Контекст работы с праздниками
- •Атрибуты и методы объекта Календари
- •ПолучитьАтрибут
- •УстановитьАтрибут
- •Методы календарей Выбран
- •ВыбратьДаты
- •СледующаяДата
- •Автозаполнение
- •УчитыватьПраздники
- •ПолучитьДату
- •Методы праздников Новый
- •Удалить
- •ВыбратьДаты
- •СледующаяДата
- •Глава 26 Работа с последовательностями документов
- •Контекст работы с последовательностями
- •Установить
- •Сравнить
- •ПринадлежитПоследовательности
- •Проверить
- •Глава 27 Работа с объектом Периодический
- •Контекст работы с объектом Периодический
- •Атрибуты объекта Периодический Значение
- •ДатаЗнач
- •Методы объекта Периодический ИспользоватьОбъект
- •НазначитьТип
- •ЗначениеНаДату
- •НайтиЗначение
- •ВыбратьЗначения
- •ВыбратьПоДокументу
- •ПолучитьЗначение
- •ОбратныйПорядок
- •ТекущийДокумент
- •ТекущийОбъект
- •ТекущийРеквизит
- •НомерСтроки
- •Записать
- •Удалить
- •Глава 28 Работа со Списком Значений
- •Контекст работы со Списком Значений
- •Методы объекта Список Значений ДобавитьЗначение
- •ВставитьЗначение
- •РазмерСписка
- •НайтиЗначение
- •ПолучитьЗначение
- •УстановитьЗначение
- •Получить
- •Установить
- •УдалитьЗначение
- •УдалитьВсе
- •Сортировать
- •СортироватьПоПредставлению
- •СдвинутьЗначение
- •Принадлежит
- •ВыбратьЗначение
- •ОтметитьЗначения
- •Пометка
- •ТекущаяСтрока
- •ИзСтрокиСРазделителями
- •ВСтрокуСРазделителями
- •Выгрузить
- •Глава 29 Работа с Таблицей Значений
- •Контекст работы с Таблицей Значений
- •Атрибуты Таблицы Значений НомерСтроки
- •Методы объекта Таблица Значений КоличествоКолонок
- •НоваяКолонка
- •ВставитьКолонку
- •УдалитьКолонку
- •УстановитьПараметрыКолонки
- •ПолучитьПараметрыКолонки
- •КоличествоСтрок
- •НоваяСтрока
- •ВыбратьСтроку
- •ПолучитьСтрокуПоНомеру
- •СдвинутьСтроку
- •УстановитьЗначение
- •ПолучитьЗначение
- •НайтиЗначение
- •Сортировать
- •Очистить
- •Заполнить
- •Свернуть
- •Выгрузить
- •Загрузить
- •ВидимостьКолонки
- •ТекущаяСтрока
- •ТекущаяКолонка
- •Фиксировать
- •ВыводитьПиктограммы
- •Пример использования объекта Таблица Значений
- •Глава 30 Атрибуты и методы контекста Модуля формы
- •Атрибуты контекста Модуля формы СтрокаДействийФормы
- •Атрибуты объекта Форма Закладки
- •Параметр
- •Методы объекта Форма
- •ТолькоПросмотр
- •Обновить
- •ИспользоватьЗакладки
- •ИспользоватьСлой
- •Заголовок
- •ПанельИнструментов
- •КнопкаПоУмолчанию
- •ОбработкаВыбораСтроки
- •ВыполнитьВыбор
- •РежимВыбора
- •МодальныйРежим
- •ПолучитьАтрибут
- •АктивныйЭлемент
- •ТекущаяКолонка
- •Закрыть
- •Методы элементов диалога
- •Видимость
- •Доступность
- •Редактирование
- •ВыборГруппы
- •ВыполнятьФормулуТолькоПриИзменении
- •Заголовок
- •УстановитьТип
- •НазначитьТип
- •НеИзменятьВид
- •Методы контекста Модуля формы
- •ОткрытьПодбор
- •УстановитьЗначениеВПодборе
- •ПолучитьЗначениеИзПодбора
- •Активизировать
- •АктивизироватьОбъект
- •Предопределенные процедуры Модуля формы
- •ПриОткрытии
- •ПриПовторномОткрытии
- •ПриЗакрытии
- •ПриВыбореЗакладки
- •ПриНачалеВыбораЗначения
- •ОбработкаПодбора
- •ОбработкаВыбораЗначения
- •ПриВыбореСтроки
- •Атрибуты и методы контекста Модуля формы отчета (обработки)
- •РасположениеФайла
- •Предопределенные процедуры модуля формы отчета (обработки)
- •ВводНового
- •ПриОткрытии
- •Глава 31 Работа с Таблицами
- •Контекст работы с таблицами
- •Атрибуты таблиц ТекущийОбъект
- •Методы таблиц ИсходнаяТаблица
- •ИспользоватьФормат
- •Открыть
- •Вывести
- •ПолучитьСекцию
- •ВывестиСекцию
- •ПрисоединитьСекцию
- •НоваяСтраница
- •НоваяКолонка
- •ЩиринаТаблицы
- •ВысотаТаблицы
- •ШиринаСекции
- •ВысотаСекции
- •ТолькоПросмотр
- •Очистить
- •Показать
- •Записать
- •ЗначениеТекущейЯчейки
- •Область
- •ПовторятьПриПечатиСтроки
- •ПовторятьПриПечатиСтолбцы
- •ОбластьПечати
- •ПараметрыСтраницы
- •КоличествоЭкземпляров
- •ЭкземпляровНаСтранице
- •Напечатать
- •Атрибуты и методы объекта «СекцияТаблицы»
- •Область
- •Атрибуты и методы объекта «ОбластьТаблицы» Текст
- •Расшифровка
- •Объединить
- •РазмерШрифта
- •Полужирный
- •Подчеркнутый
- •ВертикальноеПоложение
- •ГоризонтальноеПоложение
- •Контроль
- •РамкаСверху
- •РамкаСнизу
- •РамкаСлева
- •РамкаСправа
- •РамкаОбвести
- •ЦветФона
- •ЦветРамки
- •ЦветТекста
- •ВысотаСтроки
- •ШиринаСтолбца
- •Атрибуты и методы таблицы в режиме ввода данных
- •АктивнаяОбласть
- •Выгрузить
- •Загрузить
- •Атрибуты и методы области таблицы в режиме ввода данных
- •Значение
- •УстановитьТип
- •НазначитьТип
- •Доступность
- •Редактирование
- •Системные предопределенные процедуры работы с таблицами ОбработкаЯчейкиТаблицы
- •ПриВыбореЯчейкиТаблицы
- •Глава 32 Работа с Текстом
- •Контекст работы с текстом
- •Методы текста КоличествоСтрок
- •ПолучитьСтроку
- •Открыть
- •ФиксШаблон
- •ВставитьСтроку
- •ДобавитьСтроку
- •ЗаменитьСтроку
- •УдалитьСтроку
- •ТолькоПросмотр
- •Показать
- •Очистить
- •КодоваяСтраница
- •Записать
- •Глава 33 Работа с Запросами
- •Контекст работы с запросами
- •Структура запросов и методика их использования
- •Атрибуты запросов
- •Методы запросов Выполнить
- •ИспользоватьГрафуОтбора
- •Группировка
- •ЭтоГруппа
- •НачалоПериода
- •КонецПериода
- •Получить
- •ВНачалоВыборки
- •Выгрузить
- •ЗначениеУпорядочивания
- •ПолучитьАтрибут
- •Глава 34 Язык Запросов
- •Формат текста описания запроса
- •Соглашения и обозначения
- •Зарезервированные слова языка запросов
- •Комментарий
- •Константы и переменные запросов Константы
- •Внутренние переменные
- •Конкретизация переменной
- •Внешние переменные
- •Атрибуты, доступные при описании внутренних переменных
- •Операторы языка запросов Объявление внутренней переменной
- •Период с
- •ОбрабатыватьДокументы
- •ОбрабатыватьОперации
- •Обрабатывать
- •Функция
- •Группировка
- •Без итогов
- •Условие
- •Примеры использования Запросов Печать каталога товаров
- •Отчет по неходовым товарам
- •Отчет по регистру с точностью до строки документа
- •Анализ счета
- •Разработка вложенных отчетов
- •Способы оптимизации формирования отчетов
- •Глава 35 Работа с Картинками
- •Контекст работы с картинками
- •Методы объекта Картинка Загрузить
- •Сохранить
- •РежимРисования
- •УстановитьКартинку
- •Глава 36 Работа с Диаграммами
- •Контекст работы с диаграммами
- •Объект «Диаграмма» — основные принципы и понятия, используемые при визуальной настройке и управлении
- •КоличествоТочек
- •УстановитьИмяСерии
- •УстановитьИмяТочки
- •ЦветСерии
- •АвтоУстановкаИменСерий
- •АвтоУстановкаИменТочек
- •УстановитьЗначение
- •Обновление
- •Очистить
- •Пример использования
- •Глава 37 Работа с Файлами
- •Контекст работы с Файлами
- •Методы объекта «фс» ВыбратьФайл
- •ВыбратьФайлКартинки
- •ВыбратьКаталог
- •СуществуетФайл
- •КопироватьФайл
- •УдалитьФайл
- •ПереименоватьФайл
- •НайтиПервыйФайл
- •НайтиСледующийФайл
- •АтрибутыФайла
- •СоздатьКаталог
- •УдалитьКаталог
- •УстТекКаталог
- •ТекКаталог
- •WindowsКаталог
- •СвободноеМестоНаДиске
- •Глава 38 Работа с базами данных формата dbf Основные понятия
- •Поля и записи
- •Индексы, выражения индекса и фильтра
- •Работа с индексными файлами
- •Удаление записей
- •Создание базы данных, индекса, индексного файла
- •Ограничения
- •Контекст работы с xBase
- •Атрибуты объекта xBase
- •Методы объекта xBase СоздатьФайл
- •ОткрытьФайл
- •Открыта
- •ЗакрытьФайл
- •ОчиститьФайл
- •Переиндексировать
- •ПоказыватьУдаленные
- •Последняя
- •Следующая
- •Предыдущая
- •НомерЗаписи
- •Перейти
- •ВНачале
- •ТекущийИндекс
- •НайтиПоКлючу
- •ПолучитьЗначениеПоля
- •УстановитьЗначениеПоля
- •Добавить
- •Скопировать
- •Автосохранение
- •Записать
- •Отменить
- •Удалить
- •ЗаписьУдалена
- •Восстановить
- •Очистить
- •КоличествоЗаписей
- •КоличествоПолей
- •КоличествоИндексов
- •ОписаниеПоля
- •ОписаниеИндекса
- •НомерПоля
- •ДобавитьПоле
- •ДобавитьИндекс
- •СоздатьИндексныйФайл
- •КодоваяСтраница
- •КодОшибки
- •Выражение и фильтр индекса
- •Функции, применяемые в выражениях
- •Глава 39 Работа с Метаданными
- •Контекст работы с метаданными
- •Атрибуты и методы объекта «Метаданные»
- •Методы работы с метаданными
- •Родитель
- •ПолныйИдентификатор
- •Представление
- •ДлинаПредставленияЗначения
- •Глава 40 Связь с внешними приложениями посредством механизмов dde и ole Automation
- •Контекст работы с внешними приложениями
- •Методы внешних приложений
- •Работа системы 1с:Предприятие в качестве ole Automation сервера
- •Атрибуты системы 1с:Предприятие как ole Automation сервера
- •Методы системы 1с:Предприятие как ole Automation сервера
- •Работа системы 1с:Предприятие в качестве dde сервера
ОбрабатыватьДокументы
Назначить условие обработки документов в запросе.
Синтаксис:
ОбрабатыватьДокументы[Непроведенные|Проведенные|Все];
Англоязычный синоним:
ProcessDocuments[NonTransacted|Transacted|All];
Описание:
Оператор ОбрабатыватьДокументы назначает режим обработки документов в запросе. В операторе указывается, какими документами должен оперировать запрос: проведенными, непроведенными или теми и другими. По умолчанию в запросе обрабатываются только проведенные документы.
Пример:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "//{{ЗАПРОС(ОбработкаДок)
|Период с '01.10.96' по '05.10.96';
|ОбрабатыватьДокументы Все;
|Тов = Справочник.Товары.ТекущийЭлемент, Документ.РасхНакл.Товар;
|Группировка Тов упорядочить по Тов.Наименование;
|Группировка Документ;
|Группировка СтрокаДокумента;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
ОбрабатыватьОперации
Назначить условие обработки бухгалтерских операций в запросе.
Синтаксис:
ОбрабатыватьОперации[Включенные|Выключенные|Все];
Англоязычный синоним:
ProcessOperations[On|Off|All];
Описание:
Оператор ОбрабатыватьОперации назначает режим обработки бухгалтерских операций в запросе. В операторе указывается, какими операциями должен оперировать запрос: с включенными проводками, с выключенными проводками или теми и другими. По умолчанию в запросе обрабатываются только операции с включенными проводками.
Пример:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(ОбработкаОпер)
|Период с '01.10.96' по '05.10.96';
|ОбрабатыватьОперации Все;
|Опер = Операция.ТекущийДокумент;
|Группировка Опер;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Обрабатывать
Назначить условие обработки помеченных на удаление объектов в запросе.
Синтаксис:
Обрабатывать[ПомеченныеНаУдаление|НеПомеченныеНаУдаление|Все];
Англоязычный синоним:
Process[MarkedOnRemoving|NonMarkedOnRemoving|All];
Описание:
Оператор Обрабатывать назначает режим обработки помеченных на удаление объектов в запросе. В операторе указывается, какими объектами должен оперировать запрос: не помеченными на удаление, помеченными на удаление или теми и другими. По умолчанию в запросе обрабатываются все объекты.
Пример:
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Обработка)
|Период с '01.10.96' по '05.10.96';
|Обрабатывать НеПомеченныеНаУлаление;
|Товар = Справочник.Товар.ТекущийЭлемент;
|Группировка Товар упорядочить по Товар.Наименование;
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Функция
Вычисляет функцию и включает ее результат в запрос.
Синтаксис:
Функция <ИмяФункции> = <ТипФункции> (<Параметр>|<УточненныйПараметр>)
[Когда (<Условие>)];
Англоязычный синоним:
Function <ИмяФункции>= <ТипФункции> (<Параметр>|<УточненныйПараметр>)
[When (<Условие>)];
Параметры:
<ИмяФункции> |
Имя, которое присваивается функции. По этому имени можно в дальнейшем обращаться к значению вычисленной функции из вызывающего программного модуля как к атрибуту запроса. Данную внутреннюю переменную заранее объявлять не нужно. Она фактически неявно объявляется в операторе Функция. |
<TипФyнкции> |
Ключевое слово одной из встроенных функций языка. Может быть одним из приведенных ниже. |
<Параметр> |
Имя объявленной ранее внутренней переменной, значение которой используется как параметр встроенной функции <ТипФункции>. В функциях: Сумма, Среднее, Максимум, Минимум в качестве данного параметра возможно использование арифметического выражения в терминах встроенного языка 1С:Предприятие. |
<УточненныйПараметр> |
Конкретизация объявленной ранее внутренней переменной, значение которой используется как аргумент встроенной функции < ТипФункции>. |
Когда |
Необязательное добавочное ключевое слово, использование которого в команде означает, что вычисление функции следует производить только при условии, когда заданное логическое выражение <Условие> истинно. |
<Условие> |
Логическое выражение встроенного языка 1С:Предприятие. В логическом выражении могут участвовать как внутренние, так и внешние переменные запроса (см. описание метода Условие). Используется только после ключевого слова Когда. |
Описание:
Оператор Функция вычисляет функцию <ТипФункции> и присваивает ее значение внутренней переменной <ИмяФункции>.
Типы применяемых функций предопределены и могут быть следующими:
Тип Функции |
Англояз. Синоним |
Выполняемое действие |
Сумма |
Sum |
Вычисляет сумму выбранных по запросу значений параметра.1 |
Среднее |
Avg |
Вычисляет среднее из выбранных по запросу значений параметра. |
Минимум |
Min |
Вычисляет минимум из выбранных по запросу значений параметра. |
Максимум |
Мах |
Вычисляет максимум из выбранных по запросу значений параметра. |
Счётчик |
Count |
Подсчитывает количество записей, вошедших в выборку. |
НачОст |
BegRest |
Вычисляет начальный остаток для выбранных по запросу значений параметра.2 |
КонОст |
EndRest |
Вычисляет конечный остаток для выбранных по запросу значений параметра.2 |
Приход |
Debit |
Вычисляет приход для выбранных но запросу значений параметра.2 |
Расход |
Credit |
Вычисляет расход для выбранных по запросу значений параметра.2 |
СНД |
IDB |
Вычисляет сальдо начальное дебетовое для выбранных по запросу значений параметра.3 |
СКД |
FDB |
Вычисляет сальдо конечное дебетовое для выбранных по запросу значений параметра.3 |
СНК |
ICD |
Вычисляет сальдо начальное кредитовое для выбранных по запросу значений параметра.3 |
СКК |
FCD |
Вычисляет сальдо конечное кредитовое для выбранных по запросу значений параметра.3 |
ДО |
TD |
Вычисляет дебетовые обороты для выбранных по запросу значений параметра. |
КО |
TC |
Вычисляет кредитовые обороты для выбранных по запросу значений параметра.3 |
КорДО |
CorTD |
Вычисляет дебетовые обороты между корреспондирующим счетам или субконто для выбранных по запросу значений параметра.3, 4 |
КорКО |
CorTC |
Вычисляет кредитовые обороты между корреспондирующим счетам или субконто для выбранных по запросу значений параметра.3, 4 |
1Замечание: Для ресурсов оборотных регистров допускается вызывать только тип функции "Сумма".
2Замечание: Типы функций НачОст, КонОст, Приход, Расход можно использовать только с параметрами, указывающими на ресурсы регистров остатков. Для ресурсов регистров остатков другие типы функций вызывать нельзя.
3Замечание: Функции СНД, СНК, СКД, СКК, ДО, КО, КорДО, КорКО можно использовать только с реквизитами проводки: Сумма, Количество или ВалСумма.
4Замечание: Функции КорДО и КорКО накапливают значения только тогда когда в запросе есть обращение к реквизитам проводок Счет, КорСчет Субконто или КорСубконто.
Замечание: В программном модуле, где используется запрос, <ИмяФункции> будет являться атрибутом запроса. При помощи данного атрибута можно обращаться к значению вычисленной в запросе функции.
Замечание: В функциях: Сумма, Среднее, Максимум, Минимум в качестве аргумента возможно использование арифметического выражения в терминах встроенного языка.
Пример:
...
|КолВо = Документ.ВидДокумента.Количество;
|Цена = Документ.ВидДокумента.Цена;
|Функция Сум = Сумма(КолВо * Цена);
|Функция Макс = Максимум(Окр(КолВо) * Окр(Цена));
|Функция Средн = Среднее(ФункцияОпределеннаяВМодуле(КолВо, Цена));
...
Пример:
// Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Функции)
|Период с ДатаНач по ДатаКон;
|Оклад = Справочник.Сотрудники.Оклад;
|Подр = Справочник.Сотрудники.Подразделение;
|Ктг = Справочник.Сотрудники.Категория;
|Группировка Подр без групп;
|Группировка Ктг без групп;
|Функция Всего = Сумма(Оклад);
|Условие((Ктг.Выбран() = 1) И (Подр.Выбран() = 1));
|"//}}ЗАПРОС
;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// ...
Итог = Запрос.Всего;
// ...
Оператор Функция предназначен для вычисления и накопления некоторых численных значений в процессе формирования выборки по запросу.
Кроме того, при формировании временного набора данных запрос специально формирует итоговые записи, в которые заносит накопленные значения вычисленных функций для каждой вложенной Группировки (подробнее об этом см. главу данной книги «Структура запросов и методика их использования»).
Операторы функций в запросе можно опускать, тогда запрос просто не будет ничего вычислять, а просто во временный набор данных заносятся записи со значениями Группировок. Однако это справедливо только для работы запросов по справочникам и по документам. При работе запроса по регистрам следует помнить, что в этом случае обязательно наличие Функций, причем только в том случае, когда их вычисленные значения отличны от нуля (хотя бы одной из заданных Функций), найденные объекты включаются во временный набор данных, формируемый запросом. Если при работе запроса по регистрам в тексте запроса операторы функций опущены, то программа не выдаст никакого сообщения об ошибке, добросовестно пройдет по всем Группировкам, не вычислит никаких значений Функций и, значит, ничего не запишет во временном файле.
При создании в тексте запроса внутренней переменной, которую вы предполагаете использовать в качестве параметра оператора Функция, надо учитывать, что тип этой внутренней переменной должен быть «число», т. к. функции в языке запросов обрабатывают только численные значения.
В тексте запроса, при описании оператора Функция можно использовать необязательное ключевое слово Когда, использование которого в операторе означает, что вычисление функции следует производить только при условии, что значение логического выражения, заданного в параметре ключевого слова является ИСТИНА. Синтаксис применяемого логического выражения полностью аналогичен синтаксису разрешенному к применению в операторах Условие.
Следует понимать, что не все функции внутри конкретной группировки запроса могут иметь четко интерпретируемый смысл. Например, для группировки по документу движения регистра следующие функции
|Функция ПрихКол = Приход(Количество);
|Функция РасхКол = Расход(Количество);
имеют четкий смысл — приращения, сделанные документом при движении регистра. С другой стороны, в той же группировке следующие функции:
|Функция НачКол = НачОст(Количество);
|Функция КонКол = КонОст(Количество);
явно не имеют смысла (в запросах по регистрам, обычно задают период запроса при помощи оператора Период C. Функция НачКол в данном примере должна по смыслу показывать остаток ресурса "Количество" на начальную дату запроса. Внутри группировки по документу вопрос: «Какой начальный остаток ресурса на дату 10.01.97?» по документу, проведенному, например, 13.01.97, не имеет смысла). Поэтому в таких ситуациях функция будет иметь нулевое значение.
Пример:
Запрос = СоздатьОбъект("Запрос");
Текст3апроса=
'//{{ЗАПРОС(Функции)
|Период с ДатаОтчета;
|Товар = Регистр.КвотыТоваров.Товар;
|Отдел = Регистр.КвотыТоваров.Отдел;
|Сотрудник = Регистр.КвотыТоваров.Сотрудник;
|Партнер = Регистр.КвотыТоваров.Партнер;
|Док = Регистр.КвотыТоваров.ТекущийДокумент;
|Количество = Регистр.КвотыТоваров.КвотаТовара;
|Группировка Товар;
|Группировка Отдел;
|Группировка Сотрудник;
|Группировка Партнер;
|Группировка Док;
|Функция НачКол = НачОст(Количество);
|Функция ПрихКол = Приход(Количество);
|Функция РасхКол = Расход(Количество);
|Функция КонКол = КонОст(Количество);
|// Следующие Функции вычисляем только при определенных
|// условиях, чтобы получить отфильтрованные итоги
|Функция ПрихКолТов = Приход(Количество) Когда (Док.ФлагТовара = 1);
|Функция РасхКолТов = Расход(Количество) Когда (Док.ФлагТовара = 1);
|Функция ПрихКолОтд = Приход(Количество) Когда (Док.ФлагОтдела = 1);
|Функция РасхКолОтд = Расход(Количество) Когда (Док.ФлагОтдела = 1);
|Функция ПрихКолСотр = Приход(Количество) Когда (Док.ФлагСотрудника = 1);
|Функция РасхКолСотр = Расход(Количество) Когда (Док.ФлагСотрудника = 1);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;