Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 дек 2024, 00:45

управляемые формы незаписанных документов

Автор glna, 27 мар 2015, 09:36

0 Пользователей и 1 гость просматривают эту тему.

glna

Программно создаю и открываю несколько однотипных документов без записи. В результате получаю одну открытую форму последнего документа. Использую приблизительно такой код

КопироватьДанныеФормы(ОбъектыФорм1, Формы1.Объект);
Формы1.Открыть();
КопироватьДанныеФормы(ОбъектыФорм2, Формы2.Объект);
Формы2.Открыть();

Насколько понимаю, в этом случае формы всех полученных незаписанных документов получают одинаковый уникальный идентификатор.
Можно ли программно открыть несколько созданных, но еще не записанных  документов?

Rasty

Создал документ, заполнил, записал, создал еще один, заполнил, записал.
Это мой вариант, было бы интересно можно ли такое реализовать =)
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

glna

Цитата: Rasty от 27 мар 2015, 09:55
Создал документ, заполнил, записал, создал еще один, заполнил, записал.
Это мой вариант, было бы интересно можно ли такое реализовать =)

При записи как раз все хорошо. Например:
Док=Документы.ТребованиеНакладная.СоздатьДокумент();
заполнение .....
Док.Записать();
ПоказатьЗначение(,Док);

А вот в случае, если документы требуется не записывать, возникает вышеуказанная проблема.

Rasty

Нужно открыть несколько форм по созданию документа?
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

glna

Цитата: Rasty от 27 мар 2015, 11:18
Нужно открыть несколько форм по созданию документа?

Да, создаются несколько документов, но не записываются. И их все нужно открыть.
А для пользователя открывается только один последний документ.

cska-fanat-kz

Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

glna

Цитата: cska-fanat-kz от 27 мар 2015, 11:46
glna, http://infostart.ru/public/118784/

Проблем с открытием созданного, но еще незаписанного документа нет.
У меня вопрос другой:
Как одновременно открыть НЕСКОЛЬКО таких документов. Т.к. в результате я получаю только ОДНУ форму последнего созданного документа.

Rasty

Ответ предельно прост, никак, это тоже самое что создать документ из 1Ски, заполнить его, свернуть, и нажать снова кнопку добавить, откроется то же окно, так что никак.
А если кто-то знает как, поделитесь, очень интересно
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

cska-fanat-kz

у ПолучитьФорму() и ОткрытьФорму() есть параметр - КлючУникальности...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

LexaK

есть способ создания (без записи) нескольких документов и открытия их форм (несколько штук)

написал простенькую обработку с одной кнопкой СоздатьОткрытьДокумент,
вот весь ее код:



&НаКлиенте
Процедура СоздатьОткрытьДокумент(Команда)

СоздатьДок();

ОткрытьФорму("Документ.СборкаКомпьютера.ФормаОбъекта",
Новый Структура("Документ",Объект.Док),,Объект.Док.Номер);

КонецПроцедуры

&НаСервере
Функция СоздатьДок()

//на сервере создаете и заполняете документ
лкДок = Документы.СборкаКомпьютера.СоздатьДокумент();
лкДок.Номер = Объект.Номер;
Объект.Номер = Объект.Номер + 1;

//помещаете его в реквизит формы
ЗначениеВРеквизитФормы(лкДок,"Объект.Док");

КонецФункции

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//какие-то начальные значения для заполнения
//обязательно должен быть реквизит который будет уникальным, при открытии форм!
//в моем примере это номер, может быть дата, :+) при условии что пользователь
//создает документы с интервалом в секунду
//или еще как вариант генерить самому ссылку документа и использовать ее
Объект.Номер = 111;
КонецПроцедуры



ИИИИИИИИИ еще код вставляем в форму открываемого документа в событии ПриСозданииНаСервере


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
//Вставить содержимое обработчика

Если Параметры.Свойство("Документ") Тогда
лкДок = ДанныеФормыВЗначение(Параметры.Документ,Тип("ДокументОбъект.СборкаКомпьютера"));
ЗначениеВРеквизитФормы(лкДок,"Объект");
КонецЕсли;

КонецПроцедуры



Добавлено: 27 мар 2015, 13:42


Получается такая картинка
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск