IE2017

Форма без объекта. Изобрел велосипед или нет?

Программирование - Практика программирования

Вот таким кодом

НачатьТранзакцию();
  Справочники.Справочник1.СоздатьЭлемент().ПолучитьФорму().Открыть();
ОтменитьТранзакцию();

можно получить на экране форму без объекта.

Вот таким кодом

НачатьТранзакцию();
  Справочники.Справочник1.СоздатьЭлемент().ПолучитьФорму().Открыть();
ОтменитьТранзакцию();



можно получить на экране форму без объекта.
Ее свойства:
- форма записывается, но не создает элемент справочника
- в процедуре ПриЗаписи() формы Ссылка.Пустая()=Истина только у таких форм
- в процедуре ПередЗаписью() формы ПустаяСтрока(СправочникОбъект)=Истина только у таких форм, причем реквизиты СправочникОбъект будут заполнены введенными в форму данными. 

Используя последнее ее свойство форму можно легко реанимировать вот таким кодом:



Процедура ПередЗаписью(Отказ)
  Если ПустаяСтрока(СправочникОбъект) Тогда
    СпрОбъект=Справочники.Справочник1.СоздатьЭлемент();
    СпрОбъект.Код=СправочникОбъект.Код;
    СпрОбъект.Наименование=СправочникОбъект.Наименование;
    Для Каждого Рекв Из СправочникОбъект.Метаданные().Реквизиты Цикл
     СпрОбъект[Рекв.Имя]=СправочникОбъект[Рекв.Имя];
    КонецЦикла;
    СправочникОбъект=СпрОбъект;
  КонецЕсли;
КонецПроцедуры




после этого форма ведет себя как обычно.

См. также

Комментарии
1. Saw (Re:аниматор) 28.08.09 12:02 Сейчас в теме
2. Сергей (Che) Коцюра (CheBurator) 3387 28.08.09 12:02 Сейчас в теме
и чего? практическое приложение какое?
3. qwerty_3 (qwerty_3) 28.08.09 12:04 Сейчас в теме
Интересно, пригодится ...
4. Алексей Мутовкин (mrWatson) 303 28.08.09 12:04 Сейчас в теме
(1,2) мне потребовалось, а вообще для информации
5. Saw (Re:аниматор) 28.08.09 12:08 Сейчас в теме
(3) пригодится скорей всего созданным никам липово для рейтинга =)
6. Алексей Мутовкин (mrWatson) 303 28.08.09 12:10 Сейчас в теме
(5) у меня писят плюсов, лишнего не надо, главное чтоб не минусовали зря.
7. Saw (Re:аниматор) 28.08.09 12:16 Сейчас в теме
(6) трисать пять живаго рейтинга)
8. Алексей Мутовкин (mrWatson) 303 28.08.09 12:25 Сейчас в теме
и всеж, Со, еслиб Кверти был мой второй ник то я бы с него поставил себе плюсы везде где только можно. хотя конечно оправдываться я не обязан.
9. Алексей Константинов (alexk-is) 6155 28.08.09 14:00 Сейчас в теме
Статью можно было бы разукрасить получше :) http://www.infostart.ru/projects/4014/
10. Алексей Мутовкин (mrWatson) 303 28.08.09 14:14 Сейчас в теме
(9) спасибо пользуюсь вашей программой, плюс вам уже поставил, на ИС не понял как врежим HTML редактора перейти из визуального.
11. Алексей Константинов (alexk-is) 6155 28.08.09 14:59 Сейчас в теме
(10) Для "Разукрашки" это не нужно. И так замечательно работает, если копировать через буфер обмена.
А по вопросу: там в панели инструментов кнопочка есть "HTML" - Edit HTML Source
12. Saw (Re:аниматор) 28.08.09 19:49 Сейчас в теме
(3) будь так сказочно любезен написать где пригодится? действительно интересно...
13. qwerty_3 (qwerty_3) 28.08.09 20:33 Сейчас в теме
(12) Была как-то задачка: создать форму интерактивного ввода контрагентов (как wizard), причем в форме пользователь мог как создать новый элемент, так и найти существующий и продолжить заполнение (в той же форме). Я использовал общую форму, но предложеное здесь решение мне тоже нравится.
14. Рыбаков Алексей (Fisha) 108 07.09.09 11:07 Сейчас в теме
15. Andrey Sokolenko (chang) 17.09.09 14:06 Сейчас в теме
а у меня косячков столько вылазиет:
{ОбщийМодуль.УправлениеДенежнымиСредствами(78)}: Ошибка при установке значения атрибута контекста (БанковскийСчетОрганизации): Документ не выбран
16. Andrey Sokolenko (chang) 17.09.09 14:15 Сейчас в теме
а вот так без косячков:
Фрм = Документы.РеализацияТоваровУслуг.ПолучитьФорму("ФормаДокумента").Открыть();
а дальше просто Фрм.ДокументОбъект = Ля-Ля
Оставьте свое сообщение