Особенность работы конструкции дополнения дат в запросе

В случае если поле, по которому рассчитываем итоги, является полем типа Дата, то возможно дополнение результатов датами в заданном периоде. Делается это при помощи ключевого слова ПЕРИОДАМИ, после которого в скобках указывается вид периода (одно из СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ), начальная и конечные даты интересуемого периода. В случае если начальные и конечные даты не указаны, будут использованы первая и последняя даты, участвующие в результате. Допустим, мы написали запрос с дополнением дат:

  Если выполнить запрос в консоли запросов, то никакого дополнения дат мы не увидим, хотя запрос написан верно. Особенность дополнения дат в том, что эта конструкция работает только при обходе результата запроса, а консоль запросов применяет метод Выгрузить() к результату запроса и никакого дополнения не происходит. Пример №1 — выгрузка результата запроса в дерево значений (ДанныеФормыДерево)

  В данном примере дополнение дат не произойдет, т.к. происходит выгрузка результата запроса. Функция ПолучитьТекстЗапроса() возвращает выше приведенный текст запроса. Пример №2 — обход результата запроса с последующей загрузкой в дерево значений (ДанныеФормыДерево)

  В данном примере производиться обход результата запроса, причем указывается как должна получаться выборка, с помощью передачи параметров в метод Выбрать(). В этом примере будет производиться дополнение дат.

Read more

СКД. Программное чтение/запись СКД в/из XML

Объект типа СхемаКомпоновкиДанных не имеет в своем арсенале метода записи/чтения себя в/из XML. Но все исправимо благодаря возможности сериализации схемы компоновки данных в объект XDTO.

Сериализация объектов 1С выполняется с помощью объекта глобального контекста СериализацияXDTO — это сериализатор XDTO, соответствующий глобальной фабрики XDTO.

Read more

1С 8.3 : Функции языка выражений системы компоновки данных (СКД) Выразить, ЕстьNull…

Выразить (Cast) — данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. В случае, если выражение будет содержать тип, отличный от требуемого типа, будет возвращено значение NULL. Синтаксис:

Параметры: Выражение — преобразуемое выражение;  УказаниеТипа (Строка). Содержит  строку типа. Например, «Число», «Строка» и т.п. Кроме примитивных типов данная строка может содержать имя таблицы. В этом случае будет осуществлена попытка выразить к ссылке на указанную таблицу. Пример:

ЕстьNull (IsNull) — данная функция возвращает значение второго параметра в случае, если значение первого параметра NULL. В противном случае будет возвращено значение первого параметра. Синтаксис:

Параметры:

Read more

1С 8.3 : Функции языка выражений системы компоновки данных (СКД)

Уровень (Level) — функция предназначена для получения текущего уровня записи. Синтаксис:Уровень() Пример:Уровень() НомерПоПорядку (SequenceNumber) — получить следующий порядковый номер. Синтаксис:НомерПоПорядку() Пример:НомерПоПорядку() НомерПоПорядкуВГруппировке (SequenceNumberInGrouping) — возвращает следующий порядковый номер в текущей группировке. Пример:НомерПоПорядкуВГруппировке() Формат (Format) — получить отформатированную строку переданного значения. Синтаксис:Формат(Значение, ФорматнаяСтрока) Параметры:

Read more

1С 8.3 : Функции языка выражений системы компоновки данных (СКД) ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений

ВычислитьВыражениеСГруппировкойМассив (EvalExpressionWithGroupArray) — функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю. Синтаксис:

Параметры: Выражение (Строка) — выражение, которое нужно вычислить. Например, «Сумма(СуммаОборот)»; ВыраженияПолейГруппировки — выражения полей группировки, перечисленные через запятую. Например, «Контрагент, Партия»; ОтборЗаписей — выражение, применяемое к детальным записям. Например, «ПометкаУдаления = Ложь». Если в данном параметре используется агрегатная функция, то при выполнении компоновки данных возникнет ошибка; ОтборГруппировок — отбор, применяемый к групповым записям. Например: «Сумма(СуммаОборот) > &Параметр1». Пример:

Read more

1С 8.3 : Функции языка выражений системы компоновки данных (СКД) Вычислить, ВычислитьВыражение

Вычислить (Eval) — предназначена для вычисления выражения в контексте некоторой группировки. Функция используется для совместимости с предыдущими версиями платформы. Вместо неё рекомендуется использовать функцию ВычислитьВыражение. Синтаксис:

  Параметры:  Выражение (Строка). Cодержит вычисляемое выражение;  Группировка (Строка). Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем.Например:

В данном примере в результате получится отношение суммы по полю «Продажи.СуммаОборот» записи группировки к сумме того же поля во всей компоновке. ТипРасчета (Строка). В случае если данный параметр имеет значение «ОбщийИтог», выражение будет вычисляться для всех записей группировки. В случае если значение параметра «Группировка», значения будут вычисляться для текущей групповой записи группировки.

Read more

1С открыть СКД с параметром

Read more

1С 8.3 : СКД : Как передать параметры отбора СКС и сформировать отчет

Read more

1С 8.3 : Как добавить картинку после формирования печатной формы на СКД

СКД не позволяет выводить картинки штатными средствами. Картинку можно добавить после того как отработал СКД.

Read more

1С 8.3 : СКД: Программная установка отбора данных

Read more

1С 8 СКД : Программный вывод отчета

Read more

1С 8.3 : Работа с объектом в СКД

Внешний объект для СКД – произвольная таблица значений. Имена полей в СКД, которая использует объект в качестве источника данных, должны совпадать с именами колонок таблицы значений источника. При добавлении полей в СКД, поля можно типизировать, что упростит дальнейшую работу с СКД: определение ресурсов, формирование настройки вывода отчета, построение отборов и т.д. В случае, если поле будет иметь тип Справочник, Документ, …, появится возможность напрямую использовать реквизиты объектов в построении СКД (без ручного прописывания обращений к вложенным реквизитам). В примере используемый макет СКД не обязательно должен быть основным

Read more

1С 8.3 : Расшифровка в СКД

Через структуру «ВнешниеНаборыДанных»в СКД можно добавить несколько источников данных    

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

Read more

1С 8.3 Выполнение действия через нестандартную расшифровку СКД

Столкнулся с такой проблемой: нужно было сделать некий отчет с компоновкой, а в нем — когда два раза кликаем по заданному столбцу, в котором содержится представление документа «Заявка…» должно выпадать меню, включающее два нестандартных пункта: «Произвести корректировку бюджета», «Снять корректировку бюджета». Когда пользователь выбирает эти пункты, необходимо отобрать этот самый документ «Заявка» и сделать с ним некое действие   1)На форме располагается табличный документ с именем «Результат»  2)Отчет формируется после нажатя на кнопку «Сформировать» с именем «Сформировать»

Read more

1С 8.3 : Конец выбранного периода в СКД

По умолчанию в СКД при использовании параметра типа дата эти параметры инициализируются началом дня. Пользователь не хочется заморачиваться вводом 23:59:59 для конца параметра. Чтобы упростить пользователю жизнь: В конструкторе СКД в колонку «выражение» в параметра «КонецПериода» нужно прописать следующую строку:  

Read more

1С 8.3 : СКД. Работа с программным отбором, группировкой, набором данных, пользовательскими полями.

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

Read more

1C 8.х : СКД. Источник данных таблица значений

1. В схеме компановки данных Источник-объект (имя должно совпадать в дальнейшем с именем элемента в струткуре ВнешниеНаборыДанных) 2. Для Источника-объект описываем структуру полей, типы значений 3. В модуле объекта отчета используем предопределенный метод ПриКомпановкеРезультата При таком подходе работают все типовые механизмы по компановке отчета, по хранению настроек — мы их и не затрагивали.

Read more