0
vlasabo
17.08.16
✎
16:24
|
Доброго дня.
Вчера случился переезд с файловой базы на клиент-серверное взаимодействие, после этого как минимум одна функция работает некорректно. Понять причину не смог, помогите пожалуйста. Конфа самописка.
&НаКлиенте
Процедура НаименованиеОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
а=ПоискДублей(Текст);
Если (ЗначениеЗаполнено(а)) тогда
Отказ = Истина;
Ответ = Вопрос("Данный пациент уже существует." + Символы.ПС + "Если вы хотите изменить написание ФИО пациента - нажмите кнопку ""Нет""
|
|если желаете переместить пациента из группы прошедших лечение в группу лечащихся на данный момент - нажмите кнопку ""Да"" и в открывшемся окне нажмите желтую кнопку ""Обновить дату и переместить...""" +
Символы.ПС + Символы.ПС +Символы.ПС +"Закрыть форму создания пациента и перейти к существующему?",РежимДиалогаВопрос.ДаНет );
Если Ответ = КодВозвратаДиалога.Да тогда
ЭтаФорма.Модифицированность = Ложь;
ЭтаФорма.Закрыть();
ОткрытьЗначение(а);
КонецЕсли;
иначе ;
КонецЕсли;
КонецПроцедуры
Функция "ПоискДублей(...)" является запросом, который по переданным данным ищет пациентов с теме же ФИО и отдаёт нам назад выборку, в которой содержится найденная ссылка на элемент справочника. в переменной Текст, насколько я понимаю из справки, содержится строка, введенная оператором в поле Наименование. Процедура стартует после схода с поля ввода, НО: дубль обрабатывается корректно, возникает диалог и далее по плану. Если же дубля нет - поле очищается.
|
|
1
Mauser
17.08.16
✎
16:30
|
Описание:
Возникает при формировании значения по отредактированному тексту. Например, в момент перехода на другой элемент управления формы, при закрытии формы и т.д.
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере
|
|
2
vlasabo
17.08.16
✎
16:59
|
Воистиину я заведу себе резинового утёнка и буду излагать проблемы ему.
Решилось так:
Процедура НаименованиеОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, Параметры, СтандартнаяОбработка)
б=Текст;
а=ПоискДублей(Текст);
.
.
.
.
.
иначе Объект.Наименование=б;
КонецЕсли;
КонецПроцедуры
|
|