|
Вычисляемое поле в СКД - Синтаксическая ошибка | ☑ | ||
---|---|---|---|---|
0
Klesk
20.12.22
✎
16:02
|
Что не так?
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение Конец |
|||
1
Klesk
20.12.22
✎
16:06
|
|
|||
2
Klesk
20.12.22
✎
16:08
|
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Объект.Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда
|
|||
3
Klesk
20.12.22
✎
16:11
|
Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда
убрал Объект, все равно |
|||
4
Гипервизор
20.12.22
✎
16:29
|
(0) Что за ошибка-то? Этот модуль можно использовать в выражениях СКД?
|
|||
5
Klesk
20.12.22
✎
16:36
|
(4) Синтаксическая ошибка
{ОбщаяФорма.ФормаОтчета.Форма(1148)}: СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто); {ОбщаяФорма.ФормаОтчета.Форма(594)}: СформироватьНепосредственно(); по причине: Ошибка исполнения отчета по причине: Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата' по причине: Синтаксическая ошибка {ВнешнийОтчет.ВыручкаИСебестоимостьПродажСПочтовымиАдресами.МодульОбъекта(18)}: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); {ОбщаяФорма.ФормаОтчета.Форма(1148)}: СкомпоноватьРезультат(РежимКомпоновкиРезультата.Авто); по причине: Ошибка компоновки макета по причине: Ошибка в выражении "(Выбор когда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")).Количество()>0 Тогда УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты"))[0].Значение Конец)" по причине: Синтаксическая ошибка |
|||
6
Klesk
20.12.22
✎
16:42
|
Общий модуль конфигурации
Сервер, Внешнее соединение, Клиент (обычное приложение) Если оставить только УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")) ошибки нет |
|||
7
vicof
20.12.22
✎
16:51
|
УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")) = Неопределено у каких-нибудь записей
|
|||
8
Klesk
20.12.22
✎
17:22
|
(7) там Возврат Запрос.Выполнить().Выгрузить();
в любом случае таблица |
|||
9
Kassern
20.12.22
✎
17:25
|
(8) А зачем это делать в вычисляемом поле? Если речь идет про СКД, что мешает там получить нужную таблицу и привязать ее к основной?
|
|||
10
Klesk
20.12.22
✎
17:27
|
(9) нет, я могу и функцию запилить в общем модуле, просто интересно, почему так не получается
|
|||
11
Kassern
20.12.22
✎
17:28
|
(10) Потому что это корявое решение, пытаться получить таблицу в вычисляемое поле.
|
|||
12
Kassern
20.12.22
✎
17:30
|
Имхо все дело в синтаксисе, которые не проходит ваше выражение из-за точки.
|
|||
13
Kassern
20.12.22
✎
17:30
|
К функции вы можете обратиться, а вот через точку получить результат - вряд ли.
|
|||
14
Klesk
20.12.22
✎
17:30
|
(11) согласен, просто изначально думал это будет проще типовыми методами
|
|||
15
Renium1963
20.12.22
✎
17:31
|
А разве так можно "[0].Значение" ?
|
|||
16
Kassern
20.12.22
✎
17:32
|
(14) вы можете написать еще одну функцию, которая вернет первый элемент таблицы, либо неопределено (к примеру). И вот уже ее использовать, но все равно это корявое решение имхо))
|
|||
17
vicof
20.12.22
✎
17:37
|
Почта = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ДанныеОСотруднике.ФизическоеЛицо, Справочники.ВидыКонтактнойИнформации.EMailФизическиеЛица, ТекущаяДата, Истина);
|
|||
18
Kassern
20.12.22
✎
17:38
|
(17) А если у физического лица несколько почтовых ящиков?
|
|||
19
vicof
20.12.22
✎
17:43
|
(18) Или свою функцию запилить, чтобы возвращали список одной строчкой. Или сделать несколько полей для контактной информации, или брать первый. Для начала можно почитать задачу, а там уже принимать решение.
|
|||
20
Klesk
20.12.22
✎
19:12
|
(15) да, нельзя
Выражение вычисляемого поля описывается на языке выражений компоновки данных. В выражениях вычисляемого поля есть ограничение - в нем нельзя использовать вычисляемые поля. https://its.1c.ru/db/metod8dev/content/1810/hdoc |
|||
21
Klesk
20.12.22
✎
20:23
|
я "победил"... всё выводится
ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")),"Значение") |
|||
22
Klesk
20.12.22
✎
20:23
|
ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")),"Значение")[\1C] |
|||
23
Klesk
20.12.22
✎
20:23
|
ОбщегоНазначения.ВыгрузитьКолонку(УправлениеКонтактнойИнформацией.ЗначенияКонтактнойИнформацииОбъекта(Партнер,ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты")),"Значение")[\1С] |
|||
24
Renium1963
21.12.22
✎
10:43
|
(21) Ну, вот и все... а сколько бумаги исписали то на комментарии )))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |