Имя: Пароль:
1C
1С v8
Как при открытии нового документа открыть уже существующий?
0 RomaH
 
naïve
20.11.13
12:22
Суть проблемы
должен создаваться на пациента только один документ в день
если документ уже есть за сегодня, то при попытке создать документ - открывать существующий

Хочу этот алгоритм где-нибудь в обработке заполнения

1. - это возможно?
2. как?
1 Жан Пердежон
 
20.11.13
12:25
проверять и открывать надо раньше (еще до обработки заполнения)
2 Ksandr
 
20.11.13
12:26
Либо уже когда дошло дело до открытия формы.
Отказ = Истина;
ОткрытьФорму(...)
3 el7cartel
 
20.11.13
12:28
(1) запрос в обработчике перед открытием! как-то так наверное
4 1dvd
 
20.11.13
12:29
Откуда 1С при открытии знает на какого поциента создается документ? Документ вводится на основании?
5 RomaH
 
naïve
20.11.13
12:30
т.е. что-то типа такого не получится? никогда?
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    
    Запрос = Новый Запрос;
    
    Запрос.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ОбращениеПациента.Ссылка
    |ИЗ
    |    Документ.ОбращениеПациента КАК ОбращениеПациента";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Если Выборка.Следующий() Тогда
        СсылкаНаСуществующий = Выборка.Ссылка;
        ДанныеЗаполнения.Вставить("Ключ",СсылкаНаСуществующий);
    КонецЕсли;                                
    
КонецПроцедуры
6 butterbean
 
20.11.13
12:31
(5) это надо в передОткрытием
7 RomaH
 
naïve
20.11.13
12:31
и создавать документ или открывать существующий надо до открытия формы?

Процедура КомандаЗарегистрироватьОбращение(Команда)
    
    ПараметрыОткрытияФормы = Новый Структура("ЗначенияЗаполнения",Новый Структура("Пациент",Элементы.Список.ТекущаяСтрока));
    
    ОткрытьФорму("Документ.ОбращениеПациента.ФормаОбъекта",ПараметрыОткрытияФормы);
КонецПроцедуры
8 RomaH
 
naïve
20.11.13
12:32
(6) это где?
9 RomaH
 
naïve
20.11.13
12:32
формы - УФ
10 butterbean
 
20.11.13
12:34
(9) тогда в ПриОткрытии
11 el7cartel
 
20.11.13
12:41
(0) хм...сначала не понял...
а откуда вы пытаетесь создать документ?
12 RomaH
 
naïve
20.11.13
12:45
(11) из кода
но направление мысли правильно - а если через "Создать на основании"?
как тогда быть?
13 el7cartel
 
20.11.13
12:51
вам в любом случае нужно вводить пациента, дабы, чтобы проверить, имеется или нет док!
14 RomaH
 
naïve
20.11.13
12:59
(13) есть пациент в списке справоника
делаем ему ввод на основании
и пожалуйста
15 el7cartel
 
20.11.13
13:29
(14) и все получилось? значит отлично)))просто у меня был вопрос, откуда вы собирались вводить док, если из справочника "пациенты", то все отлично должно получаться! сначала проверка на наличие, а затем открытие формы!
16 RomaH
 
naïve
20.11.13
14:12
(14) пока все получилось через код - проверка, открытие
а вот как наоборот - открытие (ввод на основании) - проверка - открытие
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой