CFU-reader

04.03.24

База данных - Обновление 1С

Обработка, предназначенная для анализа файлов обновлений - cfu (с возможностью их последующего сравнения с обновляемой конфигурацией) ДО факта обновления. Позволяет изучить объем и структуру полученного обновления.

Скачать файлы

Наименование Файл Версия Размер
CFU_ридер.epf
.epf 203,52Kb
595
.epf 203,52Kb 595 Скачать

Обновление... Суровая необходимость, вызванная прогрессом. Черный ящик, содержимое которого непредсказуемым образом может отразиться на всей последующей работе. Мало у кого из программистов это слово не вызывает противоречивых чувств.

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

При разработке использовалась программа V8Unpack и рекомендации уважаемого awa, высказанные в этом сообщении.

Также был использован весь опыт, накопленный в процессе написания обработки //infostart.ru/public/69976/

Ну и, если честно, немного заимствовано оформление у обработки //infostart.ru/public/65449/

В общем-то все. Скриншоты:

См. также

Обновление для КА 1.1, ЗУП 2.5, БУХ 2.0: НДС, ЕФС-1, Расчет страховых взносов, Мобилизация, Статистика, Электронные трудовые книжки, 2-НДФЛ, Регламентированная отчетность, Кадровый учет, Прослеживаемость импортных товаров

Зарплата Регламентированный учет и отчетность Кадровый учет Обновление 1С Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Зарплата и Управление Персоналом 2.5 Бухгалтерский учет Налоговый учет Управленческий учет Акцизы ЕНВД ЕСН Земельный налог ИП, ПБОЮЛ, КФХ Налог на имущество Налог на прибыль НДС НДФЛ ФОМС, ЕФС Транспортный налог УСН ПСН (патентная система налогообложения) Платные (руб)

Обновления для конфигураций: КА 1.1; ЗУП 2.5; БУХ 2.0; КА 1.1 Комплексная автоматизация торговли алкогольной продукцией; КА 1.1 Комплексный учет сельскохозяйственного предприятия

19900 руб.

01.04.2020    140622    678    352    

232

Автоматическое подтверждение легальности обновления базы или как обновить 100 типовых баз 1С за 5 часов

DevOps и автоматизация разработки Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Расширение для конфигураций 1С для автоматического подтверждения легальности обновления и выполнения обработчиков обновления при пакетном автоматическом обновлении большого числа баз 1С. А также сам модуль обработки по автоматическому обновлению баз.

2 стартмани

08.05.2019    24214    54    VPanin56    26    

26

Ссылочная константа содержит недопустимый ссылочный номер таблицы

Обновление 1С Платформа 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Бесплатно (free)

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Сегодня расскажу, как решить одну из проблем, с которой можно столкнуться при обновлении конфигурации 1С.

19.03.2024    840    sergey.skirdin    3    

13

Скрипт для обновления базы с расширением из хранилища

Обновление 1С Платформа 1С v8.3 Бесплатно (free)

Небольшая оптимизация рабочего времени через скрипт обновления базы 1С с расширением из хранилища конфигураций.

22.01.2024    1117    ke.92@mail.ru    2    

24

Многопоточное обновление 1С: Управление холдингом

Обновление 1С 8.3.14 1С:Управление холдингом Абонемент ($m)

Что делать, если обновление базы в режиме предприятия выполняется значительно больше вашего технологического окна, даже если это окно - с вечера пятницы и до утра понедельника.

1 стартмани

10.01.2024    3180    saver77    18    

24

Не обновляется типовая конфигурация 1С через конфигуратор

Обновление 1С Платформа 1С v8.3 Россия Бесплатно (free)

Столкнулся с проблемой. Нужно было поднять до текущего релиза Розницу 2.3. Обновлял по старинке, через конфигуратор (база клиент-серверная). Указывал логин и пароль, ждал скачивания обновления и обновлял. Но после накатывания 5 релизов следующий устанавливаться не хотел, а точнее конфигуратор гордо говорил, что обновлений больше нет. Решение нашел здесь на форуме и хочу зафиксировать. Чтобы самому не забыть и передать опыт начинающим.

29.11.2023    1353    shestopalovpro    4    

7

Принудительный запуск дополнительных процедур обработки данных после обновления

Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Ручной запуск процедур обработки обработчиков после обновлений. Может быть полезно стажерам, консультантам, разработчикам, администраторам, всем, кто обновляет информационные базы.

1 стартмани

20.11.2023    603    6    IvanTerentev    0    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kapustinag 04.11.11 20:59 Сейчас в теме
Посмотреть, что там внутри, можно и в режиме Конфигуратора, запустив обновление. Ведь никто не заставляет двигаться дальше после окна сравнения и объединения.
Получили окно сравнения и объединения - и анализируем, что есть в обновлении, и как со всем этим бороться.
...А, я понял...Имеется в виду, что если конфигурация на поддержке с запретом изменений, то окно сравнения и объединения не появляется. Да, согласен, полезная вещь.
На каких конфигурациях проверяли?
2. Damian 909 04.11.11 23:22 Сейчас в теме
Если конфигурация на поддержке, то скорее всего в любом случае придется обновлять, т.к. полезностей в новом релизе чаще больше, чем нехорошестей. И управлять нехорошестями не получится.
Ну а если не на поддержке, то, как и писалось в (1).
Но автор, в любом случае, молодец. Дельная идея.
7. bambr1975 877 05.11.11 08:54 Сейчас в теме
(1) на РАЗЛИЧНЫХ типовых и нетиповых конфигурациях платформ 8.1 и 8.2. В каталоге распаковки неопределенных (не относенных к соответствующему объекту) файлов не остается. Это проверено-перепроверено (на этом ставился приоритет). Если и есть недоделки - они, скорее всего, касаются чего-то более мелочного. Обнаружится ошибка - сообщите.
48. bambr1975 877 25.11.11 10:59 Сейчас в теме
Дежавю?
Конечно, если Вы, Maka2003, серьезно, то ответы были даны в (7) и (26). В любом случае, спасибо за проявленный интерес.
9. Boroda 90 05.11.11 11:28 Сейчас в теме
Оригинально! Это что-то типа "Новое и изменённое в текущем релизе", но наглядно, в реальной форме. Интересно будет попроовать, может быть, и использовать в дальнейшем для экспресс-анализа, т.к. в обычном режиме используется же Конфигуратор (см. (1)). Спасибо за творческий подход.
bambr1975; +1 Ответить
25. WellMaster 104 16.11.11 11:27 Сейчас в теме
(1) kapustinag, "если конфигурация на поддержке с запретом изменений, то окно сравнения и объединения не появляется"
Можно вызвать меню "Конфигурация - Сравнить конфигурации" даже в режиме поддержки без возможности объединений.
По сути, обработка дублирует встроенные средства. Однако, плюс остается плюсом за пытливость ума.
26. bambr1975 877 16.11.11 12:12 Сейчас в теме
(25) К сожалению в режиме "Сравнить конфигурации" нет возможности сравнить конфигурацию (файл конфигурации) с файлом обновления. Если бы эта возможность была - тогда бы обработка действительно дублировала встроенные средства. Задача этой публикации - все-таки, в разборе внутреннего формата 1С и приведении его из вида "черного ящика" к "человекочитаемому виду".
27. WellMaster 104 16.11.11 13:25 Сейчас в теме
(26) Верно, этого я не учел. Спасибо за наводку.
3. German 413 05.11.11 00:16 Сейчас в теме
Респект, наконец то у кого-то дошли руки
4. Magister 134 05.11.11 00:38 Сейчас в теме
Респект, плюс авансом.

//вот бы еще с хранилищем что-то сделать.... эх, мечты, мечты...
5. German 413 05.11.11 00:45 Сейчас в теме
6. Magister 134 05.11.11 00:51 Сейчас в теме
(5) Знаю, видел - но это не то, что мне надо.
Хочется хранить всю историю в нормальной VCS, конкретно - git. А для этого нужна не только распаковка, но и обратная операция - сборка .cf.
--
По теме - посмотрел, к сожалению разбор метаданных выполняется регулярками... а я то уж понадеялся, что кто-то таки нормально понял их структуру...
Но и то хорошо :)
8. CaSH_2004 372 05.11.11 08:56 Сейчас в теме
Отличная реализация, авансом плюсую, пока без надобности, но за хорошие инструменты не грех плюсануть.
10. sergnik 07.11.11 22:13 Сейчас в теме
плюсану, все достижения человеческого ума находят свое применение )) автору респект
11. che666 08.11.11 17:58 Сейчас в теме
+ автору респект за отличный инструмент
12. bambr1975 877 08.11.11 19:25 Сейчас в теме
Обнаружилась ошибка в работе программы при выводе дерева для обновлений версии 8.1. Обновил.
13. napan 33 09.11.11 09:07 Сейчас в теме
Хороша, очень понравилась
Спасибо автору, незаменимая вещь в работе программиста
Зачет автору и плюс
14. rus128 2 09.11.11 13:00 Сейчас в теме
Отличная идея!
Автору респект!
15. Doomino 53 10.11.11 16:50 Сейчас в теме
Вот спасибо! Очень нужна такая вещь в работе!
16. artspeed 179 10.11.11 17:53 Сейчас в теме
На самом деле идея неплохая.
Смущает только то, что сразу при распаковке ошибка:

{Форма.Форма.Форма(894)}: Значение не является значением объектного типа (ВидМетаданных)
ВидМетаданныхОбъекта=СтрокаДереваМетаданных.ВидМетаданных;
Торговля 10.3.14.3

Применял CFU 10.3.14.4
17. bambr1975 877 10.11.11 18:23 Сейчас в теме
Только что попробовал на обновлении 10.3.14.4 для платформы 8.2.
Скриншот:
18. bambr1975 877 10.11.11 18:34 Сейчас в теме
а также в режиме сравнения:
19. NovSL 9 11.11.11 10:31 Сейчас в теме
20. bambr1975 877 12.11.11 19:34 Сейчас в теме
Изменил некоторые эргономические параметры обработки - почистил и упорядочил код, изменил раскраску строк сравнения, добавил возможность установки флажка для сохранения настроек, добавил проверку на пустоту каталога распаковки - если каталог не пустой, создается подкаталог.
21. psamt1k 14.11.11 14:36 Сейчас в теме
Отличная вещь! спасибо автору!
22. Angeros 15.11.11 12:31 Сейчас в теме
23. ch1mera 15.11.11 12:43 Сейчас в теме
Респект, Отличная идея!
24. WellMaster 104 16.11.11 11:17 Сейчас в теме
Присоединяюсь ко всем респектующим.
28. Slach 17.11.11 09:24 Сейчас в теме
Отличная разработка, я правильно понимаю, что на ее основе можно попытаться написать распаковщик не в GUID папки а сопоставить GUID и нормальные имена в дереве метаданных?

Скажите пожалуйста а дизайн форм и дизайн макетов отчетов, в каком виде хранится в 1С? это текстовые или полностью бинарные данные?

Очень хочу написать распаковщик CF файлов в НОРМАЛЬНУЮ файловую структуру и интегрировать его с SVN
30. bambr1975 877 17.11.11 10:27 Сейчас в теме
(28) макеты отчетов хранятся в том виде, в котором они понятны 1С. Их 9 видов: табличный документ (MOXEL), двоичные данные (base64), Active document (base64), HTML Документ (base64), текстовый документ (обычный текст), географическая схема, схема компоновки данных (xml), макет оформления компоновки данных, графическая схема. Вы можете сами посмотреть - инструментарий в обработке вполне достаточный: открыть в дереве метаданных двойным щелчком или найти в файлах - открыть в блокноте.
32. Slach 17.11.11 13:32 Сейчас в теме
bambr1975 пишет:

(28) макеты отчетов хранятся в том виде, в котором они понятны 1С. Их 9 видов:


а как хранятся макеты форм? тоже чтото похожее на MXL?
33. Magister 134 17.11.11 13:57 Сейчас в теме
(28) Сам давно о таком мечтаю... даже аналог V8Unpack писать начал - но не закончил.
(32) Что-то страшное :)
Выполните команду, например, ЗначениеВСтрокуВнутр(Новый ДеревоЗначений) - вот примерно такого вида структура, если мне память не изменяет. И так много чего хранится.
Интересно, хоть кто-нибудь понял как разбирать и собирать эту структуру? Данная обработка парсит её регулярками, что для чтения нормально, но вот сохранять данные таким образом ну никак не получится...
34. bambr1975 877 17.11.11 14:24 Сейчас в теме
(33) есть V8Unpack, который НОРМАЛЬНО разбирает и собирает. Есть алгоритм вывода полученных из результатов разбора V8Unpack-ом данных в "человекочитаемом" виде. 1с-ка, в принципе все разобранное в отдельности и собранное воедино вполне нормально переваривает. Что хотелось бы еще сохранять?
35. Magister 134 17.11.11 17:34 Сейчас в теме
(34) V8Unpack распаковывает и упаковывает .cf. Но внутренние структуры - нет. Например вот форму по элементам разложить, ну или хотя бы получить всё не в виде файлов с именами в виде GUID-ов, а как дерево конфигурации - типа Документ -> Реквизиты -> Реквизит 1, Реквизит2, ...

То есть - интересует этот формат со скобочками фигурными. Полной его разборки и сборки я нигде не видел.
36. bambr1975 877 17.11.11 18:37 Сейчас в теме
(35) мат. часть: формой называется совокупность трех взаимосвязанных компонентов:
1) собственно объекта "форма"
2) программного модуля (при помощи его создаются различные свойства объекта, объект как бы управляется программным модулем)
3) диалогового окна (которое визуализирует объект и организует взаимодействие с пользователем)
Так вот, если посмотреть в состав файлов формы - их там как раз три и наберется - сам объект формы (файл без расширения), + папка с расширением, в которой будет т.н. "макет" (представление) формы и ее программный модуль (файлы form и module).
Вы хотите, чтобы вам "представление" формы в виде дерева разобрали?
В принципе, если действовать по инструкции http://infostart.ru/public/17108/ - и не вызывать форма.Открыть() - то то, что вы получите - можно передать на вход ну хотя бы этому - и получить вполне себе корректную разборку(только без заголовков элементов). А вот как быть с заголовками - я и сам не знаю. Но 1с - точно знает. В составе собранной сборки - открывает корректно.
37. Magister 134 17.11.11 20:51 Сейчас в теме
(36) Спасибо, но "мат.часть" я и так знаю. Под словом "Форма" я имел ввиду именно представление в вашей терминологии.

За наводку на обработки спасибо, но это опять не то... это использование "черного ящика" 1С, и никак не поможет со сборкой/разборкой всей конфигурации в читаемый и легко редактируемый человеком вид.

"Скобочки" - действительно можно получить через V8Unpack. А что дальше с ними делать?
29. asg1975 260 17.11.11 09:38 Сейчас в теме
Автор молодец, что тут скажешь. Кладем в копилку!
31. пользователь 17.11.11 13:17
Сообщение было скрыто модератором.
...
38. bambr1975 877 17.11.11 21:35 Сейчас в теме
"Скобочки" - внутренний формат 1с - внутреннее представление массивов, структур, таблиц, деревьев значений и форм тоже. Вам это представление нужно где-то в отрыве от 1с? Если 1с знает, как из него получать данные, значит, за помощью надо обращаться к нему же. И "дальше что-то с ними делать" тоже с помощью этого замечательного метода ( ЗначениеИзСтрокиВнутр(ТекстСоСкобочками))
39. awa 2602 18.11.11 00:10 Сейчас в теме
(38) Ну, вообще говоря, "скобочки" - это собственный 1С-овский способ сериализации объектов. В принципе, разобраться с их форматом особой сложности не представляет, просто это нудная кропотливая работа. Другое дело, я согласен, это почти никому не нужно. Но иногда приходится разбираться. Например, когда я делал декомпилятор запароленных модулей, то пришлось досконально разобраться с форматом файлов image, содержащих компилированный код модулей, и представляющих из себя все те же "скобочки". Благо, там формат совсем несложный. Или вот, описание таблиц в файле 1CD тоже хранится в таком формате "скобочек". Это описание можно увидеть в Tool_1CD.
Так что, все зависит от поставленных целей.
(37) Совет для желающих разбираться со "скобочками" не на основе регулярных выражений. Скобочки - это, по-сути, текстовое представление дерева. Открывающая фигурная скобка "{" - это начало дерева или ветки, запятая - это разделитель листьев дерева одного уровня, закрывающая фигурная скобка "}" - это конец ветки или дерева. Листьями могут являться:
  • вложенные деревья (ветки), начинаются с "{" и заканчиваются "}";
  • строки (выделяются кавычками);
  • числа (целые или с десятичной точкой);
  • GUIDы;
  • ссылки вида <десятичное число>:<шестнадцатиричное 32х-значное число> (такую ссылку можно увидеть, например, в битой ссылке "Объект не найден...");
  • числа с экспонентой (типа 3.67E12);
  • двоичные данные в формате base64 с префиксом "#base64:";
  • двоичные данные в формате base64 с префиксом "#data:";
  • двоичные данные в формате base64 без префикса.
dj_serega; awk; meuses; adhocprog; CratosX; SirYozha; sasha_r; vkr; artbear; bambr1975; Magister; +11 Ответить
41. Magister 134 18.11.11 00:19 Сейчас в теме
(39) Вот! Спасибо за ваш комментарий!
Примерно так я и думал, но до таких подробностей не дошел.
А, если можно, подскажите - как понимать строки вида {5, ....}
То есть когда первым элементом стоит число - иногда оно совпадает с количеством элементов, разделенных запятыми - но не всегда. Это просто совпадение, или закономерность?
42. bambr1975 877 18.11.11 07:35 Сейчас в теме
(41) Действительно, число - это не всегда количество элементов.
Пример: сравнение форм базовой и проф конфигураций:

А для представления формата "скобочек" в виде дерева удобно использовать обработку
РазборФайлаОписания1С 81 (изначально выложенную в http://infostart.ru/public/15597/ ), приведенную к виду прикладного инструмента в составе http://infostart.ru/public/69976/ (доступна при нажатии на кнопку "Разобрать").
40. Magister 134 18.11.11 00:15 Сейчас в теме
(38) Именно, нужно в отрыве от 1С. Точнее - преобразование его в что-либо более понятное.
Цель - иметь возможность безболезненно хранить историю конфигурации в VCS, и - главное для чего нужен формат - иметь возможность легко разрешать конфликтующие изменения.
Например - есть основная ветка, есть несколько параллельных веток для разработки, и ветка, которая будет в рабочей базе.
Хочется иметь возможность легко переносить нужные изменения в рабочую базу, и в то же время иметь возможность неспешной разработки несколькими разработчиками слабо связанного функционала в отдельных ветках, и в то же время обновлять их ветки изменениями в других ветках.

Примерно вот так: http://nakedstartup.com/2010/04/simple-daily-git-workflow
43. balabani 20.11.11 02:59 Сейчас в теме
Вот спасибо! Очень нужна такая вещь в работе!
44. RFRDCT 20.11.11 17:41 Сейчас в теме
kapustinag пишет:

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

Получили окно сравнения и объединения - и анализируем, что есть в обновлении, и как со всем этим бороться.

...А, я понял...Имеется в виду, что если конфигурация на поддержке с запретом изменений, то окно сравнения и объединения не появляется. Да, согласен, полезная вещь.

На каких конфигурациях проверяли?

При случае посмотрим
45. Attest 3 21.11.11 14:55 Сейчас в теме
Спасибо! Пригодится 100%!
46. Little-ann 15 22.11.11 10:10 Сейчас в теме
Отличная вещь! Все время хотелось чего-то такого, но руки не доходили...
47. пользователь 24.11.11 22:15
Сообщение было скрыто модератором.
...
49. keln 73 01.12.11 01:13 Сейчас в теме
Прекрасная вещь. Очень признателен афтору за идею.
50. Il 30 02.12.11 09:00 Сейчас в теме
51. BalVlad 20.01.12 09:49 Сейчас в теме
52. vkr 20.01.12 13:16 Сейчас в теме
"С помощью кольта и доброго слова вы сможете достичь
гораздо большего, чем только одним добрым словом" (с) Аль Капоне
Всегда уважаю тех, кто делает "кольты" - особенно для 1С... :)
54. bambr1975 877 21.01.12 12:33 Сейчас в теме
(52) vkr, спасибо, прослезило... Хотя, ничего "кольтового" не задумывалось... Просто интересно было.
55. vkr 23.01.12 07:53 Сейчас в теме
(54) Под "кольтом" имеется в виду некий сервисный инструмент, который
нормальные разработчики всегда прилагают к своим программным
пакетам (если они достаточно серьезны и масштабны).
За это и респект... :)
53. РазДва 20.01.12 14:42 Сейчас в теме
56. mihast 68 26.03.14 20:05 Сейчас в теме
Замечательная вещь. Спасибо !
57. SJR 11.11.14 10:17 Сейчас в теме
Если ли такая же вещь для управляемого приложения?
58. soulsteps 73 15.01.15 16:31 Сейчас в теме
59. Key-Zed 108 03.07.15 13:59 Сейчас в теме
Не работает с cfu файлами выпущенными на платформе 8.3.6
60. bambr1975 877 03.07.15 14:24 Сейчас в теме
(59) Key-Zed, советую для файлов обновлений, предназначенных для платформы 8.3 и выше использовать обработку V8Reader (она является более функциональной и также содержит в себе возможность анализа файлов обновлений).
61. Akuji 22 23.01.19 13:53 Сейчас в теме
{ВнешняяОбработка.CFU_ридер.Форма.Форма.Форма(1394)}: Значение не является значением объектного типа (Submatches)
ТипМакета=Match.Submatches(5);
1cprogr_nsk; +1 Ответить
Оставьте свое сообщение