|
Вставка адреса электронной почты во внешнюю печатную форму | ☑ | ||
---|---|---|---|---|
0
Djonc
25.11.22
✎
08:50
|
Добрый день! Конфигурация "Управление торговлей", редакция 10.3
Есть задача вставит адрес электронной почты из справочника организации из контактной информации. Сделал запрос на ТЧ результат пустой. Что может быть не так? Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Вид = &Вид |"; Запрос.УстановитьПараметр("Вид", Справочники.Организации.НайтиПоНаименованию("АдресЭП")); АдресЭП = Запрос.Выполнить().Выбрать(); ОбластьМакета.Параметры.АдресЭП = АдресЭП; |
|||
1
Kesim
25.11.22
✎
08:58
|
(0) Запрос.Выполнить().Выбрать() - возвращает выборку , это еще не совсем адресЭП, нужно выборка.следующий()
|
|||
2
Ryzeman
25.11.22
✎
09:06
|
В УТ 10.3 нет в БСП что-нибудь вроде УправлениеКонтактнойИнформацией.АдресЭлектроннойПочты() ?
|
|||
3
Serg_1960
25.11.22
✎
09:09
|
Запрос в принципе кривой. "Справочники.Организации.НайтиПоНаименованию("АдресЭП")" - пятнично.
|
|||
4
Ryzeman
25.11.22
✎
09:10
|
(3) Сперва подумал что не так, а потом как понял 😃 Ну, ТС похоже только учится) Простительно)
|
|||
5
Serg_1960
25.11.22
✎
09:15
|
Если мне память неизменяет, то в УТ надо писать как-то вот так:
Запрос.УстановитьПараметр("Вид", Перечисления.ВидыОбъектовКонтактнойИнформации.Организации); |
|||
6
Kassern
25.11.22
✎
09:16
|
(0) Откройте в предприятии этот регистр сведений КонтактнаяИнформация и гляньте, что там внутри. После осмотра у вас должно быть осознание, что он общий и там хранятся различные контактные данные не только вашей организации, а еще и адреса/телефоны/почты контрагентов и т.д.
Когда вы это заметите, то у вас должна появиться мысль, а как с отбором "КонтактнаяИнформация.Вид = &Вид " я получу почту именно нужной организации. На помощь придет измерение объект (или как-то так в ут10) |
|||
7
Kassern
25.11.22
✎
09:17
|
(3) Человек хотел сделать отбор по организации КИ, а указал это для вида)
|
|||
8
Guk
25.11.22
✎
09:18
|
(5) и что такой запрос вернет?...
|
|||
9
Djonc
25.11.22
✎
09:20
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | КонтактнаяИнформация.Представление |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Вид = &Вид |"; Запрос.УстановитьПараметр("Вид", Перечисления.ВидыОбъектовКонтактнойИнформации.Организации); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл АдресЭП = ВыборкаДетальныеЗаписи; КонецЦикла; Попробовал так, тоже пусто. |
|||
10
Kassern
25.11.22
✎
09:20
|
(5) (8) Все же просто, открываешь конфу, щелк щелк и ты в нужном регистре, смотришь типы данных и делаешь правильные условия
|
|||
11
Kassern
25.11.22
✎
09:21
|
(9) Какой тип значения у измерения "Вид" в РС КонтактнаяИнформация?
Где у вас отбор по нужному объекту КИ? |
|||
12
Ryzeman
25.11.22
✎
09:22
|
(11) Я всё же голосую за то, что бы человека БСП сразу учить пользоваться) А потом уже можно подсказать как правильно запросы писать)
|
|||
13
Kassern
25.11.22
✎
09:23
|
(12) Имхо, джун должен уметь писать запросы, должен понимать как фильтровать таблицы и получать нужный результат.
|
|||
14
Djonc
25.11.22
✎
09:23
|
СправочникСсылка.ВидыКонтактнойИнформации, Строка
|
|||
15
Kassern
25.11.22
✎
09:23
|
Тут даже связей никаких не надо, просто обратиться к таблице и отобрать по колонкам (измерениям)
|
|||
16
Kassern
25.11.22
✎
09:24
|
(14) А вы, что в параметры пихаете?) Не находите, что ВидыОбъектовКонтактнойИнформации<>ВидыКонтактнойИнформации?
|
|||
17
Dotoshin
25.11.22
✎
09:24
|
(0) Это тестовое задание при приеме на работу?
|
|||
18
Ryzeman
25.11.22
✎
09:25
|
(14) Ну, а у тебя в (9)
Перечисления.ВидыОбъектовКонтактнойИнформации.Организации ТЫ должен в запросе два условия делать раздельно. Одно - по виду контактной информации, другое по организации. Смотри таблицы, в которых отбираешь, и думай что куда |
|||
19
Ryzeman
25.11.22
✎
09:25
|
(17) Для УТ 10.3?...
|
|||
20
Kassern
25.11.22
✎
09:26
|
сделайте, как я написал выше. Откройте этот регистр в предприятии и посмотрите как там инфа хранится. Вы можете прямо в предприятии сделать отбор списка и получить нужную строчку. А потом лишь повторить эти действия в конфигураторе.
|
|||
21
Djonc
25.11.22
✎
09:26
|
Ребята я самоучка, есть необходимость поправить внешнюю форму, вот экстренно и изучаю
|
|||
22
Kassern
25.11.22
✎
09:27
|
(21) Запросы осилите, дальше будет легче)
|
|||
23
Dotoshin
25.11.22
✎
09:27
|
(19) Ну а какая разница? У меня вообще как-то на собесе спросили что такое отладчик:))
|
|||
24
Serg_1960
25.11.22
✎
09:27
|
(9) Если поменять только эту одну строчку - тоже ничего не вернёт. Имхается мне что в УТ оно по другому перечислению работает. Да и что-то мне подсказывает, что владелец контактной информации - тоже нужен :)
|
|||
25
Dotoshin
25.11.22
✎
09:31
|
(21) Тогда держи https://www.youtube.com/playlist?list=PLkdnTy1CsgR1phYcN8Ts1HD2AugrAVgRd
и успехов тебе в этом нелегком деле |
|||
26
Dotoshin
25.11.22
✎
09:32
|
+ (25) Там долго и нудно, но лучше день потерять, потом за 5 минут долететь (с)
|
|||
27
Djonc
25.11.22
✎
09:32
|
Спасибо! Изучу
|
|||
28
ass1c
25.11.22
✎
09:33
|
EmailОрганизации = УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ЭтотОбъект.Организация, Справочники.ВидыКонтактнойИнформации.EmailОрганизации, ТекущаяДата(), Истина);
|
|||
29
Djonc
25.11.22
✎
09:43
|
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Организация) |
|||
30
Serg_1960
25.11.22
✎
09:46
|
УТ нет, есть УПП (что почти одно и тоже :)
АдресЭП = УправлениеЭлектроннойПочтой.ОпределитьАдресПолучателя(Справочники.Организации.НайтиПоНаименованию("ХХХ")); |
|||
31
Serg_1960
25.11.22
✎
09:49
|
"ХХХ" - это наименование организации и оно точно не "АдресЭП" :)
|
|||
32
Djonc
25.11.22
✎
09:56
|
"ХХХ" сюда наверное не подойдет, необходимо выбирать из выбранной организации. Больше подходит ЭтотОбъект.Организация, но выдает ошибку не находит организацию
|
|||
33
Dotoshin
25.11.22
✎
09:56
|
Открой регистр контактная информация и посмотри, что и как в нем хранится. Может так легче будет понять, как запрос построить...
|
|||
34
Serg_1960
25.11.22
✎
09:59
|
(32) Мда... тяжелый случай, я - пас. Объяснять, что вместо "ХХХ" нужно указывать наименование организации или контрагента... нет, я - пас.
|
|||
35
Ryzeman
25.11.22
✎
10:04
|
||||
36
Dotoshin
25.11.22
✎
10:07
|
Вот здесь конкретно про запросы https://www.youtube.com/watch?v=IN6Zb75OnqU&t=1995s
Может чем-то поможет... |
|||
37
Ryzeman
25.11.22
✎
10:09
|
(32) Оно ж по русски написано) Ну чуть чуть включи воображение и представь что может делать метод Справочники.Организации.НайтиПоНаименованию(). Ищет по наименованию ссылку на справочник, внезапно) Значит надо искать по наименованию организации)
|
|||
38
Serg_1960
25.11.22
✎
10:09
|
||||
39
Dotoshin
25.11.22
✎
10:31
|
(37) Что вы накинулись на человека? Может он там единственный технический специалист, вот его и попросили печатную форму поправить.
Помните была тема про программиста-геодезиста? :) Там тоже человек спрашивал, как в 1с что-то подправить, а потом выяснилось, что он вовсе геодезист :))) |
|||
40
Dotoshin
25.11.22
✎
10:33
|
||||
41
Djonc
25.11.22
✎
10:38
|
(39) Спасибо за поддержку, я действительно только месяц как начал править конфигурацию. На специалиста денег не выделяется, приходится совмещать.
Спасибо всем за помощь. Видео уроки обязательно изучу и найду решение |
|||
42
Dotoshin
25.11.22
✎
10:49
|
(41) А ты кем там работаешь, если не секрет?
|
|||
43
Djonc
25.11.22
✎
10:51
|
Менеджер по продажам
|
|||
44
Djonc
25.11.22
✎
10:53
|
А еще программист станков с ЧПУ и программист оборудования на базе Дельта электроникс.
|
|||
45
Kesim
25.11.22
✎
10:58
|
(41) практическое пособие разработчика 1с предприятие 8.3 нагугли, и сделай настольной книгой)
|
|||
46
Мимохожий Однако
25.11.22
✎
10:58
|
ОФФ. "Я еще вышивать могу. И на машинке.."© Кот Матроскин
|
|||
47
Ryzeman
25.11.22
✎
11:14
|
(40) Не, не видел. Я тогда ещё с 1с не работал) Блин, угарно) Спасибо))
|
|||
48
Djonc
25.11.22
✎
16:41
|
Столкнулся с новой ошибкой, подскажите, что тут не так?
Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. (КонтактнаяИнформация.Объект <<?>>= &Объект) |
|||
49
Kassern
25.11.22
✎
16:42
|
(48) Что в &Объект пихаете?
|
|||
50
Djonc
25.11.22
✎
16:44
|
Запрос.УстановитьПараметр("Объект", Справочники.Организации);
|
|||
51
Kassern
25.11.22
✎
16:54
|
(50) продолжайте изучение книжки по 1с. У вас не правильное значение параметра
|
|||
52
Kassern
25.11.22
✎
16:56
|
У вас должна быть ссылка на нужную организацию, а не СправочникМенеджер.Организации
|
|||
53
Djonc
28.11.22
✎
09:17
|
Заработало по команде-
АдресЭП = УправлениеЭлектроннойПочтой.ОпределитьАдресПолучателя(СсылкаНаОбъект.Организация); ОбластьМакета.Параметры.АдресЭП = АдресЭП; |
|||
54
Kassern
28.11.22
✎
09:22
|
(53) Хотя бы перейдите по этой функции (F12 по ней) и посмотрите запрос. Сразу будет понятно, что вы делали не так
|
|||
55
Serg_1960
28.11.22
✎
10:13
|
(54) У автора базовых знаний, имхо, недостаточно, чтобы вот так "сразу станет понятно". Нашёл откуда ссылку на организацию подставить - и то хорошо. Главное работает.
«If it ain’t broke, don’t fix it»(с) - «Работает - не трогай»(с) |
|||
56
Djonc
28.11.22
✎
17:20
|
С запросом разобрался. У меня заработал такой вариант.
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Объект", СсылкаНаОбъект.Организация); Запрос.УстановитьПараметр("Тип" , Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты); Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | КонтактнаяИнформация.Представление, | КонтактнаяИнформация.ЗначениеПоУмолчанию |ИЗ | РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация |ГДЕ | КонтактнаяИнформация.Объект = &Объект | И | КонтактнаяИнформация.Тип = &Тип |"; АдресЭП = ""; ТаблицаЗапроса = Запрос.Выполнить().Выгрузить(); АдресЭП = ТаблицаЗапроса[0].Представление; |
|||
57
Kassern
28.11.22
✎
17:23
|
(56) молодец, разобрался с параметрами.
|
|||
58
ass1c
28.11.22
✎
17:26
|
(56) Для организации без адреса электронной почты (отсутствие записи в регистре сведений КонтактнаяИнформация):
"Индекс находится за границами массива" |
|||
59
Kassern
28.11.22
✎
17:27
|
(58) Пускай это будет сюрпризом)
После начнет проверки в коде делать на пустой запрос, либо пользоваться конструкцией Выборка.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда... |
|||
60
ass1c
28.11.22
✎
17:30
|
(59) главное что бы это не был вопрос следующего поста от автора)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |