Всё работало хорошо, но вдруг перестало, после того, как я внес изменения в макет СКД:
При формировании отчета появлялась надпись «Синтаксическая ошибка» и всё.
Когда убрал некоторые секции, методом деструктивного исключения обнаружил, что глючит зеленая секция.
Благо, CTRL+Z сработал и вернул изменения назад (каюсь, рабочей версии отчета не было).
Вздохнул было, но потом опять ошибка возникла. И тут до меня дошло — проблема в пустых ячейках, где указан тип ячейки «Параметр», но не указано, значение какого параметра брать. Поменял тип на Текст — и все заработало.
Экие тонкости в 1С, однако!
askharlov
24.07.12
✎
14:55
Запрос в консоли запросов отрабатывает прекрасно. В СКД при попытке сформировать отчет получаю
«Отчет не сформирован. Синтаксическая ошибка.»
Больше никаких комментариев 1С не дает.
В чем может быть проблема, где копать?
Заранее спасибо за помощь.
Господин ПЖ
24.07.12
✎
14:56
телепатирую — в запросе есть итоги…
0_Serg_0
24.07.12
✎
14:56
стоит для начала книжки про скд почитать…
askharlov
24.07.12
✎
14:59
(1) Итогов нет. Есть СГРУППИРОВАТЬ в 2-х временных таблицах
askharlov
24.07.12
✎
14:59
Собственно вот сам запрос:
+code
ВЫБРАТЬ РАЗРЕШЕННЫЕ
МАКСИМУМ(ХозрасчетныйОборотыДтКт.Регистратор) КАК Регистратор,
МАКСИМУМ(ХозрасчетныйОборотыДтКт.Период) КАК Период,
ХозрасчетныйОборотыДтКт.СубконтоДт1 КАК Номенклатура,
МАКСИМУМ(ВЫБОР
КОГДА ХозрасчетныйОборотыДтКт.КоличествоОборотДт <> 0
ТОГДА ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотДт
ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот
КОНЕЦ) КАК ЦенаПокупки
ПОМЕСТИТЬ ВТЦеныПоступления
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(, &КонецПериода, Регистратор, СчетДт = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладе), , СчетКт В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПоставщикамиИПодрядчиками)), , ) КАК ХозрасчетныйОборотыДтКт
ГДЕ
ХозрасчетныйОборотыДтКт.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
СГРУППИРОВАТЬ ПО
ХозрасчетныйОборотыДтКт.СубконтоДт1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
КонтрагентыПоМенеджерам.Контрагент,
КонтрагентыПоМенеджерам.Период КАК ПериодНач,
КонтрагентыПоМенеджерам.Менеджер,
МИНИМУМ(ЕСТЬNULL(КонтрагентыПоМенеджерам1.Период, &КонецПериода)) КАК ПериодКон
ПОМЕСТИТЬ ВТМенеджера
ИЗ
РегистрСведений.КонтрагентыПоМенеджерам КАК КонтрагентыПоМенеджерам
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтрагентыПоМенеджерам КАК КонтрагентыПоМенеджерам1
ПО КонтрагентыПоМенеджерам.Контрагент = КонтрагентыПоМенеджерам1.Контрагент
И КонтрагентыПоМенеджерам.Период < КонтрагентыПоМенеджерам1.Период
СГРУППИРОВАТЬ ПО
КонтрагентыПоМенеджерам.Период,
КонтрагентыПоМенеджерам.Менеджер,
КонтрагентыПоМенеджерам.Контрагент
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
КонтрагентыПоМенеджерамСрезПоследних.Контрагент,
КонтрагентыПоМенеджерамСрезПоследних.Период,
КонтрагентыПоМенеджерамСрезПоследних.Менеджер,
ЕСТЬNULL(КонтрагентыПоМенеджерамСрезПервых.Период, &КонецПериода)
ИЗ
РегистрСведений.КонтрагентыПоМенеджерам.СрезПоследних(&НачалоПериода, ) КАК КонтрагентыПоМенеджерамСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтрагентыПоМенеджерам.СрезПервых(&НачалоПериода, ) КАК КонтрагентыПоМенеджерамСрезПервых
ПО КонтрагентыПоМенеджерамСрезПоследних.Период <> КонтрагентыПоМенеджерамСрезПервых.Период
И КонтрагентыПоМенеджерамСрезПоследних.Контрагент = КонтрагентыПоМенеджерамСрезПервых.Контрагент
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Организация,
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент КАК Покупатель,
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты,
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка КАК СчетФактура,
РеализацияТоваровУслуг.Ссылка КАК РасходнаяНакладная,
СчетНаОплатуПокупателюТовары.Номенклатура,
ВЫРАЗИТЬ(СчетНаОплатуПокупателюТовары.Количество * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа / СчетНаОплатуПокупателюТовары.Ссылка.СуммаДокумента КАК ЧИСЛО(15, 2)) КАК Количество,
ВЫРАЗИТЬ(СчетНаОплатуПокупателюТовары.Сумма * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа / СчетНаОплатуПокупателюТовары.Ссылка.СуммаДокумента КАК ЧИСЛО(15, 2)) КАК СуммаПродажи,
СчетНаОплатуПокупателюТовары.Цена КАК ЦенаПродажи,
ВТЦеныПоступления.Регистратор КАК ДокументОприходования,
ВТЦеныПоступления.Регистратор.Контрагент КАК Поставщик,
ВЫРАЗИТЬ(ВТЦеныПоступления.ЦенаПокупки КАК ЧИСЛО(15, 2)) КАК ЦенаПокупки,
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка КАК ПлатежноеПоручениеВходящее,
ВЫРАЗИТЬ(ВТЦеныПоступления.ЦенаПокупки * СчетНаОплатуПокупателюТовары.Количество * ПлатежноеПоручениеВходящееРасшифровкаПлатежа.СуммаПлатежа / СчетНаОплатуПокупателюТовары.Ссылка.СуммаДокумента КАК ЧИСЛО(15, 2)) КАК СуммаПокупки,
ВТМенеджера.Менеджер
ИЗ
Документ.ПлатежноеПоручениеВходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеВходящееРасшифровкаПлатежа
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ПО ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка = РеализацияТоваровУслуг.Сделка
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦеныПоступления КАК ВТЦеныПоступления
ПО СчетНаОплатуПокупателюТовары.Номенклатура = ВТЦеныПоступления.Номенклатура
ПО ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Сделка = СчетНаОплатуПокупателюТовары.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ ВТМенеджера КАК ВТМенеджера
ПО ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Контрагент = ВТМенеджера.Контрагент
И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты >= ВТМенеджера.ПериодНач
И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты < ВТМенеджера.ПериодКон
ГДЕ
ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Проведен
И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты МЕЖДУ &НачалоПериода И &КонецПериода
И ПлатежноеПоручениеВходящееРасшифровкаПлатежа.Ссылка.Оплачено
Всем добрый день. Есть локальная база, 20+ юзеров, на одном компе при формировании отчета вываливается ошибка «Отчет не сформирован! Синтаксическая ошибка.» на других компах норм. Настройки структуры одинаковые. подключал внешний отчет, рабочий, такая же ошибка. Подскажите пожалуйста в чем дело. Заранее Спасибо.
Почистить на компе %UserProfile%Application Data1C1Cv81
Убей кэш путем перепрописывания базы в списке выбора
Спасибо, сейчас попробую!
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
1C 8 Система компоновки данных (СКД): вывод вычисляемых полей при программном формировании отчета
Описание ошибки:
Отчет на СКД формируется программно. При этом используется одно вычисляемое поле, в выражении которого указана экспортная функция глобального модуля. При формировании отчета возникает ошибка:
{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»
Найденные решения:
Подробное изучение методической информации дало понять, что при программном выводе отчета в коде было отключено использование внешних функций. См. текст из синтаксис-помощника метода Инициализировать() процессора компоновки данных (ПроцессорКомпоновкиДанных):
Инициализировать(<Макет>, <ВнешниеНаборыДанных>, <ДанныеРасшифровки>, <ВозможностьИспользованияВнешнихФункций>),
где <ВозможностьИспользованияВнешнихФункций> (необязательный)
Тип: Булево.
Указывает возможность использования функции общих модулей конфигурации в выражениях компоновки данных.
Значение по умолчанию: Ложь
Поэтому в код программного вывода отчета было добавлено отсутствующее условие (выделено жирным):
ПроцессорКомпановки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпановки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
Но после этого СКД отказалсь вывести отчет, рапортуя ошибку:
{Форма.ФормаОтчета.Форма(137)}: Ошибка при вызове метода контекста (Следующий)
ЭлементРезультата = ПроцессорКомпановки.Следующий();
по причине:
Ошибка компоновки данных
по причине:
Ошибка получения данных
по причине:
Функция не найдена «УчетДрагМеталловГлобальный.ОтчетКоличествоМеталла»
При этом функция по всем правилам была экспортной и к этому моменту проверок размещена в глобальном модуле. Поэтому название модуля было исключено из значения выражения вычисляемого поля системы компоновки данных и отчет вывелся.

А для случая, если функция для расчета выражения вычисляемого поля скд, размещена не в глобальном модуле, то необходимо указать и имя самого модуля, содержащего используемую функцию (пример рис. 01).
Оцените, помогло ли Вам предоставленное описание решения ошибки?

© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.
22-05-2015
Журавлев А.С.
(www.azhur-c.ru)
Main
Top
Interesting
☀️⛵️🌴 650 ideas
Help
Follow us:
-
Follow us on Vkontakte
-
Follow us on Telegram
-
Follow us on Pinterest
-
Follow us on Odnoklassniki
Applications
-
iOS
-
Android
-
Huawei
COMPANY
-
About
-
News
-
Help
PRODUCTS
-
Checklists
-
Button «Share»
-
Media program
COMMUNITY
-
Afisha LJ
-
Frank
-
Stylish merch
CHOOSE LANGUAGE
-
Privacy Policy
-
User Agreement
-
Help
LiveJournal — v.667
?
LiveJournal
Top
Log in
No account?
Create an account
Remember me
Forgot password
If this type of authorization does not work for you, convert your account using the link
-
-
fixin
November 18 2020, 15:00
Странная «Синтаксическая ошибка» в СКД с макетом
Как поборол эту странную ошибку.
Читать далее: https://geniy1s.ru/strannaya-sintaksicheskaya-oshibka-v-skd-s-maketom/
СКДслучай из практики 1с
promo
fixin
december 31, 2037 16:57
1420
Buy for 30 tokens
ЧаВо о Фиксине для новичков (блог переехал на fixinchik.ru)
UPD: Друзья, в августе 2019 года блог переехал на http://fixinchik.ru. Welcome! Добро пожаловать в журнал Осипова Сергея Александровича, известного также как Fixin и Гений 1С. Рекомендую ознакомиться с Часто Задаваемыми Вопросами обо мне. Что я хочу в подарок — список. Мой проект «…






