Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Про turbomd (число прочтений - 3261 )
sergling
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 05. Июля 2007
Пол: Мужской
Про turbomd
07. Декабря 2007 :: 18:23
Печать  
Нету ли в этой ВК каких-нить методов для того чтобы налету менять модуль формы документа из модуля внешней обработки?
  
Наверх
 
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #1 - 07. Декабря 2007 :: 18:25
Печать  
Нету. И другими ВК, к сожалению, пока такое тоже не делается.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #2 - 07. Декабря 2007 :: 20:02
Печать  
А в чем проблема?
Из внешней обработки можно создать/поменять файл turbomd.prm? Можно.
Из внешней обработки можно создать файл модуля формы документа и положить его в нужное место? Можно.

Чего еще нужно-то?
  
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #3 - 07. Декабря 2007 :: 20:10
Печать  
fez писал(а) 07. Декабря 2007 :: 20:02:
Чего еще нужно-то?

Данный вариант не без недостатков.
А если одновременно несколько человек будут открывать формы?
Значит сразу несколько человек будет открывать на запись prm.

Кроме того, я так понимаю придется заюзать gcomp. А как он смотрит на то, что файл уже открыт другим пользователем?

Как вариант - да. Но неудобство обеспечено.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #4 - 07. Декабря 2007 :: 20:15
Печать  
Arta писал(а) 07. Декабря 2007 :: 20:10:
Данный вариант не без недостатков.
А если одновременно несколько человек будут открывать формы?

Формы чего? Формы внешней обработки?

Мы чего в итоге хотим добиться? Чтобы у каждого пользователя был СВОЙ модуль формы документа, или просто хотим пару раз за день на лету автоматически менять модуль формы?
  
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #5 - 07. Декабря 2007 :: 20:21
Печать  
fez писал(а) 07. Декабря 2007 :: 20:15:
Формы чего? Формы внешней обработки?

Мы чего в итоге хотим добиться? Чтобы у каждого пользователя был СВОЙ модуль формы документа, или просто хотим пару раз за день на лету автоматически менять модуль формы?

Исходная задача - форма Документа.

В каждом случае открытия такой формы документа (в теории) должна пройти проверка даты изменения обработки и если есть необходимость, то заново подготовить prm.
Может возникнут ситуация, что несколько человек может одновременно открыть форму этого документа.
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #6 - 07. Декабря 2007 :: 20:23
Печать  
Arta писал(а) 07. Декабря 2007 :: 20:10:
Кроме того, я так понимаю придется заюзать gcomp. А как он смотрит на то, что файл уже открыт другим пользователем?

Сам gcomp открывает md эксклюзивно. Но во-первых, можно сделать сборку, где он будет открывать в разделенном режиме (CStorage:УжасpenCompound, третий параметр вызова StgOpenStorage, там даже есть закомментированный вариант с неэксклюзивным доступом только на чтение), во-вторых, можно скопировать md'шник себе любимому, в-третьих, можно ОДИН раз для всех распатронить md'шник, а потом уже все будут пользоваться готовой папкой SRC.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #7 - 07. Декабря 2007 :: 20:29
Печать  
Arta писал(а) 07. Декабря 2007 :: 20:21:
Исходная задача - форма Документа.

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

Согласись, что твоя задача несколько отличается от задачи, сформулированной в (0). Улыбка

Ну тут два варианта: либо мумукаться с флагами доступа, либо вынести задачу своевременного обновления в ОбработкуОжидания отдельного сеанса.

P.S. А вообще попытался тут представить реальную ситуацию, когда это действительно может понадобиться. Когда нельзя отдать контроль над defcls.prm тому процессу, который генерирует изменения в модулях. Попытался -  и не смог. Не поможешь? Улыбка
  
Наверх
www  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #8 - 07. Декабря 2007 :: 20:35
Печать  
fez писал(а) 07. Декабря 2007 :: 20:29:
Согласись, что твоя задача несколько отличается от задачи, сформулированной в (0). Улыбка

Перечитал, я не прав. У меня проблема в другом, показалось что разговор шел про форму.

fez писал(а) 07. Декабря 2007 :: 20:29:
P.S. А вообще попытался тут представить реальную ситуацию, когда это действительно может понадобиться. Когда нельзя отдать контроль над defcls.prm тому процессу, который генерирует изменения в модулях. Попытался -  и не смог. Не поможешь? Улыбка

Подобная проблема есть с классами, файл класса открывается монопольно для компиляции. В форуме про это уже писали...
Соответственно такая же ситуация может возникнуть и в описанном варианте компиляции prm

На самом деле мой вопрос в теории может решится гораздо проще. Надо только достучаться до Лехи или Артура Улыбка
  
Наверх
 
IP записан
 
sergling
Junior Member
**
Отсутствует



Сообщений: 24
Зарегистрирован: 05. Июля 2007
Пол: Мужской
Re: Про turbomd
Ответ #9 - 08. Декабря 2007 :: 07:40
Печать  
Спасибо за реакцию, много интересной информации, жаль что методов у ВК нету. Пытаюсь сделать нечто вроде групповой печати документов, но без минимальной правки модулей не получается, решил в текущий момент правкой модулей через опенконф, но универсальности минимум. А нужно то, изменить параметры процедуры печать и поставить лишнее ветвление. Вот и подумалось если turbomd умеет брать из внешних файлов тела модулей, почему бы не поиметь пару методов для чтения и записи этих модулей непосредственно из самого режима предприятия.
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #10 - 08. Декабря 2007 :: 08:01
Печать  
Расскажи поподробнее про свою задачу.
ИМХО тебе здесь не ТурбоМД нужен, а возможности ТурбоБЛ и 1С++.
  

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



Сообщений: 24
Зарегистрирован: 05. Июля 2007
Пол: Мужской
Re: Про turbomd
Ответ #11 - 08. Декабря 2007 :: 11:02
Печать  
Появилось тут желание у бухгалтеров перепечатать доки за год, толи че-то переделали, толи не было первички, в общем у них пальцы устали, попросили помочь. Решил подойти к решению творчески Улыбка  на типовой конфе сделал обработку, которая пытается выполнять групповую печать вида документа за произвольный период. Обращаюсь к процедуре печати документа через formex. В типовой бухии почти везде процедура зовется одинаково, но приходится ее править, чтобы можно было сразу таблицу послать на принтер. Кода три строки, времени тратится пару минут, модуль правленный сохраняю и потом открываю с помощью turbomd, который подгружается моей же обработкой. Т.е. для остальных пользователей конфа остается типовая-оригинальная. Вот чтобы достичь некой универсальности, хотелось бы суметь обработкой залезть в модуль дока, найти процедуру печати, сделать в ней маленькие правки на время работы, распечатать и закрыть. При этом обработка могла бы подойти под разные конфигурации, единственное желательно иметь единое именование процедуры печати, но и тут можно пофантазировать. Вот такая цель... Может конечно велосипед, но свой Улыбка
  
Наверх
 
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


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

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Про turbomd
Ответ #12 - 08. Декабря 2007 :: 11:10
Печать  
А зачем менять модуль формы дока?
ИМХО можно так -
1. найти имя метода Печати
2. запомнить список всех открытых таблиц через ФормЕкс
2. вызвать метод печати по имени
3. получить новый список всех открытых таблиц через ФормЕкс
4. найти новую таблицу, которой нет в списке из п.2. если есть новая, значит, п.5
5. Обратиться к таблице и  распечать ее
5. закрыть таблицу.
Т.е. с помощью возможностей ФормЕкс нет проблем.

ЗЫ в 1С++ есть Информатор::ПолучитьТаблицуМетодовКонтекста(Контекст) для возможности анализа наименований методов в модуле и контексте.
  

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



Сообщений: 24
Зарегистрирован: 05. Июля 2007
Пол: Мужской
Re: Про turbomd
Ответ #13 - 08. Декабря 2007 :: 11:51
Печать  
благодарствую, ответ исчерпывающий, попробую применить!!!
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать