Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема v7: Скрипт для телепата(пакетное изменение) (число прочтений - 6316 )
Fynjy
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 28. Сентября 2006
v7: Скрипт для телепата(пакетное изменение)
28. Сентября 2006 :: 10:26
Печать  
Может есть у кого скрипт по пакетному изменению всех объектов конфигурации. Например свойство параметры миграции.
Заранее спасибо!
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #1 - 28. Сентября 2006 :: 11:08
Печать  
ОпенКонф не предоставляет методов для модификации метаданных.

Для пакетной модификации кода есть perl-скрипты  (папка Редактирование\CodeWorks) в репозитории).

Для пакетной модификации метаданных рекомендую использовать gcomp + собственные скрипты.
  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
Fynjy
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 28. Сентября 2006
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #2 - 28. Сентября 2006 :: 11:27
Печать  
Плачущий Фигово.
  
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #3 - 28. Сентября 2006 :: 20:40
Печать  
Не знаю, как с параметрами миграции, но ведь например ТурбоМД.вбс загружает формы из файлов.

Значит что-то можно.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #4 - 29. Сентября 2006 :: 05:42
Печать  
Не стоит путать выгрузку потока в файл и изменение байтиков в потоке.
ОпенКонф позволяет только создавать константу. это есть в примере.
Можно конечно попробовать через сендкей как либо.
т.е. вызываем макрос переход в дереве, эмулируем дабл клик. эмулируем переход на нужную закладку, переход по таб, установку флажка и нажатие на ОК.
но кто будет этим заниматься?
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #5 - 30. Сентября 2006 :: 04:37
Печать  
Вот как раз параметры миграции опенконф может править.
Еще в первых поставках опенконфа шел sample.vbs, в котором были два макроса:
Код
Выбрать все
Sub TestMigrationSaveToExcel()
    Set fso = OpenOLEForm("Excel.Sheet", "Правила миграции")
    Set exc = fso.Worksheets(1)

    Dim ch(2)
    ch(0) = "Константа"
    ch(1) = "Справочник"
    ch(2) = "Документ"
    exc.Cells(1, 1) = "Тип"
    exc.Cells(1, 2) = "Вид"
    exc.Cells(1, 3) = "Правило миграции"
    exc.Cells(1, 4) = "Авторегистрация"
    exc.Cells(1, 5) = "Дополнительно"
    Row = 2
    For j = 0 To 2
	  Set Childs = MetaData.TaskDef.Childs(CStr(ch(j)))
	  For i = 0 To Childs.Count - 1
		Set mdo = Childs(i)
		Set mgr = MetaData.Migration(mdo.ID)
		exc.Cells(Row, 1) = ch(j)
		exc.Cells(Row, 2) = mdo.Name
		exc.Cells(Row, 3) = mgr.RuleOfMigration
		exc.Cells(Row, 4) = mgr.AutoRegister
		exc.Cells(Row, 5) = mgr.AdditDBSigns
		Row = Row + 1
	  Next
    Next
    fso.SaveAs IBDir & "migration.xls"
End Sub

Sub TestLoadMigrationFromExcel()
    Set fso = CreateObject("Excel.Application")
    fso.Visible = True
    Set exc = fso.Workbooks.Open(IBDir & "migration.xls")
    Set exc = exc.Worksheets(1)
    Row = 2
    On Error Resume Next
    While exc.Cells(Row, 1) <> Empty
	  Set mdo = Nothing
	  Name = "" & exc.Cells(Row, 1) & "." & exc.Cells(Row, 2)
	  Set mdo = MetaData.TaskDef.Childs(CStr(exc.Cells(Row, 1)))(CStr(exc.Cells(Row, 2)))
	  If mdo Is Nothing Then
		Message Name & " не найден в метаданных", mRedErr
	  Else
		Message "Загружен " & Name, mInformation
		Set mgr = MetaData.Migration(mdo.ID)
		mgr.RuleOfMigration = exc.Cells(Row, 3)
		mgr.AutoRegister = exc.Cells(Row, 4)
		mgr.AdditDBSigns = exc.Cells(Row, 5)
	  End If
	  Row = Row + 1
    Wend
End Sub
 


Можно переделать вместо екселя на текстовые файлы, там ексель для понта использовался.
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #6 - 30. Сентября 2006 :: 07:29
Печать  
Новое - это хорошо забытое старое Улыбка
  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2344
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #7 - 30. Сентября 2006 :: 16:51
Печать  
я скоро все нафиг уже забуду....
а мануала как нет так и нет..... грустно...
  
Наверх
IP записан
 
Fynjy
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 3
Зарегистрирован: 28. Сентября 2006
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #8 - 24. Октября 2006 :: 08:05
Печать  
Childs = MetaData.TaskDef.Childs - вот это есть гуд. Я так понимаю доступ к свойствам объектов конфигурации.
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: v7: Скрипт для телепата(пакетное изменение)
Ответ #9 - 24. Октября 2006 :: 08:39
Печать  
Fynjy писал(а) 24. Октября 2006 :: 08:05:
Childs = MetaData.TaskDef.Childs - вот это есть гуд. Я так понимаю доступ к свойствам объектов конфигурации.


На чтение
  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать