Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Работа с контекстом нового документа... (число прочтений - 4209 )
zak555
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 1
Зарегистрирован: 28. Октября 2008
Работа с контекстом нового документа...
28. Октября 2008 :: 08:18
Печать  
Всем привет!
вот начал осваивать formEx

1. как с помощью ВК открыть формы новых документов (например, 10 штук) одного вида?
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку()=1 Цикл
   Конт = "";
   ОткрытьФорму("Документ.ЗаявкаПокупателя",Конт);
КонецЦикла;
не работает, открывает форму последнего документа...
2. как после открытии формы можно было бы записать и провести данных документ() ?
ОткрытьФорму("Документ.ЗаявкаПокупателя",Конт);
Если Записать=1 тогда
   Конт.Записать();
КонецЕсли;

тоже не работает!
Заранее благодарю!
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Работа с контекстом нового документа...
Ответ #1 - 03. Ноября 2008 :: 22:16
Печать  
1. FormEx тут не поможет. Это ограничение платформы. Можно его с помощью некого "фокуса" обойти, но применим этот подход в ограниченном круге задач. Если из ПриОткрытии в документе открывать еще одну форму того же документа, то откроется новое окно.

2. Это, в принципе, должно работать. Хотя к FormEx так же не относится.
  

FormEx developer
Наверх
www  
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Работа с контекстом нового документа...
Ответ #2 - 04. Ноября 2008 :: 16:50
Печать  
Во!
FormEx тута вообще не причем.
Все делается штатными средствами.
Леша как всегда прав.
И зачем тебе сразу кучу новых документов?
Открой кучу обработок через #
ну а тама дальше извращайся над ними.
Открытие формы с меткой.
Обработка имитирующая форму нужного тебе документа.
Проблем-то...
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #3 - 18. Августа 2009 :: 07:27
Печать  
Хелло.
Я вот понял то что я хочу реализовать будет не возможно, но как говорится невозможного нет, хочу узнать нюансы при создании новых документов. Вопрос такой, я создаю новый документ программно, заполняю реквизиты и затем мне нужно сам документ открыть (не записывая его) и дальше сам юзер пусть заполняет все и записывает и проводит. Я пока не понял как это сделать, но сама 1С при интерактивном создании новых документов (к примеру в журнале документов нажать кнопку "копировать строку") это может. Подскажите возможно это сделать программно или нет?
  
Наверх
 
IP записан
 
jurii
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 9
Зарегистрирован: 19. Июня 2007
Re: Работа с контекстом нового документа...
Ответ #4 - 18. Августа 2009 :: 08:46
Печать  
Передай в форму нового документа параметром всё, что хочешь в нём заполнить, а в процедуре ВводНового получи данные и заполни!
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #5 - 19. Августа 2009 :: 12:21
Печать  
jurii писал(а) 18. Августа 2009 :: 08:46:
Передай в форму нового документа параметром всё, что хочешь в нём заполнить, а в процедуре ВводНового получи данные и заполни!


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

Думая над своей проблеммой я потихоньку решаю ее, но всегда есть грабли. Вот почти получилось мне все выполнить как я хочу, но мешает процедура ПриОткрытии() в модуле документа. Я просто создаю документ через метод ОткрытьФорму а потом отлавлюю его контекст и заполняю все атрибуты формы. Но вот загогулинка, процедура ПриОткрытии срабатывает раньше чем я заполняю атрибуты формы, а мне нужно что бы я заполнил атрибуты а потом выполнился метод ПриОткрытии.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Работа с контекстом нового документа...
Ответ #6 - 19. Августа 2009 :: 12:43
Печать  
Перехватчик из 1С++ тебе поможет.
Сразу предупреждаю, что его использование требует объектно-ориентированного подхода.
Похоже, что у тебя нет подобного опыта, поэтому вначале использование Перехватчика может быть сложновато Печаль
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #7 - 19. Августа 2009 :: 13:09
Печать  
artbear писал(а) 19. Августа 2009 :: 12:43:
Перехватчик из 1С++ тебе поможет.
Сразу предупреждаю, что его использование требует объектно-ориентированного подхода.
Похоже, что у тебя нет подобного опыта, поэтому вначале использование Перехватчика может быть сложновато Печаль


С ООП я дружу, но не в 1С. Где можно прочидать документацию про этот перехватчик. В хелпе 1cpp.chm что-то не могу найти.
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #8 - 21. Августа 2009 :: 08:50
Печать  
Ну что, вроде разобрался с классами, все получилось как я хотел. Всем спасибо. Вопросик, для того что бы работал перехватчик нужно обязательно включить TurboBL (УправлениеНастройками.Включить("TurboBL"))? И что еще нужно включить обязательно? Да и хелп бы на этот перехватчик тоже бы не помешал.
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #9 - 21. Августа 2009 :: 08:55
Печать  
Да и еще, я при заполнении формы использую объект АтрибутФормы. Так вот при заполнении формы через этот объект, у меня не получается достучатся к реквизитам шапки которые не отображаются на самой форме но используются программно. Очень надо до них достучатся. Как это можно сделать?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Работа с контекстом нового документа...
Ответ #10 - 21. Августа 2009 :: 12:29
Печать  
Lexus писал(а) 21. Августа 2009 :: 08:55:
Да и еще, я при заполнении формы использую объект АтрибутФормы. Так вот при заполнении формы через этот объект, у меня не получается достучатся к реквизитам шапки которые не отображаются на самой форме но используются программно. Очень надо до них достучатся. Как это можно сделать?

Это не реквизиты формы, а реквизиты шапки документа, поэтому ФормЕкс ничего о них и не знает - и это правильно.
Юзай их просто через контекст документа.

Доку на перехватчик смотри на заглавной странице www.1cpp.ru, раздел Документация.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #11 - 21. Августа 2009 :: 12:48
Печать  
Так увлекся внешними компонентами что уже и забыл что можно через контекст документа. Огромное спасибо. Все получилось.

А вот документацию я там и смотрел но что-то про перехватчик ничего не нашел. Ну наверное плохо искал.
  
Наверх
 
IP записан
 
Lexus
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 27
Зарегистрирован: 11. Августа 2009
Re: Работа с контекстом нового документа...
Ответ #12 - 21. Августа 2009 :: 13:06
Печать  
Теперь есть еще вопросик, раньше через объект сервис вызывал процедуру ПриОткрытии все работало:
Сервис.ВыполнитьПроцедуру(КонтекстОкна,"ПриОткрытии",Конт.ТекущийДокумент);
Теперь после того как я создал класс по перехвату событий ПриОткрытии у меня вылетает ошибка:
Сервис.ВыполнитьПроцедуру(КонтекстОкна,"ПриОткрытии",Конт.ТекущийДокумент);
{Глобальный модуль(8827)}: Возникла критическая ошибка. Описание ошибки, возвращаемое Windows: Операция успешно завершена.

Что за ошибка и как побороть?
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Работа с контекстом нового документа...
Ответ #13 - 22. Августа 2009 :: 08:43
Печать  
Lexus писал(а) 21. Августа 2009 :: 13:06:
Теперь есть еще вопросик, раньше через объект сервис вызывал процедуру ПриОткрытии все работало:
Сервис.ВыполнитьПроцедуру(КонтекстОкна,"ПриОткрытии",Конт.ТекущийДокумент);
Теперь после того как я создал класс по перехвату событий ПриОткрытии у меня вылетает ошибка:
Сервис.ВыполнитьПроцедуру(КонтекстОкна,"ПриОткрытии",Конт.ТекущийДокумент);
{Глобальный модуль(8827)}: Возникла критическая ошибка. Описание ошибки, возвращаемое Windows: Операция успешно завершена.

Что за ошибка и как побороть?

И ты думаешь, что-то понятно??
Сделай простенькую тестовую конфу, в которой есть твой класс перехвата, пример использования, в котором и вылетает указанная ошибка.
Тогда легче будет разобраться в твоей проблеме.

ЗЫ ВК в тест выкладывать НЕ НУЖНО. Они у всех есть Улыбка

ЗЗЫ не удивлюсь, если при создании теста ты сам найдешь свою ошибку.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать