|
Передать реквизит формы обрабоки в параметр запроса | ☑ | ||
---|---|---|---|---|
0
applesound
15.01.20
✎
11:33
|
Передать реквизит формы обрабоки в параметр запроса
Добрый день. Делаю простую обработку заполнения табличной части. Сложность в передаче параметра из формы в запрос Партнер. На форме обработки вывел реквизит Партнер (ТИП: СправочникСсылка.Партнеры) и команду ЗаполнитьКИ &НаКлиенте Процедура ЗаполнитКИ(Команда) ЗаполнитКИНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаполнитКИНаСервере() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартнерыКонтактнаяИнформация.Представление КАК Представление, | ПартнерыКонтактнаяИнформация.Ссылка КАК Ссылка, | ПартнерыКонтактнаяИнформация.НомерТелефона КАК НомерТелефона, | ПартнерыКонтактнаяИнформация.НомерТелефонаБезКодов КАК НомерТелефонаБезКодов |ИЗ | Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация |ГДЕ | НЕ ПартнерыКонтактнаяИнформация.Представление = """" | И НЕ ПартнерыКонтактнаяИнформация.НомерТелефона = """" | И НЕ ПартнерыКонтактнаяИнформация.НомерТелефонаБезКодов = """" | И ПартнерыКонтактнаяИнформация.Представление ПОДОБНО ""[+][7][9]_________"" | И ПартнерыКонтактнаяИнформация.Ссылка = &Партнер | И ПартнерыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) | И ПартнерыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонПартнера)"; Запрос.УстановитьПараметр("Партнер", Партнер); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ПартнерОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); //Здесь займусь обработкой строк КонецЦикла; КонецПроцедуры |
|||
1
Kigo_Kigo
15.01.20
✎
11:37
|
&НаКлиенте
Процедура ЗаполнитКИ(ЭтаФорма.Партнер) ЗаполнитКИНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаполнитКИНаСервере(Партнер) |
|||
2
Kigo_Kigo
15.01.20
✎
11:39
|
*
&НаКлиенте Процедура ЗаполнитКИ() ЗаполнитКИНаСервере(ЭтаФорма.Партнер); КонецПроцедуры |
|||
3
applesound
15.01.20
✎
11:41
|
&НаКлиенте
Процедура ЗаполнитКИ(Команда) //Здесь заменить Команда на ЭтаФорма.Партнер ? ЗаполнитКИНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаполнитКИНаСервере() // Здесь добавить Партнер? |
|||
4
hhhh
15.01.20
✎
11:46
|
(3) у вас в (0) правильно
|
|||
5
Kigo_Kigo
15.01.20
✎
11:47
|
(3) &НаКлиенте
Процедура ЗаполнитКИ() ЗаполнитКИНаСервере(ЭтаФорма.Партнер);// или ЭтаФорма.Партнер.Ссылка КонецПроцедуры &НаСервере Процедура ЗаполнитКИНаСервере(Партнер) |
|||
6
applesound
15.01.20
✎
13:25
|
Обработку сделал. Всем спасибо за участие.
Есть методические неточности в исполнении: Поле ЗачениеПолей не должно заполняться текстом, в связи с неопытностью и отсутствием времени немного упростил решение. Если у кого появится желание исправить + 1000 в карму. Решение: &НаКлиенте Процедура ЗаполнитКИ(Команда) ЗаполнитКИНаСервере(); КонецПроцедуры &НаСервере Процедура ЗаполнитКИНаСервере() Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПартнерыКонтактнаяИнформация.Представление КАК Представление, | ПартнерыКонтактнаяИнформация.Ссылка КАК Ссылка |ИЗ | Справочник.Партнеры.КонтактнаяИнформация КАК ПартнерыКонтактнаяИнформация |ГДЕ | НЕ ПартнерыКонтактнаяИнформация.Представление = """" | И ПартнерыКонтактнаяИнформация.НомерТелефонаБезКодов = """" | И ПартнерыКонтактнаяИнформация.Представление ПОДОБНО ""[+][7][9]_________"" | И ПартнерыКонтактнаяИнформация.Ссылка = &Партнер | И ПартнерыКонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) | И ПартнерыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонПартнера)"; Запрос.УстановитьПараметр("Партнер",Партнер); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ПартнерОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); Для каждого Строки Из ПартнерОбъект.КонтактнаяИнформация Цикл Если Строки.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон И Строки.Вид = Справочники.ВидыКонтактнойИнформации.ТелефонПартнера Тогда Строки.НомерТелефона = ВыборкаДетальныеЗаписи.Представление; Строки.НомерТелефонаБезКодов = Прав(ВыборкаДетальныеЗаписи.Представление, 10); Строки.ЗначенияПолей = "<КонтактнаяИнформация xmlns=""http://www.v8.1c.ru/ssl/contactinfo"" xmlns:xs=""http://www.w3.org/2001/XMLSchema"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" Представление="""+Строки.НомерТелефонаБезКодов+"""><Состав xsi:type=""НомерТелефона"" КодСтраны="""" КодГорода="""" Номер="""+Строки.НомерТелефонаБезКодов+""" Добавочный=""""/></КонтактнаяИнформация>"; КонецЕсли; КонецЦикла; ПартнерОбъект.Записать(); Сообщить("Партнер: " +ПартнерОбъект+" успешно испрвлен"); КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |