пятница, 10 августа 2012 г.

СКД: как правильно использовать вычисляемые поля?



Формулы следует писать в Ресурсах, а вот сам ресурс можно добавить в Вычисляемых полях.
(к примеру в Вычисляемых полях нельзя указать Сумму ресурса, а в Ресурсе можно указать Вычисляемое поле и изменить его выражение на нужное- с Суммой!)



вторник, 7 августа 2012 г.

Настройки отчетов в СКД

Настройки- Другие настройки- 

Расположение полей группировок- Отдельно и только в итогах
Располагает группировки горизонтально (по умолчанию группировки (читай- основные поля данных) располагаются вертикально).
Авто позиция ресурсов- Не использовать.
Позволяет перемещать ресурсы в нужное место в отчете, а не только в конец или начало.

среда, 1 августа 2012 г.

Псевдонимы в языке запросов



В язык запросов 8.xx добавилось ключевое слово КАК(AS)- позволяет назначать псевдонимы полям и источникам.
Впрочем его можно не указывать, но его использование повышает налядность.
Псевдонимы полей задаются в соответствии с правилами назна­чения идентификаторов переменных (любая последовательность букв, цифр и знаков подчеркивания). Слова зарезервированные во встроенном языке использовать можно, нельзя зарезервированные для языка запросов!
Псевдонимы в запросе не могут совпадать.
Важно! Псевдонимы полей могут использоваться при указании итогов, порядка сортировки и в результате запроса.
О языке запросов online.
ВАЖНО! При анализе запросов следует всегда помнить о псевдонимах! Если имеется "странное" наименование, то его  источник следует искать перед словом КАК
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыПустаяХарактеристика

вторник, 31 июля 2012 г.

Язык запросов- параметры

& - Используется в языке запросов для указания системе, что далее будет использовано имя внешнего параметра.

Имя задается в соотвествии с правилами формирования идентификаторов.
Внешние параметры используются для того что-бы в момент формирования системой запроса этот параметр был заменен конкретным значением.
Для определения значения параметра необходимо использовать метод объекта встроенного языка "Запрос" - УстановитьПараметр().

Пример. В тексте запроса существует такая конструкция:
|РасходнаяТовары.Ссылка = &Ссылка

Ниже мы должны воспользоваться методом УстановитьПараметр()
Запрос.УстановитьПараметр("Ссылка", Ссылка);

Здесь "Ссылка" - имя параметра, указанное в запросе, Ссылка - его значение (свойство объекта "ДокументОбъект"), уже известное системе, например, при проведении документа.

Пример использования параметров при разработке отчетов с помощью СКД.
1. Сами внешние параметры определяем в закладке Параметры.
2. В конструкторе запросов полю Дата(документа) устанавливаем условие- (нахождение) Между НачалоПериода и КонецПериода.
!! По другому можно так-  пишем два условия- ...Дата >= &НачалоПериода и ...Дата <= &КонецПериода
3. В запросе видим конструкцию:

ГДЕ
СчетНаОплатуПоставщика.Дата МЕЖДУ &НачалоПериода И &КонецПериода
4. В нашем случае на форму отчета вынесены два реквизита- ДатаНачала и ДатаОкончания.
"Привязку" м/у этими реквизитами и параметрами осуществляем в процедуре, следующей конструкцией:

...
ПараметрДанныхНачалоПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[0];
ПараметрДанныхНачалоПериода.Значение = ДатаНачала;
ПараметрДанныхНачалоПериода.Использование = Истина;

ПараметрДанныхКонецПериода = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы[1];
ПараметрДанныхКонецПериода.Значение = ДатаОкончания;
ПараметрДанныхКонецПериода.Использование = Истина;
...

воскресенье, 8 июля 2012 г.

Наименования конструкций и ключевые слова языка 1С 8

- К примеру всем известная конструкция ?(,,) называется вычислить выражение по условию (кажется в 7-мь она называлась Сокращенное Если)
- Секции в таблицах теперь называются Имена

понедельник, 2 июля 2012 г.

Как при выборе элемента справочника отображать любой реквизит (вместо кода или наименования)

Отсюда.
На примере формы списка справочника.
При нажатии на кнопку выбора открывается справочник Коэффициенты (в котором наименование и  код формируются автоматически) имеющий дополнительный реквизит- Значение. Этот дополнительный реквизит и должен отображаться в форме. 
1. Создаем реквизит Коэффициент (Число 10-3) в Справочнике ("владельце" формы списка)
2. В Табличную часть (СправочникСписок) формы списка добавляем созданный реквизит
2. После размещения реквизита в табличной части на форме заходим в его Свойства
3. В разделе Использование (свойств реквизита) ставим флаг- Кнопка Выбора
4. Добавляем Событие- НачалоВыбора, со следующим кодом:
Процедура СправочникСписокКоэффициентНачалоВыбора(Элемент, СтандартнаяОбработка)
 СпрКоэфф = Справочники.Коэффициенты.ПолучитьФормуВыбора(,ЭтаФорма);
 СпрКоэфф.Заголовок = "Выберите коэффициент:";
 Выбор = СпрКоэфф.ОткрытьМодально();
 Элемент.Значение = Выбор.Значение;
 КонецПроцедуры
Минус. В нашей конфигурации справочник Коэффициенты является подчиненным.
При таком способе наш реквизит имеет простой тип данных (Число), поэтому в свойствах колонки (использующей такой реквизит)  пропадает возможность использовать Связь по владельцу!!!

P.S. Первый вариант в источнике работает, но для ФормыСписка справочника надо использовать .ТекущиеДанные., вместо .ТекущаяСтрока..

понедельник, 4 июня 2012 г.

Вывод Итогов в СКД

Хрусталева. Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных. с.16
В Системе Компоновки Данных используются не все возможнос­ти языка запросов 1С.
В частности, нет секции итогов, так как плат­форма самостоятельно рассчитывает итоги на основании настро­ек, сделанных разработчиком или пользователем (при этом для сис­темы компоновки данных разработано специальное расширение языка запросов, чтобы описывать дополнительные характеристики в отчетах).
Итоги в отчетах разработанных с СКД выводятся следующим образом.
На закладке Ресурсы окна СКД нужно выбрать необходимые поля, нужное нам выражение и по какому полю группировки производить расчет.