СКД ошибка: не найдено поле замены
Народ, подскажите, давно работаю с СКД — но сейчас столкнулся с ошибкой, которую раньше не встречал и просто в недоумении о её причине. В интернет (и тут на мисте) пошарил — люди с ней сталкивались, но ни одна из их ситуаций мне как-то не подошла.
Исправлял отчет "АнализСчета" (1С бухгалтерия 2.0)
В источнике данных "ОсновнойНаборДанных" в верхней выборке просто скопировал
выражения поля и зпадал иной псевдоним
ВЫБОР
КОГДА ХозрасчетныйОстаткиИОбороты.Субконто1 ЕСТЬ NULL
ТОГДА Обороты.Субконто1.Наименование
ИНАЧЕ ХозрасчетныйОстаткиИОбороты.Субконто1.Наименование
КОНЕЦ КАК НекотороеПоле,
Больше ничего не менял, выбрал это поле в отчете (в пользовательском режиме) в качестве группировки и получил ошибку
"Отчет не сформирован!
Не найдено поле замены "НекотороеПоле""
пробовал менять имя поля — не помогает.
Хотя — если выбрать имя "Поле1" — ошибки нет — но вместо значения выводится вид счета "Активный" (формировал по счету 41.01)
Что это за фигня? И что с этим делать?
(вообще мне нужно, конечно более сложное выражение написать — но это уже другая тема; а пока это был просто тест)
(8)смотри мой пост (5)
Если в пользовательском режиме в настройках в группировки добавить "Номенклатура" (субконто1) — то ошибки нет. Но это не решение — мне нужна отдельная своя группировка (без использования субконто1)
1с отчет скд поле не найдено
Всем привет! Хелп!
Есть внешний отчет, при формировании пишет следующее:
Поле не найдено «СведенияКадровойИсторияСотрудников.ВидЗанятости» И СведенияКадровойИсторияСотрудников.ВидЗанятости <> СведенияКадровойИсторияСотрудников2.ВидЗанятости
И собственно ругается на этот кусок запроса,
//ЗапросКадроваяИсторияСотрудников
ВЫБРАТЬ РАЗРЕШЕННЫЕ
СведенияКадровойИсторияСотрудников.Период,
СведенияКадровойИсторияСотрудников.ФизическоеЛицо,
ВЫБОР
КОГДА СведенияКадровойИсторияСотрудников.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы)
И СведенияКадровойИсторияСотрудников.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА СведенияКадровойИсторияСотрудников.Подразделение
КОГДА СведенияКадровойИсторияСотрудников2.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятости.ОсновноеМестоРаботы)
И СведенияКадровойИсторияСотрудников2.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА СведенияКадровойИсторияСотрудников2.Подразделение
КОГДА СведенияКадровойИсторияСотрудников.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА СведенияКадровойИсторияСотрудников.Подразделение
КОГДА СведенияКадровойИсторияСотрудников2.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА СведенияКадровойИсторияСотрудников2.Подразделение
ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
КОНЕЦ КАК Подразделение
ПОМЕСТИТЬ ВТСведенияОПодразделенияхПредварительно
ИЗ ВТКадроваяИсторияСотрудников КАК СведенияКадровойИсторияСотрудников
ЛЕВОЕ СОЕДИНЕНИЕ ВТКадроваяИсторияСотрудников КАК СведенияКадровойИсторияСотрудников2
ПО СведенияКадровойИсторияСотрудников.ФизическоеЛицо = СведенияКадровойИсторияСотрудников2.ФизическоеЛицо
И СведенияКадровойИсторияСотрудников.Период = СведенияКадровойИсторияСотрудников2.Период
И СведенияКадровойИсторияСотрудников.Организация = СведенияКадровойИсторияСотрудников2.Организация
И СведенияКадровойИсторияСотрудников.ВидЗанятости <> СведенияКадровойИсторияСотрудников2.ВидЗанятости
И СведенияКадровойИсторияСотрудников2.Подразделение <> ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
;
Что его тут не устраивает?
Поле не найдено «СведенияКадровойИсторияСотрудников.ВидЗанятости»
в таблице «СведенияКадровойИсторияСотрудников»
Копируйте текст запроса, и открывайте, устраняя ошибки, пока не откроется.
Отчёт, наверное, самописный, а в конфигурации разработчики убрали такое поле или переименовали.
СКД, ошибка в вычисляемых полях
(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?
по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «опМодуль.КореньКвадратный»
по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «SQRT»
(8) А это уже странно. Тупо ради интереса запилил себе в первый попавшийся отчет эту функцию, вот этот столбец:
Корень из отрицательного числа
118,82
39,01
79,81
(4) А, так у вас программный вывод? А вы его не забыли инициализировать, случаем?
В СКД можно использовать функции глобальных и неглобальных общих модулей в вычисляемых полях при условии что функция объявлена как экспортная.
Есть только маленькая тонкость при программном формировании отчета СКД.
Обычно, при инициализации процессора компоновки данных делают так:
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);
При таком формировании отчета вызова функций не произойдет. Что бы эту возможность включить нужно сделать так
по причине:
Ошибка вывода результата
по причине:
Ошибка при выводе результата
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Неверные параметры «*»
В СКД отображаются не все поля
Суть проблемы: есть отчет на скд, под полными правами он работает так как мне надо. Если запускаю его не под полными правами, то пропадают некоторые поля. Права на чтение/просмотр у пользователя с неполными правами есть на регистры и на документы используемые в запросе.
пробовал запускать под пользователем с неполными правами запрос из отчета в консоли запросов, всё работает правильно. Но в скд почему то поля просто теряются. их нет в выбранных полях.
пробовал выгружать настройку скд под полными и загружать не под полными правами. поля не появляются.
куда копать? помогите)
выше текст запроса.
нету вот этих полей :
то есть это реквизит документов «сумма документа»
Действительно если у пользователя есть право «Чтение», но нет права «Просмотр» регистра сведений, поле из него не попадает в список доступных полей.
Удивительно, но факт.
Результат НУЛЕВОЙ!
Поля видны только тем пользователям, у которых есть роль «Полные права».
Конфигурация: Управление торговлей, редакция 11.1 (11.1.9.61)
Платформа: 1С:Предприятие 8.3 (8.3.5.1517)
Нужно смотреть не только права на регистратор, но и на все объекты
отчета, где этот объект как таковой может использоваться в качестве
реквизита.
В моем случае использовалось измерение «АналитикаУчетаПопартнерам» в измерении
регистра «РасчетыСПоставщиками». Вот из-за того, что на сам справочник права
были только для роли «ПолныкеПрава» отбор по его реквизитам «Организация», «Партнер»
и «Контрагент» был невозможен. Не смотря на то, что на сами эти объекты у пользователей
разрешения были.
(19) valerasv,
Еще один вариант решения проблемы:
Делается соединения с таблицами объектов.
А уже эти таблицы используются дальше.
Пример.
Текст запроса для КД:
ВЫБРАТЬ
КлючиАналитикиУчетаПоПартнерам.Организация КАК Организация_КлючАналитики
ИЗ
Справочник.КлючиАналитикиУчетаПоПартнерам КАК КлючиАналитикиУчетаПоПартнерам
Для пользователя, у которого не полные права, из-за того, что на справочник КлючиАналитикиУчетаПоПартнерам
установлено разрешение только на чтение, мы ни где не увидим поле «Организация».
Изменив же запрос, можно получить желаемое.
Как пример:
ВЫБРАТЬ
Организации.Ссылка КАК Организация_КлючАналитики
ИЗ
Справочник.КлючиАналитикиУчетаПоПартнерам КАК КлючиАналитикиУчетаПоПартнерам
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Организации КАК Организации
ПО КлючиАналитикиУчетаПоПартнерам.Организация = Организации.Ссылка
1С отчет скд поле не найдено
1с. СКД. Таблица значений как источник данных.
Чтобы полученную запросом или как угодно таблицу значений вывести в отчет СКД надо:
1. В отчете создать табличную часть с перечнем полей отчета. Название и типы полей должны быть такими же как в таблице значений с данными. Это облегчит загрузку данных до одной строки кода.
2. В качестве набора данных отчета СКД 1с использовать Объект. Имя объекта — имя табличной части.
3. Добавить поля, одноименные и однотипные с реквизитами табличной части. Какого-то автоматического создания полей на основе ТЧ я не нашел. Так что всё в руки.

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

А проблема, как оказалось, совсем в мелочи. При использовании параметра типа увеличения (СЕКУНДА, МИНУТА, ЧАС, ДЕНЬ, НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД, ДЕКАДА, ПОЛУГОДИЕ;) необходимо, в отличие от использования в выражениях полей запроса, заключать в кавычки, т.е. в моем случае: не просто ДОБАВИТЬКДАТЕ(ДатаПлюс14Дней, ДЕНЬ, -3), а
ДОБАВИТЬКДАТЕ(ДатаПлюс14Дней, " ДЕНЬ " ,-3)
Не найдено поле замены 1с скд что это значит
ignsv —>
ignsv ![]()
![]()
Просмотр профиля
Найти сообщения пользователя
logist —>
logist ![]()
![]()
Просмотр профиля
Найти сообщения пользователя
А почему собственно Запись, а не Регистратор?
upd:
хотя проблема может быть в другом, регистр же не хранит обороты/остатки по регистратору.
MATEVI —>
MATEVI ![]()
![]()
Просмотр профиля
Найти сообщения пользователя
Посмотрите [необходимо зарегистрироваться для просмотра ссылки] тут есть такая возможность
Сообщение отредактировал logist — 30.08.12, 13:21
andpyxa —>
andpyxa ![]()
![]()
Просмотр профиля
Найти сообщения пользователя