|
Нужен инструмент выгружающий модули и макеты из конфигурации и внешних объектов | ☑ | ||
---|---|---|---|---|
0
toypaul
гуру
27.12.17
✎
08:57
|
Нужен инструмент, который сумеет выгрузить модули объектов и форм из конфигурации и внешних отчетов и обработок, а также макеты отчетов.
/DumpConfigFiles насколько я понял умеет выгружать только модули и только из конфигурации. Требование выгружать макеты можно исключить. Загружать внешние объекты в конфу не вариант их слишком дофига. |
|||
1
nordbox
27.12.17
✎
09:02
|
(0) В конфе Выгрузить в файлы не?
|
|||
2
MM
27.12.17
✎
09:02
|
(0) А чем плох новый параметр /DumpConfigToFiles
|
|||
3
toypaul
гуру
27.12.17
✎
09:08
|
Ну в принципе да /DumpConfigFiles выгружает и модули и всю остальную ерунду если не ставить отбор. Мне нужны только модули и макеты.
Главный вопрос как выгрузить модули и макеты внешних отчетов и обработок |
|||
4
MM
27.12.17
✎
09:13
|
(3) Продам справку 1С )
/DumpExternalDataProcessorOrReportToFiles - не подходит? |
|||
5
Serg_1960
27.12.17
✎
09:15
|
Заодно продай /DumpConfigFiles –Module :)
|
|||
6
toypaul
гуру
27.12.17
✎
09:17
|
(5) ну это-то я уже первым делом сделал
|
|||
7
Asmody
27.12.17
✎
09:22
|
||||
8
toypaul
гуру
27.12.17
✎
09:28
|
(4) может и подходит. только не представляю как быть если обработок 200 шт, а выгружается "оно" только по одной. или я чота не понимаю
|
|||
9
nordbox
27.12.17
✎
09:34
|
(8) каждый в отдельный файл
Ты видел что /DumpConfigFiles делает? |
|||
10
MM
27.12.17
✎
09:37
|
(7) Он может и быстрый, но не благословлён 1С.
(8) Придётся запускать отдельный процесс конфигуратора с флагом /DumpExternalDataProcessorOrReportToFiles для каждого файла, а ещё и отдельный каталог для каждого отчёта/обработки заводить. |
|||
11
toypaul
гуру
27.12.17
✎
09:40
|
(9) не просто видел, а использовал. где там внешние отчеты?
|
|||
12
toypaul
гуру
27.12.17
✎
09:46
|
(7) а можно вводный курс как этим пользоваться для тех кто 1й раз слышит что такое github?
|
|||
13
nordbox
27.12.17
✎
09:47
|
(11) тебе уже (5) Предлагал
http://yellow-erp.com/help/1cv8/zif3_DumpExternalDataProcessorOrReportToFiles/ |
|||
14
nordbox
27.12.17
✎
09:48
|
+13 Дампы внешнего отчета или обработчик данных в набор файлов.
|
|||
15
toypaul
гуру
27.12.17
✎
09:48
|
(13) и чо? 200 файлов по одному выгружать?
|
|||
16
Мыш
27.12.17
✎
09:50
|
(15) Скрипт написать. фор ич.
|
|||
17
nordbox
27.12.17
✎
09:52
|
http://v8.1c.ru/o7/201507xml/index.htm
Выгрузить/загрузить внешние отчёты/обработки вы можете не только интерактивно, но и автоматически, запуская конфигуратор в пакетном режиме. Для этого мы добавили два новых параметра: DumpExternalDataProcessorOrReportToFiles и LoadExternalDataProcessorOrReportFromFiles. |
|||
18
Serg_1960
27.12.17
✎
09:57
|
Не тормозите :) Автора мучает вопрос как одной командой выгрузить ВСЕ обработки из каталога.
|
|||
19
toypaul
гуру
27.12.17
✎
10:01
|
(18) ага. вариант запуска конфигуратора на каждый из 200 понятен, но как-то не сильно нравится.
|
|||
20
toypaul
гуру
27.12.17
✎
10:07
|
Попробую это http://catalog.mista.ru/public/186927/
тем более тут есть еще и обработки хранящиеся в базе |
|||
21
Serg_1960
27.12.17
✎
10:22
|
"тем более тут есть еще и обработки хранящиеся в базе" - как нибудь, будет время, загляни на ИТС и скачай обработку КонвертацияВнешнихОбработок82. Тогда не потребуются чужие костыли. У тебя будут свои собственные костыли :))
|
|||
22
toypaul
гуру
27.12.17
✎
10:31
|
диск ИТС ... когда ж я его последний раз в глаза-то видел. лет пару назад наверное.
|
|||
23
Serg_1960
27.12.17
✎
10:56
|
Диск ИТС? Моё мнение об авторе упало ниже плинтуса :))
Не диск, а сайт - https://its.1c.ru/db/metod8dev#content:3440:hdoc |
|||
24
ИТ директор
27.12.17
✎
10:57
|
(0) Ты всё пытаешься построить дерево вызова функций?
|
|||
25
toypaul
гуру
27.12.17
✎
11:09
|
(24) построил
|
|||
26
ИТ директор
27.12.17
✎
11:15
|
(25) законтрибьютишь?
|
|||
27
toypaul
гуру
27.12.17
✎
11:23
|
(26) зачего?
|
|||
28
Ботаник Гарден Меран
27.12.17
✎
11:24
|
||||
29
ИТ директор
27.12.17
✎
11:29
|
(27) выложишь на ИС?
|
|||
30
toypaul
гуру
27.12.17
✎
11:36
|
(28) сам-ты пробовал это? ничего плохого сказать про эту обработку не хочу. но судя по коду она анализирует один модуль. это раз. два - делает разбор средствами 1С (Найти, СтрЗаменить).
я недавно пробовал очистить каменты средствами 1С так оно мне полминуты на модуле 700 Кб работало. а у меня в конфе 2500 модулей. я же строю дерево по всем модулям. поэтому мне еще нужны и внешние отчеты и обработки. на данный момент уже заполняется структура модулей с методами, строятся дуги. написал поиск методов по подстроке. все что мне было нужно для решения задачи. теперь останется по дугами и стартовым вершинам развернуть дерево (вверх или вниз) |
|||
31
toypaul
гуру
27.12.17
✎
11:37
|
(29) на ИС вряд ли. задача клиентская. может забахаю статью на нашем сайте (если дадут добро).
|
|||
32
toypaul
гуру
27.12.17
✎
11:39
|
надо будет обработку из (20) вот еще приспособить, чтоб она модули в удобном виде выгружала.
а DumpExternalDataProcessorOrReportToFiles оказалась не совсем удобной. форму выгружает с модулем в один файл, который еще разбирать надо. |
|||
33
nordbox
27.12.17
✎
11:41
|
(32)>>форму выгружает с модулем в один файл, который еще разбирать надо.
Накатай письмо в 1с, пусть сделают в разные, может и прислушаются ) |
|||
34
Asmody
27.12.17
✎
11:47
|
||||
35
Ботаник Гарден Меран
27.12.17
✎
11:51
|
(30)
Там в комментариях ссылки еще на пару публикаций. |
|||
36
Tateossian
27.12.17
✎
11:55
|
Держи, ОП
@ECHO OFF @CHCP 1251 IF %time:~0,2% LSS 10 (SET begin_HH=10%time:~1,1%) ELSE SET begin_HH=1%time:~0,2% SET /A begin_HH=%begin_HH%-100 SET begin_MM=1%time:~3,2% SET /A begin_MM=%begin_MM%-100 SET begin_SS=1%time:~6,2% SET /A begin_SS=%begin_SS%-100 SET /A begin_sec=3600*%begin_HH%+60*%begin_MM%+%begin_HH% :: Каталог, где лежат обработки SET work_dir="D:\1C\Локальные базы\Обработки" SET log=output.log SET dump=dump.txt @ECHO OFF IF NOT DEFINED CUR_VERSION_1C GOTO :error_raise FOR /R %work_dir% %%G IN (*.e?f) DO call :s_sub "%%G" %begin_sec% GOTO :EOF :s_sub @ECHO OFF :: По дефолту выгружается в этот каталог (где лежит данный батник) IF EXIST "ExternalProcessorData\%~nx1\NUL" DEL /Q "ExternalProcessorData\%~nx1 :: CUR_VERSION_1C - переменная окружения с актуальным номером версии 1С. Можно вручную заменить на 8.3.ХХ.ХХХ :: D:\файловые\усхп_репо - пустая база без ничего CMD /C ""%ProgramFiles%\1cv8\%CUR_VERSION_1C%\bin\1cv8.exe" CONFIG /DisableStartupDialogs /DumpResult %dump% /Out %log% /F "D:\файловые\усхп_репо" /N "" /P "" /DumpExternalDataProcessorOrReportToFiles "ExternalProcessorData\%~nx1" "%~f1"" @ECHO. @ECHO RETURNCODE %ERRORLEVEL% @ECHO. FOR /f "delims=" %%A in (%log%) do >nul CHCP 866& echo.%%A @CHCP 1251 @CALL %ProgramData%\Task\TimeCount_end.bat %2 %~dp0 @ECHO ON @EXIT /B :error_raise @ECHO "ERROR: Not set variable path for 1C binaries!" EXIT 5 ====================== И вот TimeCount_end: @ECHO OFF @CHCP 1251 IF %time:~0,2% LSS 10 (SET End_HH=10%time:~1,1%) ELSE SET End_HH=1%time:~0,2% SET /A End_HH=%end_HH%-100 SET End_MM=1%time:~3,2% SET /A End_MM=%End_MM%-100 SET End_SS=1%time:~6,2% SET /A End_SS=%End_SS%-100 SET /A begin=%1*1 SET /A end=(%end_HH%*3600)+(%end_MM%*60)+%end_SS% SET /A worktime=%End%-%Begin% IF %worktime% LSS 0 (SET /A worktime=24*60*60+%worktime%) IF %ERRORLEVEL%==0 (ECHO Время обработки: %worktime% секунд. > %2summary.txt | TYPE %2summary.txt) |
|||
37
Tateossian
27.12.17
✎
11:55
|
В комментах написано, что и зачем, плюс прикручен хронометр: 200 обработок будет выгружать около часа.
|
|||
38
Asmody
27.12.17
✎
11:56
|
(36) pastebin'ы для такого придуманы
|
|||
39
Tateossian
27.12.17
✎
11:57
|
(38) Ну тут уж извините:) Можете в каталог перенести мисты)
|
|||
40
Asmody
27.12.17
✎
12:06
|
(39) Еще б понять что это
|
|||
41
Serg_1960
27.12.17
✎
12:09
|
(40) Сканирует каталог и в цикле запускает конфигуратор с ключом /DumpExternalDataProcessorOrReportToFiles для каждого найденного файла.
(офф) Не понимаю зачем нужно прибегать к посторонним языкам, если у нас есть православный 1С? |
|||
42
Tateossian
27.12.17
✎
12:20
|
(41) Батник - нативный виндовый инструмент. 1С-Софт одобряет.
|
|||
43
Serg_1960
27.12.17
✎
12:34
|
Внешний костыль :(
Автору нужно: - из справочника выгрузить обработки в каталог; - разобрать на файлы; - из файлов форм вытащить модули в отдельные файлы. Логично всё это сделать в 1С. Озвученный скрипт - десяток строк на 1С. |
|||
44
Tateossian
27.12.17
✎
12:42
|
(43) А как ты из 1С будешь вытаскивать модули? Без костылей? Ибо способность кода к самоанализу - рефлексия - это одна из особенностей ООП. А на сколько мы знаем, 1С не умеет в рефлексию.
|
|||
45
Serg_1960
27.12.17
✎
12:48
|
(4) Хех... всё тоже самое: алгоритмом сформировать текст командной строки, ЗапуститьСистему("DESIGNER..."); и вперед с песнями :)
|
|||
46
MM
27.12.17
✎
12:54
|
(44) Странно, всегда считал рефлексию понятием перпендикулярным к ООП. Кроме того 1С можно классифицировать, как объектно-основанную систему, т.е. использовать объекты можно, а создавать только по заданным шаблонам.
1С умеет работать с метаданными, это тоже рефлексия. |
|||
47
toypaul
гуру
27.12.17
✎
13:03
|
(45) чот у меня не взлетело с обработками ЗапуститьСистему("DESIGNER...");
хотя и не больно хотелось. вот еще бы понять чего ей не понравилось ... да и все равно как я писал выше DumpExternalDataProcessorOrReportToFiles не удобен для модулей форм |
|||
48
Serg_1960
27.12.17
✎
13:11
|
(46) Формально он прав. Разработчики 1С сознательно запретили возможность работать с модулями во встроенном языке :( Платформа, естественно, с ними работать умеет. А нам с барского плеча кинули убогое /DumpConfigFiles и под большим давление из вне - DumpExternalDataProcessorOrReportToFiles :(
|
|||
49
MM
27.12.17
✎
13:46
|
(47) Там запускается конфигуратор, а он требует монопольного режима. Если запустить конфигуратор с другими метаданными, то есть риск потерять часть структуры (типы реквизитов) внешних отчётов/обработок. По этой же причине выгрузку не запустить параллельно, если не создать копии баз из одного CF.
Подтверждает факт из(48)следующее: попробуйте поискать в синтакс-помощнике текст "во встроенном языке не предусмотрена работа со значением". |
|||
50
Serg_1960
27.12.17
✎
14:41
|
Угу. Скорее всего запуск нового сеанса вызывался с текущими установками по умолчанию, т.е. была попытка открыть новый сеанс к этой-же базе.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |