1с скд поле не найдено период

СКД: Не найдено поле замены-2

Текст запроса (взят из типовой и изменен под свои нужды):

ВЫБРАТЬ РАЗРЕШЕННЫЕ
Организации.Ссылка КАК Ссылка
ПОМЕСТИТЬ СписокОрганизаций
ИЗ
Справочник.Организации КАК Организации
<ГДЕ
Организации.Ссылка.* КАК Организация>

ИНДЕКСИРОВАТЬ ПО
Ссылка
;

СГРУППИРОВАТЬ ПО
Итоги.ОбщиеИтоги,
Итоги.БУОбщийНачальныйОстатокФлаг,
Итоги.БУОбщийКонечныйОстатокФлаг,
Итоги.КоличествоОбщийНачальныйОстатокФлаг,
Итоги.КоличествоОбщийКонечныйОстатокФлаг
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Проводки.Период КАК Период,
Проводки.Организация КАК Организация,
Проводки.ВерсияОтчетов КАК ВерсияОтчетов,
Проводки.Регистратор КАК Регистратор,
Проводки.НомерСтроки КАК НомерСтроки,
Проводки.СчетДт КАК СчетДт,
Проводки.СубконтоДт1 КАК СубконтоДт1,
Проводки.СубконтоДт2 КАК СубконтоДт2,
Проводки.СубконтоДт3 КАК СубконтоДт3,
Проводки.СубконтоДт4 КАК СубконтоДт4,
Проводки.СубконтоДт5 КАК СубконтоДт5,
Проводки.СчетКт КАК СчетКт,
Проводки.СубконтоКт1 КАК СубконтоКт1,
Проводки.СубконтоКт2 КАК СубконтоКт2,
Проводки.СубконтоКт3 КАК СубконтоКт3,
Проводки.СубконтоКт4 КАК СубконтоКт4,
Проводки.СубконтоКт5 КАК СубконтоКт5,
Проводки.БУДт КАК БУДт,
Проводки.БУКт КАК БУКт,
Проводки.КоличествоДт КАК КоличествоДт,
Проводки.КоличествоКт КАК КоличествоКт,
Проводки.Содержание КАК Содержание,
ТаблицаИтоги.ОбщиеИтоги КАК ОбщиеИтоги,
Проводки.ПериодГруппировки КАК ПериодГруппировки,
Проводки.Счет КАК Счет,
Проводки.БУКонечныйОстатокДт КАК БУКонечныйОстатокДт,
Проводки.БУКонечныйОстатокКт КАК БУКонечныйОстатокКт,
Проводки.БУОборотДт КАК БУОборотДт,
Проводки.БУОборотКт КАК БУОборотКт,
Проводки.БУНачальныйОстатокДт КАК БУНачальныйОстатокДт,
Проводки.БУНачальныйОстатокКт КАК БУНачальныйОстатокКт,
Проводки.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокДт,
Проводки.КоличествоНачальныйОстатокКт КАК КоличествоНачальныйОстатокКт,
Проводки.КоличествоОборотДт КАК КоличествоОборотДт,
Проводки.КоличествоОборотКт КАК КоличествоОборотКт,
Проводки.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
Проводки.КоличествоКонечныйОстатокКт КАК КоличествоКонечныйОстатокКт,
ТаблицаИтоги.БУОбщийНачальныйОстаток КАК БУОбщийНачальныйОстаток,
ТаблицаИтоги.БУОбщийКонечныйОстаток КАК БУОбщийКонечныйОстаток,
ТаблицаИтоги.БУОбщийНачальныйОстатокФлаг КАК БУОбщийНачальныйОстатокФлаг,
ТаблицаИтоги.БУОбщийКонечныйОстатокФлаг КАК БУОбщийКонечныйОстатокФлаг,
ТаблицаИтоги.КоличествоОбщийНачальныйОстаток КАК КоличествоОбщийНачальныйОстаток,
ТаблицаИтоги.КоличествоОбщийКонечныйОстаток КАК КоличествоОбщийКонечныйОстаток,
ТаблицаИтоги.КоличествоОбщийНачальныйОстатокФлаг КАК КоличествоОбщийНачальныйОстатокФлаг,
ТаблицаИтоги.КоличествоОбщийКонечныйОстатокФлаг КАК КоличествоОбщийКонечныйОстатокФлаг
<ВЫБРАТЬ
Период,
Организация.*,
ВерсияОтчетов.*,
Регистратор.*,
НомерСтроки,
СчетДт.*,
СубконтоДт1.*,
СубконтоДт2.*,
СубконтоДт3.*,
СубконтоДт4.*,
СубконтоДт5.*,
СчетКт.*,
СубконтоКт1.*,
СубконтоКт2.*,
СубконтоКт3.*,
СубконтоКт4.*,
СубконтоКт5.*,
БУДт,
БУКт,
КоличествоДт,
КоличествоКт,
Содержание,
ОбщиеИтоги,
ПериодГруппировки,
Счет.*,
БУКонечныйОстатокДт,
БУКонечныйОстатокКт,
БУОборотДт,
БУОборотКт,
БУНачальныйОстатокДт,
БУНачальныйОстатокКт,
КоличествоНачальныйОстатокДт,
КоличествоНачальныйОстатокКт,
КоличествоОборотДт,
КоличествоОборотКт,
КоличествоКонечныйОстатокДт,
КоличествоКонечныйОстатокКт,
БУОбщийНачальныйОстаток,
БУОбщийКонечныйОстаток,
БУОбщийНачальныйОстатокФлаг,
БУОбщийКонечныйОстатокФлаг,
КоличествоОбщийНачальныйОстаток,
КоличествоОбщийКонечныйОстаток,
КоличествоОбщийНачальныйОстатокФлаг,
КоличествоОбщийКонечныйОстатокФлаг>
ИЗ
(ВЫБРАТЬ
ДвиженияССубконто.Период КАК Период,
ДвиженияССубконто.Регистратор КАК Регистратор,
ДвиженияССубконто.Организация КАК Организация,
ДвиженияССубконто.ВерсияОтчетов КАК ВерсияОтчетов,
ДвиженияССубконто.НомерСтроки КАК НомерСтроки,
ДвиженияССубконто.СчетДт КАК СчетДт,
ДвиженияССубконто.СубконтоДт1 КАК СубконтоДт1,
ДвиженияССубконто.СубконтоДт2 КАК СубконтоДт2,
ДвиженияССубконто.СубконтоДт3 КАК СубконтоДт3,
ДвиженияССубконто.СубконтоДт4 КАК СубконтоДт4,
ДвиженияССубконто.СубконтоДт5 КАК СубконтоДт5,
ДвиженияССубконто.СчетКт КАК СчетКт,
ДвиженияССубконто.СубконтоКт1 КАК СубконтоКт1,
ДвиженияССубконто.СубконтоКт2 КАК СубконтоКт2,
ДвиженияССубконто.СубконтоКт3 КАК СубконтоКт3,
ДвиженияССубконто.СубконтоКт4 КАК СубконтоКт4,
ДвиженияССубконто.СубконтоКт5 КАК СубконтоКт5,
ПланОстаткиИОбороты.СуммаОборотДт КАК БУДт,
ПланОстаткиИОбороты.СуммаОборотКт КАК БУКт,
ПланОстаткиИОбороты.КоличествоОборотДт КАК КоличествоДт,
ПланОстаткиИОбороты.КоличествоОборотКт КАК КоличествоКт,
ДвиженияССубконто.Содержание КАК Содержание,
«ОбщиеИтоги» КАК ОбщиеИтоги,
ВЫБОР
КОГДА &Периодичность = 6
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, ДЕНЬ)
КОГДА &Периодичность = 7
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, НЕДЕЛЯ)
КОГДА &Периодичность = 8
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, ДЕКАДА)
КОГДА &Периодичность = 9
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, МЕСЯЦ)
КОГДА &Периодичность = 10
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, КВАРТАЛ)
КОГДА &Периодичность = 11
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, ПОЛУГОДИЕ)
КОГДА &Периодичность = 12
ТОГДА НАЧАЛОПЕРИОДА(ДвиженияССубконто.Период, ГОД)
КОНЕЦ КАК ПериодГруппировки,
ПланОстаткиИОбороты.Счет КАК Счет,
ПланОстаткиИОбороты.СуммаНачальныйОстатокДт КАК БУНачальныйОстатокДт,
ПланОстаткиИОбороты.СуммаНачальныйОстатокКт КАК БУНачальныйОстатокКт,
ПланОстаткиИОбороты.СуммаОборотДт КАК БУОборотДт,
ПланОстаткиИОбороты.СуммаОборотКт КАК БУОборотКт,
ПланОстаткиИОбороты.СуммаКонечныйОстатокДт КАК БУКонечныйОстатокДт,
ПланОстаткиИОбороты.СуммаКонечныйОстатокКт КАК БУКонечныйОстатокКт,
ПланОстаткиИОбороты.КоличествоНачальныйОстатокДт КАК КоличествоНачальныйОстатокДт,
ПланОстаткиИОбороты.КоличествоНачальныйОстатокКт КАК КоличествоНачальныйОстатокКт,
ПланОстаткиИОбороты.КоличествоОборотДт КАК КоличествоОборотДт,
ПланОстаткиИОбороты.КоличествоОборотКт КАК КоличествоОборотКт,
ПланОстаткиИОбороты.КоличествоКонечныйОстатокДт КАК КоличествоКонечныйОстатокДт,
ПланОстаткиИОбороты.КоличествоКонечныйОстатокКт КАК КоличествоКонечныйОстатокКт
<ВЫБРАТЬ
Период,
Регистратор.*,
НомерСтроки,
СчетДт.*,
СубконтоДт1.*,
СубконтоДт2.*,
СубконтоДт3.*,
СубконтоДт4.*,
СубконтоДт5.*,
СчетКт.*,
СубконтоКт1.*,
СубконтоКт2.*,
СубконтоКт3.*,
СубконтоКт4.*,
СубконтоКт5.*,
БУДт,
БУКт,
КоличествоДт,
КоличествоКт,
Содержание,
ОбщиеИтоги,
ПериодГруппировки,
Счет.*,
БУНачальныйОстатокДт,
БУНачальныйОстатокКт,
БУОборотДт,
БУОборотКт,
БУКонечныйОстатокДт,
БУКонечныйОстатокКт,
КоличествоНачальныйОстатокДт,
КоличествоНачальныйОстатокКт,
КоличествоОборотДт,
КоличествоОборотКт,
КоличествоКонечныйОстатокДт,
КоличествоКонечныйОстатокКт>
ИЗ
РегистрБухгалтерии.План.ОстаткиИОбороты(
<(&НачалоПериода)>,
<(&КонецПериода)>,
Запись,
,
Счет В ИЕРАРХИИ (&Счет),
,
Организация В
(ВЫБРАТЬ
СписокОрганизаций.Ссылка
ИЗ
СписокОрганизаций КАК СписокОрганизаций) <(Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (Субконто4).* КАК Субконто4, (Субконто5).* КАК Субконто5>) КАК ПланОстаткиИОбороты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрБухгалтерии.План.ДвиженияССубконто(
<(&НачалоПериода)>,
<(&КонецПериода)>,
Счет В ИЕРАРХИИ (&Счет)
И Активность = ИСТИНА
И Организация В
(ВЫБРАТЬ
СписокОрганизаций.Ссылка
ИЗ
СписокОрганизаций КАК СписокОрганизаций) <(Субконто1).* КАК Субконто1, (Субконто2).* КАК Субконто2, (Субконто3).* КАК Субконто3, (Субконто4).* КАК Субконто4, (Субконто5).* КАК Субконто5, (ВидСубконто1) КАК ВидСубконто1, (ВидСубконто2) КАК ВидСубконто2, (ВидСубконто3) КАК ВидСубконто3, (ВидСубконто4) КАК ВидСубконто4, (ВидСубконто5) КАК ВидСубконто5, (Регистратор).* КАК Регистратор, (Содержание) КАК Содержание>) КАК ДвиженияССубконто
ПО ПланОстаткиИОбороты.Период = ДвиженияССубконто.Период
И ПланОстаткиИОбороты.Регистратор = ДвиженияССубконто.Регистратор
И ПланОстаткиИОбороты.НомерСтроки = ДвиженияССубконто.НомерСтроки
<ГДЕ
ДвиженияССубконто.Сумма КАК БУДт,
ДвиженияССубконто.Сумма КАК БУКт,
ДвиженияССубконто.Количество КАК КоличествоДт,
ДвиженияССубконто.Количество КАК КоличествоКт>) КАК Проводки
ПОЛНОЕ СОЕДИНЕНИЕ ТаблицаИтоги КАК ТаблицаИтоги
ПО Проводки.ОбщиеИтоги = ТаблицаИтоги.ОбщиеИтоги

Источник

Типичные проблемы при расчете остатков

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

Данная проблема возникает например, если в запросе получают поле Регистратор, но не получают поле ПериодСекунда.

Пример неправильного запроса:

Для такого запроса система рассчитать правильные остатки не может.

Для устранения проблемы нужно обеспечить, чтобы в запросе присутствовало поле Период.

Пример правильного запроса:

Данная проблема возникает когда в запросе получают только поле начального остатка или только поле конечного остатка.

Пример неправильного запроса:

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

Пример правильного запроса:

Не заполнены роли полей

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

Пример неправильного заполнения роли периодов:

1с скд поле не найдено период

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

Пример неправильного заполнения:

1с скд поле не найдено период

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

1с скд поле не найдено период

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

Неправильная работа с реквизитами измерений

Данная проблема возникает, когда в запросе получают реквизит измерения.

Например, если в регистре имеется измерение Договор, у которого имеется реквизит Контрагент, и в запросе получается поле Договор.Контрагент.

В такой ситуации может возникнуть две проблемы:

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

Пример неправильного запроса:

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

Пример правильного запроса:

1с скд поле не найдено период

Использование в запросе измерений виртуальных таблиц, отсутствующих в списке выборки

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

Пример неправильного запроса:

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

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

Пример правильного запроса:

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

Другой пример правильного запроса:

В данном примере поле Склад не используется вне параметров виртуальной таблицы.

Не использование периодичности Авто

Пример запроса, который может привести к получению неправильных остатков:

Использование периодичности Неделя совместно с бОльшими периодичностями

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

Источник

Не найдено поле замены

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

1с скд поле не найдено периодОшибка при выполнении запроса: Поле не найдено
Всем снова привет!:) Написала запрос, казалось бы простенький. Но выдает ошибку. Не могу.

Пишет что поле не найдено
Пишет что поле не найдено подскажите в коде? Процедура ПриОткрытии() ТП.Очистить();.

УНФ обновление нетиповой. ВнешняяОбработка поле не найдено
Здравствуйте, господа! Передо мной стоит задача обновить нетиповую конфигурацию УНФ сразу на.

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

1с скд поле не найдено периодFieldByName: поле не найдено
Здравствуйте. В коде на последней строчке выскакивает данная ошибка: BandQuery: Field ‘название’.

1с скд поле не найдено периодПоле не найдено СКД
В отчете на скд не выводятся поля «пользователь», «датаизготовления», «дата предполагаемой.

Не найдено поле динамического списка,
пишу ВЫБРАТЬ РАЗЛИЧНЫЕ ВЫБОР КОГДА ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, 10) >=.

1с скд поле не найдено периодСоздание файлов в папке без замены имеющихся путем замены цифр в их имени по порядку
Всем доброго времени суток! Надо при нажатии кнопку создавать файл «Ins001.txt» в директории.

Источник

В СКД отображаются не все поля

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

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

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

куда копать? помогите)

выше текст запроса.
нету вот этих полей :

то есть это реквизит документов «сумма документа»

Действительно если у пользователя есть право «Чтение», но нет права «Просмотр» регистра сведений, поле из него не попадает в список доступных полей.

Удивительно, но факт.

Результат НУЛЕВОЙ!
Поля видны только тем пользователям, у которых есть роль «Полные права».
Конфигурация: Управление торговлей, редакция 11.1 (11.1.9.61)
Платформа: 1С:Предприятие 8.3 (8.3.5.1517)

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

В моем случае использовалось измерение «АналитикаУчетаПопартнерам» в измерении
регистра «РасчетыСПоставщиками». Вот из-за того, что на сам справочник права
были только для роли «ПолныкеПрава» отбор по его реквизитам «Организация», «Партнер»
и «Контрагент» был невозможен. Не смотря на то, что на сами эти объекты у пользователей
разрешения были.

(19) valerasv,
Еще один вариант решения проблемы:
Делается соединения с таблицами объектов.
А уже эти таблицы используются дальше.

Пример.
Текст запроса для КД:
ВЫБРАТЬ
КлючиАналитикиУчетаПоПартнерам.Организация КАК Организация_КлючАналитики
ИЗ
Справочник.КлючиАналитикиУчетаПоПартнерам КАК КлючиАналитикиУчетаПоПартнерам

Для пользователя, у которого не полные права, из-за того, что на справочник КлючиАналитикиУчетаПоПартнерам
установлено разрешение только на чтение, мы ни где не увидим поле «Организация».

Изменив же запрос, можно получить желаемое.
Как пример:
ВЫБРАТЬ
Организации.Ссылка КАК Организация_КлючАналитики
ИЗ
Справочник.КлючиАналитикиУчетаПоПартнерам КАК КлючиАналитикиУчетаПоПартнерам
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
ПО КлючиАналитикиУчетаПоПартнерам.Организация = Организации.Ссылка

Источник

Немного про СКД. Характеристики и проверка пустого отчета

Совместим несовместимое

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

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

Все не просто, а очень просто! Поехали!

Отчет пустой?

Решая задачи, в которых нужно выполнять формирование отчета программно, бывает необходимым проверить наличие результата в отчете. То есть, узнать пустой он или нет. Сегодня мы рассмотрим небольшой пример реализации такой проверки при программном формировании отчета на системе компоновки данных (СКД). Далее Вы можете видеть результат.

1с скд поле не найдено период

Отчет формирует все возможные комбинации 6 цифр, диапазон, который указывается в шапке. При оказании диапазона от 1 до 3 отчет показывает сформированные комбинации, если же указать диапазон от 1 до 0, то отчет будет пустым, т.к. такой диапазон ошибочный.

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

Думаю, сделать дальше настройки варианта отчета будет не сложно.

При этом в шапке отчета изменяется значение поля «Отчет пустой».

Реализация проверки

Как уже говорилось выше, отчет построен на базе СКД. В модуле объекта отчета используется событие «ПриКомпоновкеРезультата», в котором программно формируется результат отчета. Листинг события приведен ниже:

В данном случае, проверка выполняется в событии «ПриКомпоновкеРезультата», но подобный подход может использоваться при любой программной работе с СКД.

Все просто, не правда ли?

Добавлять в отчет реквизит «ОтчетПустой» не обязательно. Здесь это сделано лишь для примера. Использовать этот подход можно практически для любого отчета на СКД.

Пример использования

Сделаем регламентное задание, которое будет запускать формирование отчета, и, если он не пустой, отправлять результат по почте. Обработчик регламентного задания будет выглядеть примерно так:

Здесь мы сначала компонуем результат, а после проверяем параметр «ОтчетПустой» в настройках компоновщика. Если отчет не пустой, то отправляем сформированный табличный документ на электронную почту.

Листинг процедуры отправки на электронную почту выкладывать не вижу смысла. Проблем с отправкой быть не должно, ведь все уже есть в БСП (или на крайний случай в синтаксис-помощнике).

Все очень просто

Должен признаться, что подобный метод проверки отчетов на заполненность в свое время подглядел в конфигурации 1С:Документооборот, поэтому некоторый плагиат в статье конечно есть =) Но я думаю, что разработчики из фирмы «1С» не обидятся, а кто-нибудь из читателей узнает для себя что-нибудь новое. В БСП есть отдельные функции общих модулей, которые таким же способом позволяют проверить заполненность результата отчета.

Используйте БСП, живите правильно! 🙂

Особенность использования механизма характеристик

Что у нас есть?

Пример будем приводить на конфигурации «Управление производственным предприятием» версии 1.3. Хоть она и не самая свежая, но для примера это не имеет никакого значения. Все информация может быть использована и в современных решениях на базе платформы 1С.

В информационной базе для всех элементов справочника «Организации» добавлены свойства «Основной склад», «Связанный контрагент» и «Страна размещения». Нам нужно создать отчет в системе компоновки данных (СКД), в котором мы сможем накладывать отбор по дополнительным характеристиками организаций.

1с скд поле не найдено период

Создаем отчет и настраиваем характеристики

Создадим простой отчет. В нем будет один набор данных со следующим запросом:

Структура отчета будет иметь вывод только по детальным записям со всеми полями, выбираемыми в запросе. В конструкторе настройка структуры отчета будет выглядит следующим образом:

1с скд поле не найдено периодНа скриншоте ниже представлен вывод отчета с текущими настройками.

1с скд поле не найдено период

Отлично. Теперь перейдем к настройке характеристик, но перед этим напомню в общих чертах работу механизма характеристик в большинстве типовых конфигураций, в том числе и УПП. Для этого используются несколько объектов конфигурации.

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

1с скд поле не найдено период

Опишем схему подробнее. В регистре сведений «ЗначенияСвойствОбъектов» в измерении «Объект» содержится ссылка на элемент информационной базы, для которого сохраняется свойство. В нашем примере это ссылка на элемент справочника «Организации». Все возможные свойства объекта определяются в плане видов характеристик (ПВХ) «СвойстваОбъектов». Значение характеристики, сохраняемое в регистре сведений, зависит от доступных типов данных для элемента плана видов характеристик, записанного в измерение «Свойство». Это описание должно дать лишь общее представление о механизме доп. свойств. На практике он сложнее, но при при необходимости разобраться будет не сложно.

Теперь перейдем к настройке характеристик в схеме компоновки данных. Для этого запустим конструктор запроса и перейдем на вкладку «Характеристики». Здесь нужно добавить поле связи объекта информационной базы с таблицами свойств и значений свойств. Ранее мы рассматривали схему связи между объектами конфигурации для хранения доп. свойств/характеристик. В соответствии с этой информацией настройка будет следующей:

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

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

Но если есть необходимость, мы можем добавить поля характеристик, например, в отбор перед его открытием или сделать настройку отчета в режиме 1С:Предприятие, а настройки перенести в конфигуратор через XML-файл (выгружается стандартными средствами СКД). Рассмотрим небольшой пример.

Программная работа с характеристиками

При открытии формы отчета выполним следующим программный код:

Тогда если мы посмотрим в отбор отчета в режиме 1С:Предприятие, то увидим следующую картину:

1с скд поле не найдено периодТаким образом, мы программно добавили отбор по дополнительным характеристикам справочника «Организации», не смотря на то, что в конструкторе СКД эти поля не были доступны. Обратите внимание на синтаксис определения поля компоновки данных.

а именно на текст «[Связанный контрагент]». Если мы напишем вот так:

то при запуске отчета СКД неправильно определит поля компоновки. В настройках поля отбора будут выделены как некорректные:

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

Теперь мы можем устанавливать настройки отчета, даже если поля недоступны в конструкторе СКД.

А Вы используете характеристики?

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

В статье мы рассмотрели далеко не все возможности характеристик в СКД. За рамками статьи остались такие возможности как: произвольное определение источников данных, как для свойств, так и для значений характеристик, а также отбор по владельцу для всех доступных характеристик в информационной базе и многое другое. Тема большая, есть куда расширять круг своих знаний.

Продолжим позже

На этом все, спасибо что дочитали до конца! СКД наше все!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *