1С отчет скд поле не найдено

1с. СКД. Таблица значений как источник данных.
Чтобы полученную запросом или как угодно таблицу значений вывести в отчет СКД надо:
1. В отчете создать табличную часть с перечнем полей отчета. Название и типы полей должны быть такими же как в таблице значений с данными. Это облегчит загрузку данных до одной строки кода.

2. В качестве набора данных отчета СКД 1с использовать Объект. Имя объекта – имя табличной части.
3. Добавить поля, одноименные и однотипные с реквизитами табличной части. Какого-то автоматического создания полей на основе ТЧ я не нашел. Так что всё в руки.

4. В форме на кнопку формирования отчета повесить следующую процедуру:

Процедура ДействияФормыДействие ( Кнопка )
&nbsp&nbsp&nbsp // Получить данные для отчета
&nbsp&nbsp&nbsp ТЗ = ПолучитьДанныеДляОтчета ( ) ;

Если при выполнении отчета возникает ошибка "Не найдено поле замены . ", значит вы не прописали нужное поле в табличную часть или макет СКД.

Если в запросе используется конструкция вида регистратор.дата или получение еще какого-либо реквизита через регистратор и это поле не отображается в полях отчета СКД, то:

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

Проблема в том – что у регистратором может выступать несколько документов и видимо права чтение/просмотр есть не на все – поэтому через скд эта таблица целиком недоступна, решение:

1. открыть доступ на все регистраторы регистра

Описание ошибки:
При разработке очередного отчета с помощью системы компоновки данных на 1С 8 при необходимости использовать функцию языка запросов ДОБАВИТЬКДАТЕ() в выражении вычисляемого поля, возникла ошибка "Поле не найдено "День".

Читайте также:  Файл не может быть исполняемым вконтакте

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

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

ДОБАВИТЬКДАТЕ(ДатаПлюс14Дней, " ДЕНЬ " ,-3)

Оцените статью
Добавить комментарий

Adblock detector