|
Заполнение документа из справочника | ☑ | ||
---|---|---|---|---|
0
nlv-lara
27.11.15
✎
14:56
|
Платформа 8.3 (управляемое приложение)
Как заполнить документ данными из справочника при выборе (изменении) объекта на форме документа? Есть код, который использовали в 8.2 - в 8.3 не работает, ругается: {Документ.Заказ.Форма.ФормаДокумента.Форма(21)}: Ошибка при вызове метода контекста (ПолучитьДанныеКлиента) Парам = НаСервере.ПолучитьДанныеКлиента(Объект.Клиент); по причине: Ошибка при вызове серверного метода. ........ по причине: Ошибка отображения типов: Отсутствует отображение для типа 'РезультатЗапроса' Подскажите, как правильно? |
|||
1
PR третий
27.11.15
✎
14:57
|
(0) Правильно не передавать результат запроса
|
|||
2
nlv-lara
27.11.15
✎
14:59
|
в 8.2 работало так:
общий модуль НаСервере Функция ПолучитьДанныеКлиента(Клиент) Экспорт Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Партнеры.Сайт, | Партнеры.Адрес, | Партнеры.КонтактнаяИнформация.АдресЭП КАК АдресЭП, | Партнеры.КонтактнаяИнформация.НомерТелефона КАК НомерТелефона |ИЗ | Справочник.Партнеры КАК Партнеры |ГДЕ | Партнеры.КонтактнаяИнформация.Ссылка = &Клиент | И Партнеры.Ссылка = &Клиент"; Запрос.УстановитьПараметр("Клиент", Клиент); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); СписокДанных = Новый Структура; СписокДанных.Вставить("Сайт"); СписокДанных.Вставить("Адрес"); СписокДанных.Вставить("Телефон"); СписокДанных.Вставить("EMail"); Если Выборка.Количество() = 0 Тогда Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = "Данные по клиенту отсутствуют"; Сообщение.Сообщить(); Иначе Пока Выборка.Следующий() Цикл СписокДанных.Сайт = Выборка.Сайт; СписокДанных.Адрес = Выборка.Адрес; СписокДанных.Телефон = Выборка.НомерТелефона; СписокДанных.EMail = Выборка.АдресЭП; КонецЦикла; КонецЕсли; Возврат СписокДанных; КонецФункции |
|||
3
nlv-lara
27.11.15
✎
15:00
|
ну и модуль в форме документа:
&НаКлиенте Процедура КлиентПриИзменении(Элемент) Парам = НаСервереИГ.ПолучитьДанныеКлиента(Объект.Клиент); Объект.Сайт = Парам.Сайт; Объект.Адрес = Парам.Адрес; Объект.Телефон = Парам.Телефон; Объект.EMail = Парам.EMail; КонецПроцедуры |
|||
4
nlv-lara
27.11.15
✎
15:02
|
(1) Как правильно передать?
|
|||
5
VikingKosmo
27.11.15
✎
15:08
|
(4) почитать что книгу Радченко и сделать правильно
|
|||
6
Сергиус
28.11.15
✎
03:22
|
(0)У общего модуля НаСервере какие галки стоят? Если есть Клиент, убери его.
|
|||
7
hhhh
28.11.15
✎
05:22
|
(6)+ и Вызов сервера нужно
|
|||
8
nlv-lara
28.11.15
✎
09:04
|
(6) Галки стоят: сервер и вызов сервера.
(5) Читала, есть разбор, как заполнять ТЧ. Мне надо заполнить шапку данными клиента при выборе (изменении) клиента. |
|||
9
hhhh
28.11.15
✎
10:55
|
(8) ну так
&НаКлиенте Процедура КлиентПриИзменении(Элемент) КлиентПриИзмененииНаСервере(); КонецПроцедуры &НаСервере Процедура КлиентПриИзмененииНаСервере() Объект.Сайт = Объект.Клиент.Сайт; Объект.Адрес = Объект.Клиент.Адрес; Объект.Телефон = Объект.Клиент.Телефон; Объект.EMail = Объект.Клиент.EMail; КонецПроцедуры |
|||
10
Горогуля
28.11.15
✎
10:56
|
а сразу оно не покажется? зачем все эти буквы?
|
|||
11
Cyberhawk
28.11.15
✎
14:31
|
(3) "Парам = НаСервереИГ.ПолучитьДанныеКлиента(Объект.Клиент)"
На сервере ИГИЛ? |
|||
12
FIXXXL
28.11.15
✎
20:44
|
Сунь результат запроса в структуру и передавай
|
|||
13
Сергиус
29.11.15
✎
00:15
|
(8)Скинь конфу на какой-ть файлообменник, посмотрим.
|
|||
14
nlv-lara
30.11.15
✎
11:37
|
(9) Первая часть кода замечательно работает, спасибо.
Объект.Сайт = Объект.Клиент.Сайт; Объект.Адрес = Объект.Клиент.Адрес; Вторая часть в справочнике (Телефон и EMail) находится в ТЧ. Вот тут пробовала так: Объект.Телефон = Объект.Клиент.КонтактнаяИнформация.Телефон; Объект.EMail = Объект.Клиент.КонтактнаяИнформация.EMail; не работает. Как вытащить из ТЧ справочника на форму документа? В документе это не ТЧ... |
|||
15
nlv-lara
03.12.15
✎
11:27
|
Задача решена. Вопрос закрыт!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |