Всё работало хорошо, но вдруг перестало, после того, как я внес изменения в макет СКД:
При формировании отчета появлялась надпись «Синтаксическая ошибка» и всё.
Когда убрал некоторые секции, методом деструктивного исключения обнаружил, что глючит зеленая секция.
Благо, CTRL+Z сработал и вернул изменения назад (каюсь, рабочей версии отчета не было).
Вздохнул было, но потом опять ошибка возникла. И тут до меня дошло — проблема в пустых ячейках, где указан тип ячейки «Параметр», но не указано, значение какого параметра брать. Поменял тип на Текст — и все заработало.
Экие тонкости в 1С, однако!
Вычисляемое поле в СКД — Синтаксическая ошибка |
Я |
20.12.22 — 16:02
Что не так?
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)).Количество()>0 Тогда
УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))[0].Значение
Конец
1 — 20.12.22 — 16:06
[1C]
2 — 20.12.22 — 16:08
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение Конец
3 — 20.12.22 — 16:11
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение Конец
убрал Объект, все равно
4 — 20.12.22 — 16:29
(0) Что за ошибка-то? Этот модуль можно использовать в выражениях СКД?
5 — 20.12.22 — 16:36
(4) Синтаксическая ошибка
{ОбщаяФорма.ФормаОтчета.Форма(1148)}: СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);
{ОбщаяФорма.ФормаОтчета.Форма(594)}: СформироватьНепосредственно();
по причине:
Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’
по причине:
Синтаксическая ошибка
{ВнешнийОтчет.ВыручкаИСебестоимостьПродажСПочтовымиАдресами.МодульОбъекта(18)}: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
{ОбщаяФорма.ФормаОтчета.Форма(1148)}: СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);
по причине:
Ошибка компоновки макета
по причине:
Ошибка в выражении «(Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)).Количество()>0 Тогда
УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))[0].Значение
Конец)»
по причине:
Синтаксическая ошибка
6 — 20.12.22 — 16:42
Общий модуль конфигурации
Сервер, Внешнее соединение, Клиент (обычное приложение)
Если оставить только УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))
ошибки нет
7 — 20.12.22 — 16:51
УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)) = Неопределено у каких-нибудь записей
8 — 20.12.22 — 17:22
(7) там Возврат Запрос.Выполнить().Выгрузить();
в любом случае таблица
9 — 20.12.22 — 17:25
(8) А зачем это делать в вычисляемом поле? Если речь идет про СКД, что мешает там получить нужную таблицу и привязать ее к основной?
10 — 20.12.22 — 17:27
(9) нет, я могу и функцию запилить в общем модуле, просто интересно, почему так не получается
11 — 20.12.22 — 17:28
(10) Потому что это корявое решение, пытаться получить таблицу в вычисляемое поле.
12 — 20.12.22 — 17:30
Имхо все дело в синтаксисе, которые не проходит ваше выражение из-за точки.
13 — 20.12.22 — 17:30
К функции вы можете обратиться, а вот через точку получить результат — вряд ли.
14 — 20.12.22 — 17:30
(11) согласен, просто изначально думал это будет проще типовыми методами
15 — 20.12.22 — 17:31
А разве так можно «[0].Значение» ?
16 — 20.12.22 — 17:32
(14) вы можете написать еще одну функцию, которая вернет первый элемент таблицы, либо неопределено (к примеру). И вот уже ее использовать, но все равно это корявое решение имхо))
17 — 20.12.22 — 17:37
Почта = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеОСотруднике.ФизическоеЛицо, Справочники.ВидыКонтактнойИнформации.EMailФизическиеЛица, ТекущаяДата, Истина);
18 — 20.12.22 — 17:38
(17) А если у физического лица несколько почтовых ящиков?
19 — 20.12.22 — 17:43
(18) Или свою функцию запилить, чтобы возвращали список одной строчкой. Или сделать несколько полей для контактной информации, или брать первый. Для начала можно почитать задачу, а там уже принимать решение.
20 — 20.12.22 — 19:12
(15) да, нельзя
Выражение вычисляемого поля описывается на языке выражений компоновки данных. В выражениях вычисляемого поля есть ограничение — в нем нельзя использовать вычисляемые поля.
https://its.1c.ru/db/metod8dev/content/1810/hdoc
21 — 20.12.22 — 20:23
я «победил»… всё выводится
ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)),»Значение»)
22 — 20.12.22 — 20:23
[1C]ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)),»Значение»)[1C]
23 — 20.12.22 — 20:23
[1С]ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)),»Значение»)[1С]
Renium1963
24 — 21.12.22 — 10:43
(21) Ну, вот и все… а сколько бумаги исписали то на комментарии )))
Синтаксическая ошибка в запросе СКД
Автор Лесной Лес, 28 апр 2015, 16:17
0 Пользователей и 1 гость просматривают эту тему.
Не могу понять в чем ошибка синтаксиса при использовании функции Разностьдат
ВЫБРАТЬ
Номенклатура.НаименованиеПолное,
Номенклатура.Сертификат.ДатаОкон,
Номенклатура.Сертификат.СрокДейст
РАЗНОСТЬДАТ(Номенклатура.Сертификат.ДатаОкон, Номенклатура.Сертификат.СрокДейст, День)
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
(Номенклатура.Сертификат.СрокДейст < ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, &Дни)
ИЛИ Номенклатура.Сертификат.ДатаОкон < ДОБАВИТЬКДАТЕ(&ТекущаяДата, ДЕНЬ, &Дни))
Параметры вроде все указал
Может дата пустая, поэтому и возникает ошибка.
Разобрался. Строка написана руками. При написании с использованием конструктора запросов в СКД та же самая строчка работает нормально.
Видимо какой-то локальный глюк 1с.
Теги:
- Форум База
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
Синтаксическая ошибка в запросе СКД
Похожие темы (5)
Поиск
Здравствуйте, уважаемый форум.Очень прошу помощи.В типовом отчете «Расчетные листки» меняю макет, при этом заполняя параметры группировок и изменяя в варианте вывода отчета группировки.Но при запуске отчета получаю ошибку Код {ВнешнийОтчет.РасчетныеЛистки.МодульОбъекта}: Ошибка при вызове метода контекста (Выполнить) МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Ошибка в выражении по причине: Синтаксическая ошибка Заранее благодарна за любые советы,идеи, мысли
Простите, что не точно охарактеризовала проблему.никак не найду ,можно ли на форуме добавить рисунок. а синтаксическая ошибка возникла после того, как я некоторые строки макета разбила и перенесла в другую группировку
выгрузи схему после изменений и попробуй запихнуть ее в консоль скд
«Рисунок» заливаю на а сюда ссылку на него. В профиль вставь фотку. Только так можно ожидать помощи…
20 лет ребенку… не занимайтесь педофилией
Какая педофилия после 18-ти?))) Уже можно во все тяжкие))
Ваше внимание к моей персоне,несомненно, мне приятно.Но если можно,пожалуйста, давайте вернемся к теме. Фото обещаю выложить
Все так говорят… А вот ты выложи сначала
И на ничего не понятно… Хоть бы обвела куда смотреть…
был внешний вид рис.1, стал рис.2.Данные остались те же, что и были. Параметры в новых группировках заполнила.
Все параметры перенесла? в других макетах все так же осталось? Уверена?
да, уверена. параметров пустых ни в одной группировке нет. других макетов нет
У меня в 2.5.66 не открывается. Предыдущие релизы ставить лень
В других макетах в том же отчете. Имею ввиду макеты других группировок и полей, которые уже описаны в станадртном отчете
УПП поди для Украины. sweety-twetty 10 — 10.12.12 — 18:16 Клятвенно обещаю фотографию
Но вообще, они как две капли воды похожи были с год назад
я в теме писала — у меня УПП. в других группировках все заполнено
фото вроде бы отправила. Захожу в профиль фото старое, при попытке изменить новая фотка
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
bless18 |
|
||
---|---|---|---|
|
Добрый день! |
Yandex |
|
||
---|---|---|---|
|
E_Migachev |
|
||
---|---|---|---|
|
(0) bless18, так этот функционал по умолчанию сам настроен. Правк клавишей мыши, новый элемент. |
bless18 |
|
||
---|---|---|---|
|
В режме предприятие доступны сейчас варианты ВывестиСписок и НастройкаСписка.. |
E_Migachev |
|
||
---|---|---|---|
|
(2) bless18, на форме это табличное поле, какой его тип? |
bless18 |
|
||
---|---|---|---|
|
На форме это ПанельОтбора |
bless18 |
|
||
---|---|---|---|
|
С табличной частью, тип которой КомпоновщикНастроек.Настройки.Отбор |
bless18 |
|
||
---|---|---|---|
|
Это данные |
E_Migachev |
|
||
---|---|---|---|
|
да вроде все правильно. |
bless18 |
|
||
---|---|---|---|
|
почему-то нет, если только задать отбор в настройке отчета в режиме Предприятие |
E_Migachev |
|
||
---|---|---|---|
|
(8) bless18, воттт.. что-то не так *09 |
bless18 |
|
||
---|---|---|---|
|
Спасибо за совет. |
bless18 |
|
||
---|---|---|---|
|
а при формировании отчета выдается ошибка:
Ошибка компоновки макета |
E_Migachev |
|
||
---|---|---|---|
|
(11) bless18, зайди в конструктор запроса в СКД, там увидишь чего за ошибка |
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или . |