Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Помогите с TurboBL, плиз (число прочтений - 3214 )
korol1091
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Местоположение: Украина
Зарегистрирован: 16. Января 2012
Пол: Мужской
Помогите с TurboBL, плиз
01. Октября 2012 :: 14:42
Печать  
Есть такой код:
Код
Выбрать все
ОткрытьФорму(док.ТекущийДокумент(), конт, 1);
конт.Печать();
 


Открывается форма документа, выводится табличка, все отлично. Как теперь сделать следующее:
1) Закрыть форму документа, без сохранения
2) Ухватить контекст таблицы, например, для записи ее в файл?

PS. Заранее спасибо. Ответить смогу завтра
  
Наверх
 
IP записан
 
korol1091
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Местоположение: Украина
Зарегистрирован: 16. Января 2012
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #1 - 01. Октября 2012 :: 14:51
Печать  
Вопрос № 1 снят.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Помогите с TurboBL, плиз
Ответ #2 - 02. Октября 2012 :: 05:12
Печать  
korol1091 писал(а) 01. Октября 2012 :: 14:42:
Есть такой код:
Код
Выбрать все
ОткрытьФорму(док.ТекущийДокумент(), конт, 1);
конт.Печать();
 


Открывается форма документа, выводится табличка, все отлично. Как теперь сделать следующее:
1) Закрыть форму документа, без сохранения
2) Ухватить контекст таблицы, например, для записи ее в файл?

PS. Заранее спасибо. Ответить смогу завтра


вариант 1) Печать - это функция, которая возвращает ссылку на табличный документ. (ну или имеет один из параметров, в который ты будешь возвращать эту ссылку)

вариант 2) есть переменная с раширенной областью видимости (переменная модуля формы, или, в особо тяжелых случаях - переменная глобального омдуля), в которую ты пишешь ссылку на табличный документ.

На примере переменной модуля формы:
в форме:

Код
Выбрать все
Перем СсылкаНаТаб; //возможно, нужен Экспорт

Процедура Печать()
    Таб = СоздатьОбъект("Таблица");
    ...
    Таб.Показать();

    СсылкаНаТаб = Таб;
КонецПроцедуры;
 



извне вызываешь так

Код
Выбрать все
ОткрытьФорму(док.ТекущийДокумент(), конт, 1);
конт.Печать();
Ссылка = конт.СсылкаНаТаб;
 

  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #3 - 02. Октября 2012 :: 05:58
Печать  
korol1091 писал(а) 01. Октября 2012 :: 14:42:
Открывается форма документа, выводится табличка, все отлично. Как теперь сделать следующее:
1) Закрыть форму документа, без сохранения
2) Ухватить контекст таблицы, например, для записи ее в файл

1. Сервис.ЗакрытьФорму - идеально
2. Есть ФормЕкс - у объекта Сервис вроде бы есть метод типа ПолучитьСписокТаблиц
точное название не помню Печаль
  

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


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: Помогите с TurboBL, плиз
Ответ #4 - 02. Октября 2012 :: 06:32
Печать  
А еще в FormEx у Объекта Сервис есть Функция
АктивныйКонтекст()
когда ты вызываеш Печать()
По верх твоей формы вылетает Таблица
Вот на нее натрави Сервис и будет тебе Твоя Активная Таблица.
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Помогите с TurboBL, плиз
Ответ #5 - 02. Октября 2012 :: 07:40
Печать  
Разве что активный контекст не даст тебе гарантии, что ты получил именну ту печатную форму, что сформировал
  
Наверх
 
IP записан
 
korol1091
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Местоположение: Украина
Зарегистрирован: 16. Января 2012
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #6 - 02. Октября 2012 :: 10:08
Печать  
Спасибо, Активный контекст - то что надо, т.к. эти формы открываются закрываются в цикле, без участия юзера, так что ничего не должно сбиваться.

Сенкс вери мач Улыбка
  
Наверх
 
IP записан
 
Satans Claws
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 721
Зарегистрирован: 29. Ноября 2010
Re: Помогите с TurboBL, плиз
Ответ #7 - 02. Октября 2012 :: 10:55
Печать  
А закрываешь как?
  
Наверх
 
IP записан
 
korol1091
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 23
Местоположение: Украина
Зарегистрирован: 16. Января 2012
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #8 - 02. Октября 2012 :: 12:22
Печать  
Код
Выбрать все
Система = СоздатьОбъект("Система");
Система.ЗакрытьФорму(конт,0);
 

  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #9 - 02. Октября 2012 :: 13:12
Печать  
artbear писал(а) 02. Октября 2012 :: 05:58:
korol1091 писал(а) 01. Октября 2012 :: 14:42:
Открывается форма документа, выводится табличка, все отлично. Как теперь сделать следующее:
1) Закрыть форму документа, без сохранения
файл

1. Сервис.ЗакрытьФорму - идеально

Опечатка, конечно Система.ЗакрытьФорму !
Обалдеть, свой собственный класс и свой метод забыл Печаль
  

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


1C++ rocks!

Сообщений: 23
Местоположение: Украина
Зарегистрирован: 16. Января 2012
Пол: Мужской
Re: Помогите с TurboBL, плиз
Ответ #10 - 02. Октября 2012 :: 14:50
Печать  
Ну, у нас в конторе 20 с лишним фирм, так я уже через 2 недели  не помню кому что писал Улыбка

ЗЫ. Пользуясь случаем, хочу сказать СПАСИБИЩЕ!!! 1С++ рулит и заруливает Улыбка
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать