|
8.3 управляемые формы | ☑ | ||
---|---|---|---|---|
0
Vyacheslav_UZ
10.07.16
✎
16:15
|
Добрый день. Делаю кнопку заполнить на 8.3 Самописная конфигурация. Мне нужно передать с клиента один параметр,который я получаю посредством "ВвестиЗначение" на Сервер где это будет условием для запроса.Как передать "МеждународнееНаименование" это наименование как условия для парметров запроса?
&НаКлиенте Процедура Заполнить(Отказ) ВыбЗнач = Неопределено; Если ВвестиЗначение(ВыбЗнач, "Введите значение", "СправочникСсылка.МеждународныеНаименования") Тогда Сообщить("Введенное значение: "+ВыбЗнач); КонецЕсли; МеждународнееНаименование = ВыбЗнач; КонецПроцедуры &НаСервере Процедура РезультатЗапроса(Переменная) ТЗ = Объект.Медикаменты.Выгрузить(); Тз.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Медикаменты.Наименование, | Медикаменты.ФирмаСтранаПроизводитель, | Медикаменты.ФармакотерапевтическаяГруппа, | Медикаменты.ЛекарственнаяФорма, | Медикаменты.МеждународнееНаименование |ИЗ | Справочник.Медикаменты КАК Медикаменты |ГДЕ | Медикаменты.МеждународнееНаименование = &МеждународнееНаименование"; Запрос.УстановитьПараметр("МеждународнееНаименование", ?(НЕ(ЗначениеЗаполнено(МеждународнееНаименование)),Неопределено,МеждународнееНаименование)); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(?(НЕ(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)),"НЕТ", ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)); ЗаполнитьЗначенияСвойств(ТЗ,ВыборкаДетальныеЗаписи); КонецЦикла; КонецПроцедуры |
|||
1
Звездец
10.07.16
✎
16:18
|
Передавай при вызове процедуры. Проблема в чем?
|
|||
2
Звездец
10.07.16
✎
16:19
|
ты же нигде не вызываешь серверную процедуру
|
|||
3
Vyacheslav_UZ
10.07.16
✎
16:19
|
Звездец Пример если можно.
|
|||
4
Звездец
10.07.16
✎
16:19
|
Блин, и пиписька под ником длиннее, а вопрос хм
|
|||
5
ИсчадиеADO
10.07.16
✎
16:22
|
(4) дык у тебя небось это уже 2ая али 3ая)))
|
|||
6
ИсчадиеADO
10.07.16
✎
16:22
|
ЗмийГорыныч ептыть
|
|||
7
jsmith
10.07.16
✎
16:25
|
&НаКлиенте
Процедура ЗаполнитьМедикаменты() ВыбЗнач = Неопределено; Если ВвестиЗначение(ВыбЗнач, "Введите значение", "СправочникСсылка.МеждународныеНаименования") Тогда ЗаполнитьМедикаментыНаСервере(ВыбЗнач); КонецЕсли; КонецПроцедуры &НаСервере Процедура ЗаполнитьМедикаментыНаСервере(Парам) ТЗ = Объект.Медикаменты.Выгрузить(); Тз.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Медикаменты.Наименование, | Медикаменты.ФирмаСтранаПроизводитель, | Медикаменты.ФармакотерапевтическаяГруппа, | Медикаменты.ЛекарственнаяФорма, | Медикаменты.МеждународнееНаименование |ИЗ | Справочник.Медикаменты КАК Медикаменты |ГДЕ | Медикаменты.МеждународнееНаименование = &МеждународнееНаименование"; Запрос.УстановитьПараметр("МеждународнееНаименование", &Парам); ТЗ = Запрос.Выполнить().Выгрузить(); Объект.Медикаменты.Загрузить(ТЗ); КонецПроцедуры |
|||
8
Vyacheslav_UZ
10.07.16
✎
16:29
|
Зделал только тз не заполняет.
&НаКлиенте Процедура Заполнить(Отказ) ВыбЗнач = Неопределено; Если ВвестиЗначение(ВыбЗнач, "Введите значение", "СправочникСсылка.МеждународныеНаименования") Тогда Сообщить("Введенное значение: "+ВыбЗнач); КонецЕсли; МеждународнееНаименование = ВыбЗнач; РезультатЗапроса(МеждународнееНаименование) КонецПроцедуры &НаСервере Процедура РезультатЗапроса(МеждународнееНаименование) ТЗ = Объект.Медикаменты.Выгрузить(); Тз.Очистить(); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Медикаменты.Наименование, | Медикаменты.ФирмаСтранаПроизводитель, | Медикаменты.ФармакотерапевтическаяГруппа, | Медикаменты.ЛекарственнаяФорма, | Медикаменты.МеждународнееНаименование |ИЗ | Справочник.Медикаменты КАК Медикаменты |ГДЕ | Медикаменты.МеждународнееНаименование = &МеждународнееНаименование"; Запрос.УстановитьПараметр("МеждународнееНаименование", ?(НЕ(ЗначениеЗаполнено(МеждународнееНаименование)),Неопределено,МеждународнееНаименование)); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Сообщить(?(НЕ(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)),"НЕТ", ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)); ЗаполнитьЗначенияСвойств(ТЗ,ВыборкаДетальныеЗаписи); КонецЦикла; КонецПроцедуры |
|||
9
Mankubus
10.07.16
✎
16:35
|
(8) А сообщения выводит?
|
|||
10
Vyacheslav_UZ
10.07.16
✎
16:44
|
да выводит
|
|||
11
jsmith
10.07.16
✎
16:55
|
Процедура Заполнить(Отказ)
ВыбЗнач = Неопределено; Если ВвестиЗначение(ВыбЗнач, "Введите значение", "СправочникСсылка.МеждународныеНаименования") Тогда Сообщить("Введенное значение: "+ВыбЗнач); КонецЕсли; МеждународнееНаименование = ВыбЗнач; РезультатЗапроса(МеждународнееНаименование) КонецПроцедуры Вызов процедуры РезультатЗапроса(МеждународнееНаименование) происходит безусловно, выбрал юзер значение или нет. Суй его в условие как у меня. |
|||
12
jsmith
10.07.16
✎
16:57
|
Запрос.УстановитьПараметр("МеждународнееНаименование", ?(НЕ(ЗначениеЗаполнено(МеждународнееНаименование)),Неопределено,МеждународнееНаименование));
Тернарный оператор ни к чему. Оттого, что ты выставишь параметр в Неопределено, ничего не случится. Пиши просто. Запрос.УстановитьПараметр("МеждународнееНаименование", МеждународнееНаименование); |
|||
13
jsmith
10.07.16
✎
16:58
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(?(НЕ(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)),"НЕТ", ВыборкаДетальныеЗаписи.ЛекарственнаяФорма)); ЗаполнитьЗначенияСвойств(ТЗ,ВыборкаДетальныеЗаписи); КонецЦикла; Ты пытаешься заполнить таблицу значений выборкой из результата запроса, то есть запихать одну строку в целую таблицу. Это неправильно даже технически. |
|||
14
jsmith
10.07.16
✎
16:58
|
В общем, у тебя каша в голове, мой друг.
|
|||
15
bolder
10.07.16
✎
17:01
|
(10) заполнение тз на сервере не изменяет объект. См.(7).
(14) +100500 |
|||
16
Vyacheslav_UZ
11.07.16
✎
13:34
|
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщить(?(НЕ(ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.МеждународнееНаименование)),"НЕТ", ВыборкаДетальныеЗаписи.МеждународнееНаименование)); Объект.Медикаменты.Загрузить(ТЗ); КонецЦикла; |
|||
17
RomaH
naïve
11.07.16
✎
13:54
|
такое международнОЕ наименование, что Международнее некуда
|
|||
18
RomaH
naïve
11.07.16
✎
13:55
|
здесь здание здоровье
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |