Имя: Пароль:
1C
1С v8
Ввод документа на основании другого
0 revril
 
19.12.11
14:59
Добрый день!
Создаю в док1 создаю док2 при нажатии на кнопку.Подскажите пожалуйста как при нажатии на кнопку повторно открыть документ док2 если он уже был создан?
1 revril
 
19.12.11
15:05
!!!
2 rrunover
 
19.12.11
15:07
какие-то варианты уже пробовал?
3 rrunover
 
19.12.11
15:09
пардон, *пробовала?
4 Одинесочка
 
19.12.11
15:10
Сделай, как в типовых схему подчиненности...
5 revril
 
19.12.11
15:10
как?если можно подробнее?
6 rrunover
 
19.12.11
15:11
(4), отвечай теперь :)
7 Одинесочка
 
19.12.11
15:12
Ну посмотри, как в типовой БП 2.0, например, сделана структура подчиненности документов и сделай по аналогии...
8 Одинесочка
 
19.12.11
15:13
Тебе что нужно, просто созданный на основании документ открыть?
9 revril
 
19.12.11
15:20
да,просто открыть его
10 rrunover
 
19.12.11
15:25
1. Вариант хранения ссылки на Док2 в реквизите Док1 не предлагать?
2. Связать доки регистром сведений и при нажмаке на кнопку проверять запись :)
3. Не создавать док2, все данные оставлять в док1, а при нажатии на кнопку открывать пустую форму док2 и быстро-быстро заполнять её данными из док1 (сохранять запретить)
4. Использовать типовой механизм ввода на основании. +3 клика мышью для открытия, зато типовой...
11 Wamark
 
19.12.11
15:26
В процедуре Перед открытием создаваемого документа делать запрос на ссылку документа с таким же доком-основанием. Если есть, то делать отказ, показ формы существующего и возврат.
12 Wamark
 
19.12.11
15:32
//процедура формы документа док2
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   
   Запрос = Новый Запрос;
   Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
   |    Док2.Ссылка
   |ИЗ
   |    Документ.Док2 КАК Док2
   |ГДЕ
   |    Док2.ДокументОснование = &ДокОснование";
   
   Запрос.УстановитьПараметр("ДокОснование", ДокументОснование);
   
   Результат = Запрос.Выполнить();
   Выборка = Результат.Выбрать();
   
   Если Выборка.Следующий() Тогда
        Отказ = Истина;
        Выборка.ПолучитьФорму().Открыть();
        Возврат;
   КонецЕсли;
   

   
КонецПроцедуры // ПередОткрытием()
13 rrunover
 
19.12.11
15:35
(12), "ссылка" пропустил? или это чтобы тс подумал? :)
14 Wamark
 
19.12.11
15:36
вроде ссылку и так возьмёт, насколько я помню)
15 rrunover
 
19.12.11
15:37
ы... *записал*
16 Wamark
 
19.12.11
15:40
=) у меня коллега ругается что много раз "ссылку" пишу. Кстати правильнее было бы "1. Вариант хранения ссылки на Док2 в реквизите Док1" чтобы не делать запрос лишний раз а просто глянуть док-2 ссылочку
17 rrunover
 
19.12.11
15:48
(12) позволяет избежать неконтролируемое увеличение сущностей.
в (10) вариант "1." приемлем только в качестве временной меры.

Каждому своё, а перспективный тс куда-то делся =)