1с скд синтаксическая ошибка как найти

Всё работало хорошо, но вдруг перестало, после того, как я внес изменения в макет СКД:

При формировании отчета появлялась надпись «Синтаксическая ошибка» и всё.

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

Благо, CTRL+Z сработал и вернул изменения назад (каюсь, рабочей версии отчета не было).

Вздохнул было, но потом опять ошибка возникла. И тут до меня дошло — проблема в пустых ячейках, где указан тип ячейки «Параметр», но не указано, значение какого параметра брать. Поменял тип на Текст — и все заработало.

Экие тонкости в 1С, однако!

Вычисляемое поле в СКД — Синтаксическая ошибка

Я
   Klesk

20.12.22 — 16:02

Что не так?

Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)).Количество()>0 Тогда

УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))[0].Значение

Конец

   Klesk

1 — 20.12.22 — 16:06

[1C]

   Klesk

2 — 20.12.22 — 16:08

    Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда
    УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение

    Конец
   Klesk

3 — 20.12.22 — 16:11

Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда
    УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение

    Конец

убрал Объект, все равно

   Гипервизор

4 — 20.12.22 — 16:29

(0) Что за ошибка-то? Этот модуль можно использовать в выражениях СКД?

   Klesk

5 — 20.12.22 — 16:36

(4) Синтаксическая ошибка

{ОбщаяФорма.ФормаОтчета.Форма(1148)}:        СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);

{ОбщаяФорма.ФормаОтчета.Форма(594)}:        СформироватьНепосредственно();

по причине:

Ошибка исполнения отчета

по причине:

Ошибка при выполнении обработчика — ‘ПриКомпоновкеРезультата’

по причине:

Синтаксическая ошибка

{ВнешнийОтчет.ВыручкаИСебестоимостьПродажСПочтовымиАдресами.МодульОбъекта(18)}:    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);

{ОбщаяФорма.ФормаОтчета.Форма(1148)}:        СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто);

по причине:

Ошибка компоновки макета

по причине:

Ошибка в выражении «(Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)).Количество()>0 Тогда

    УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))[0].Значение

    Конец)»

по причине:

Синтаксическая ошибка

   Klesk

6 — 20.12.22 — 16:42

Общий модуль конфигурации

Сервер, Внешнее соединение, Клиент (обычное приложение)

Если оставить только УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»))

ошибки нет

   vicof

7 — 20.12.22 — 16:51

УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)) = Неопределено у каких-нибудь записей

   Klesk

8 — 20.12.22 — 17:22

(7) там Возврат Запрос.Выполнить().Выгрузить();

в любом случае таблица

   Kassern

9 — 20.12.22 — 17:25

(8) А зачем это делать в вычисляемом поле? Если речь идет про СКД, что мешает там получить нужную таблицу и привязать ее к основной?

   Klesk

10 — 20.12.22 — 17:27

(9) нет, я могу и функцию запилить в общем модуле, просто интересно, почему так не получается

   Kassern

11 — 20.12.22 — 17:28

(10) Потому что это корявое решение, пытаться получить таблицу в вычисляемое поле.

   Kassern

12 — 20.12.22 — 17:30

Имхо все дело в синтаксисе, которые не проходит ваше выражение из-за точки.

   Kassern

13 — 20.12.22 — 17:30

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

   Klesk

14 — 20.12.22 — 17:30

(11) согласен, просто изначально думал это будет проще типовыми методами

   Renium1963

15 — 20.12.22 — 17:31

А разве так можно «[0].Значение» ?

   Kassern

16 — 20.12.22 — 17:32

(14) вы можете написать еще одну функцию, которая вернет первый элемент таблицы, либо неопределено (к примеру). И вот уже ее использовать, но все равно это корявое решение имхо))

   vicof

17 — 20.12.22 — 17:37

Почта   = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеОСотруднике.ФизическоеЛицо, Справочники.ВидыКонтактнойИнформации.EMailФизическиеЛица,            ТекущаяДата, Истина);

   Kassern

18 — 20.12.22 — 17:38

(17) А если у физического лица несколько почтовых ящиков?

   vicof

19 — 20.12.22 — 17:43

(18) Или свою функцию запилить, чтобы возвращали список одной строчкой. Или сделать несколько полей для контактной информации, или брать первый. Для начала можно почитать задачу, а там уже принимать решение.

   Klesk

20 — 20.12.22 — 19:12

(15) да, нельзя

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

https://its.1c.ru/db/metod8dev/content/1810/hdoc

   Klesk

21 — 20.12.22 — 20:23

я «победил»… всё выводится

ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)),»Значение»)

   Klesk

22 — 20.12.22 — 20:23

[1C]ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение(«Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты»)),»Значение»)[1C]

   Klesk

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)

Рейтинг@Mail.ru

Rambler's Top100

Поиск

Здравствуйте, уважаемый форум.Очень прошу помощи.В типовом отчете «Расчетные листки» меняю макет, при этом заполняя параметры группировок и изменяя в варианте вывода отчета группировки.Но при запуске отчета получаю ошибку Код {ВнешнийОтчет.РасчетныеЛистки.МодульОбъекта}: Ошибка при вызове метода контекста (Выполнить)   МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Ошибка в выражении по причине: Синтаксическая ошибка Заранее благодарна за любые советы,идеи, мысли

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

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

«Рисунок» заливаю на а сюда ссылку на него. В профиль вставь фотку. Только так можно ожидать помощи… :)

20 лет ребенку… не занимайтесь педофилией :)

Какая педофилия после 18-ти?))) Уже можно во все тяжкие))

Ваше внимание к моей персоне,несомненно, мне приятно.Но если можно,пожалуйста, давайте вернемся к теме. Фото обещаю выложить

Все так говорят… А вот ты выложи сначала :)

И на ничего не понятно… Хоть бы обвела куда смотреть…

был внешний вид рис.1, стал рис.2.Данные остались те же, что и были. Параметры в новых группировках заполнила.

Все параметры перенесла? в других макетах все так же осталось? Уверена?

да, уверена. параметров пустых ни в одной группировке нет. других макетов нет

У меня в 2.5.66 не открывается. Предыдущие релизы ставить лень

В других макетах в том же отчете. Имею ввиду макеты других группировок и полей, которые уже описаны в станадртном отчете

УПП поди для Украины. sweety-twetty 10 — 10.12.12 — 18:16 Клятвенно обещаю фотографию

Но вообще, они как две капли воды похожи были с год назад

я в теме писала — у меня УПП.  в других группировках все заполнено

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

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

bless18
22.11.2012 11:08 Прочитано: 3997

Добрый день!
Мучаюсь не могу найти, как в режиме предприятия добавить новый элемент отбора через контекстное меню.
Если кликнуть по строке таблицы с отборами, то в доступны меню вывести и настроить список.
Как в СКД настроить добавление нового элемента отбора через контекстное меню?
Подскажите, пожалуйста..

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
22.11.2012 12:09 Ответ № 1

(0) bless18, так этот функционал по умолчанию сам настроен. Правк клавишей мыши, новый элемент.

bless18
22.11.2012 12:29 Ответ № 2

В режме предприятие доступны сейчас варианты ВывестиСписок и НастройкаСписка..
а в режиме конфигуратор да — правой кнопкой, НовыйЭлемент..

E_Migachev
22.11.2012 13:03 Ответ № 3

(2) bless18, на форме это табличное поле, какой его тип?

bless18
22.11.2012 13:19 Ответ № 4

На форме это ПанельОтбора

bless18
22.11.2012 13:20 Ответ № 5

С табличной частью, тип которой КомпоновщикНастроек.Настройки.Отбор

bless18
22.11.2012 13:21 Ответ № 6

Это данные )
а тип: ОтборКомпоновкиДанных

E_Migachev
22.11.2012 14:14 Ответ № 7

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

bless18
22.11.2012 14:20 Ответ № 8

почему-то нет, если только задать отбор в настройке отчета в режиме Предприятие

E_Migachev
22.11.2012 15:23 Ответ № 9

(8) bless18, воттт.. что-то не так *09
попробуй удалить таб поле с формы добавить по новой

bless18
22.11.2012 15:38 Ответ № 10

Спасибо за совет.
Заработало! )

bless18
22.11.2012 15:50 Ответ № 11

а при формировании отчета выдается ошибка:

Ошибка компоновки макета
по причине:
Ошибка в выражении
по причине:
Синтаксическая ошибка

E_Migachev
22.11.2012 16:23 Ответ № 12

(11) bless18, зайди в конструктор запроса в СКД, там увидишь чего за ошибка

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

  • 1с синтаксическая ошибка объединить все
  • 1с синтаксическая ошибка неверноеимятекущейтаблицы
  • 1с синтаксическая ошибка неверное имя текущей таблицы
  • 1с сервер ошибка создания кластера
  • 1с сервер ошибка при выполнении файловой операции