Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Выполнение ПриОткрытии не открывая формы          
alik-ZmeY Подменю пользователя
сообщение 25.03.14, 15:01
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Подскажите как можно не открывая формы запустить процедуру которая висит на событие ПриОткрытии?? Или как можно открыть и быстренько закрыть форму что бы пользователь не видел ее?? 1с 8.2

alex040269 Подменю пользователя
сообщение 25.03.14, 15:04
Сообщение #2

Крутой
Иконка группы
Группа: Местный
Сообщений: 1626
Из: Гуляйполе
Спасибо сказали: 236 раз
Рейтинг: 0

Процедура ПередОткрытием (Отказ)
Отказ = Истина
КонецПроцедуры


Сообщение отредактировал alex040269 - 25.03.14, 15:04


Signature
Никогда не бойся делать то, что не умеешь, помни - Ноев ковчег был построен любителем, профессионалы построили Титаник.
ЗиУП

logist Подменю пользователя
сообщение 25.03.14, 15:04
Сообщение #3

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(alik-ZmeY @ 25.03.14, 15:01) *
Или как можно открыть и быстренько закрыть форму что бы пользователь не видел ее??

Форма = ПолучитьКукауютоФорму;
Форма.Открыть();
Форма.Закрыть();

Но тут главное, что бы при открытии не возникала модифицированность. А вообще, я думаю ваша цель не это, скорее всего, то, что вы хотите можно реализовать прямым способом, а не через ж....


Signature
Личные бесплатные консультации не даю, для этого есть форум!

pablo Подменю пользователя
сообщение 25.03.14, 15:13
Сообщение #4

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 193 раз
Рейтинг: 0

Цитата
Подскажите как можно не открывая формы запустить процедуру которая висит на событие ПриОткрытии??

Форма = ПолучитьКукауютоФорму;
Форма.КакаятоПроцедураПриОткрытии(неопределено);//эта процедура должна быть описана с модификатором экспорт


Signature
Правильно поставленный вопрос содержит до 90% ответа.

alik-ZmeY Подменю пользователя
сообщение 25.03.14, 15:30
Сообщение #5

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(logist @ 25.03.14, 16:04) *
Но тут главное, что бы при открытии не возникала модифицированность. А вообще, я думаю ваша цель не это, скорее всего, то, что вы хотите можно реализовать прямым способом, а не через ж....


Совершенно верно. Пишу обработку для заполнения платежных документов. Из текстового файла передаю форме Платежного поручения данные. Форма имеет свои процедуры и функции. которые активируются при вводе вручную.
Так вот при передачи через создатьдокумент(), процедуры которые выполняются при событии по нажатию кнопки не выполняются, и что бы их не переписывать я получаю форму, на форме получаю элементы этой формы и передаю значения. Но нада еще выполнить приОткрытии формы, эта процедура меняет значения документа. Как это сделать??

logist Подменю пользователя
сообщение 25.03.14, 15:36
Сообщение #6

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

По правильному необходимо программно заполнить документ без открытия форм, и сложности в этом никакой нет, вы выбираете более сложный вариант - заполнение формы, потом необходимо произвести запись из формы, вдруг возникнут ошибки, то пользователь получит открытую форму не созданного/записанного документа. Учитесь программно заполнять документы, это проще чем кажется.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alik-ZmeY Подменю пользователя
сообщение 26.03.14, 8:42
Сообщение #7

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

А процедуры которые выполняются по событию элемента нужно тогда переписывать в обработке?? Это же очень много чего надо переписать в обработку sad.gif

logist Подменю пользователя
сообщение 26.03.14, 8:52
Сообщение #8

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(alik-ZmeY @ 26.03.14, 8:42) *
Это же очень много чего надо переписать в обработку

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


Signature
Личные бесплатные консультации не даю, для этого есть форум!

alik-ZmeY Подменю пользователя
сообщение 27.03.14, 7:37
Сообщение #9

Общительный
**
Группа: Пользователи
Сообщений: 10
Спасибо сказали: 0 раз
Рейтинг: 0

Типа вот так

ТекДанные=ЭлементыФормы.ТабличноеПоле1.ТекущиеДанные;
ППИсходящий=Документы.ПлатежноеПоручениеИсходящее.СоздатьДокумент();    
ППИсходящий.Номер=ТекДанные.НомерПП;
ППИсходящий.Дата=Дата("20"+ТекДанные.ДатаПП);
ВидыОперацийППИсходящее=Перечисления.ВидыОперацийППИсходящее;
ППИсходящий.ВидОперации=ВидыОперацийППИсходящее.ОплатаПоставщику;



или так
ФормаППИсходящего=ППИсходящий.ПолучитьФорму();
ФормаППИсходящего.ЭлементыФормы.СчетОрганизации.Значение=Справочники.БанковскиеСчета.НайтиПоРеквизиту("НомерСчета",ТекДанные.СчетПлательщика);
ФормаППИсходящего.ЭлементыФормы.СуммаДокумента.Значение=Число(ТекДанные.СуммаПП); //сумма документа
ППИсходящий.Записать(РежимЗаписиДокумента.Запись);


Какой из этих вариантов лучше?? Я так понимаю что при втором варианте выполняются события элемента при изменении?? или я не прав?

Сообщение отредактировал Vofka - 27.03.14, 8:48

sava1 Подменю пользователя
сообщение 27.03.14, 7:52
Сообщение #10

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2751
Из: Проскуров
Спасибо сказали: 707 раз
Рейтинг: 686.5

Цитата(alik-ZmeY @ 27.03.14, 7:37) *
или я не прав?

Собітия выполняются при ИНТЕРАКТИВНОМ изменении.

logist Подменю пользователя
сообщение 28.03.14, 8:01
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Цитата(alik-ZmeY @ 27.03.14, 7:37) *
Какой из этих вариантов лучше??

Первый, он не лучше, а правильный. Не надо работать с формой, надо работать сразу с объектом.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 9:59
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!