gifts2017

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

Опубликовал Алексей Мутовкин (mrWatson) в раздел Программирование - Практика программирования

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

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

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

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

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



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

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



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




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

См. также

Подписаться Добавить вознаграждение

Комментарии

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