CfProject – декомпиляция/компиляция конфигураций 1С:Предприятие

Публикация № 103834

Разработка - Инструментарий разработчика

71
CfProject выгружает CF-файлы в удобочитаемые Xml и текстовые файлы, а также загружает их обратно. Утилита предназначена для организации контроля версий через SVN, GIT, Mercurial , для помощи при восстановлении испорченных файлов конфигураций, а также для изучения внутренней структуры cf-совместимых файлов. Самым близким аналогом утилиты является V8Unpack.

Новое в Elisy.CfInspector v1.2:

Добавлено распознавание форматов epf/erf/cfu дополнительно к cf
В объекте Configuration поддерживаются свойства BriefInformation, DetailedInformation, Copyright, VendorInformationAddress, ConfigurationInformationAddress, разделение по видам объектов
Распознавание объекта Enum без расшифровки свойств


Новое в Elisy.CfInspector v1.1:

  • Распаковка image-объектов в виде подкаталога с файлами;
  • Распознавание имен для общих модулей, отчетов и обработок;
  • Переименование известных свойств согласно именам 1С;
  • Исправлена ошибка чтения cf-записи с нулевой длиной;

Утилита Elisy CfProject выгружает файлы в формате, совместимом с CF-файлами 1С:Предприятие, в удобочитаемые Xml и текстовые файлы, а также загружает их обратно. Утилита оформлена в виде внешней обработки 1С:Предприятие 8.2 и требует предустановленного .Net framework 4.0 и Elisy .Net Bridge 4.0.3. Самым близким аналогом утилиты является V8Unpack.

Утилита предназначена для организации контроля версий через SVN, GIT, Mercurial , для помощи при восстановлении испорченных файлов конфигураций, а также для изучения внутренней структуры cf-совместимых файлов.

Здесь представлен прототип Elisy CfProject CTP для всеобщего ознакомления с технологией. Условия распространения еще не определены. В основу утилиты положен проект Elisy MdInternals, предназначенный для программного доступа к объектам конфигураций.

На входе в утилиту поступает cf-файл, на выходе – cfproj-файл и дерево каталогов с выгруженными файлами. Распознанные файлы помещаются в соответствующие подкаталоги. Нераспознанные – в каталог Unresolved. Распознанные файлы преобразуются в xml-формат, в то время как нераспознанные записываются «как есть».

Основные возможности

Проект написан на C# и .Net framework и оформлен в виде сборок. Это позволяет без особых проблем обращаться ко всем свойствам и методам объектов из кода 1С через Elisy .Net Bridge.

Распознанные файлы записываются в дерево каталогов по видам объектов:

Структура каталогов после выгрузки[more]

Распознанные файлы выгружаются в XML-структуру. Это делает их совместимыми с многими просмотрщиками, позволяет контролировать логическую целостность формата файлов, а также обрабатывать их программно сторонними средствами:

Распознанные файлы выгружаются в XML-структуру

Распознанные свойства перемещаются в соответствующие разделы (атрибуты или тэги) XML-структуры:

Распознанные свойства перемещаются в соответствующие разделы (атрибуты или тэги)

Нераспознанные текстовые файлы во внутреннем формате, совместимом с 1С, переформатируются в удобочитаемый вид для будущего анализа:

Нераспознанные текстовые файлы переформатируются
        в удобочитаемый вид

Была предпринята попытка увеличить быстродействие за счет многопоточности

Что не реализовано в данной версии

В данной версии реализовано распознавание только файлов конфигураций, не реализовано распознавание внешних отчетов/обработок и CFU-файлов.

Утилита распознает только объекты конфигурации 1го уровня, помещая их по подкаталогам. Не распознает все остальное: формы, макеты, помещая все в каталог Unresolved

В каталоге Unresolved не распаковываются составные объекты с расширением img.

Для примера реализовано распознавание свойств только одного объекта: Функциональная Опция с отражением в Xml-структуре

Работа проверялась только на одной конфигурации.

// //

71

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

Наименование Файл Версия Размер
Elisy.CfProject.epf v1.2
.epf 66,58Kb
15.11.14
61
.epf 1.2 66,58Kb 61 Скачать
Elisy.CfProject.epf v1.1
.epf 56,56Kb
05.11.14
80
.epf 56,56Kb 80 Скачать
Утилита Elisy.CfProject.epf v1.0 (8.2.14)
.epf 59,49Kb
05.02.13
201
.epf 59,49Kb 201 Скачать
Тестовая конфигурация 8.2.14
.cf 645,53Kb
30.01.13
48
.cf 645,53Kb 48 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. yandextesting 144 06.01.12 16:24 Сейчас в теме
Разработчики платформы на последнем семинаре анонсировали выгрузку/загрузку конфигурации в XML-формате средствами самой платформы в одном из ближайших релизов - предположительно уже в 8.2.16.
2. tormozit 5591 06.01.12 16:50 Сейчас в теме
(1) Скорее всего там будет опять же лишь небольшой процент содержимого конфигурации (модули, тексты интерфейса и т.д.).
4. tango 484 07.01.12 01:55 Сейчас в теме
соглашусь с (2)
ВСЮ конфу в екемель? - да никогда.
это ж барабан на встречу
11. BabySG 08.01.12 19:00 Сейчас в теме
(2) Вся конфа будет выгружаться, во всяком случае - так было заявлено.
Ибо звучало так: "можно выгрузить и загрузить обратно".
Таким образом, если хоть что-то не выгрузили - что мы же мы потом загрузим? :)
5. Elisy 917 07.01.12 08:37 Сейчас в теме
(1) Это отличная новость - выгрузка XML проблему контроля версий охватит. На повестку дня встанет программный доступ к объектам конфигураций для создания "на лету". CfProject и MdInternals будут переориентированы в этом направлении.
3. sytkosa 07.01.12 01:46 Сейчас в теме
(xml) все это конечно круто. Но как собрать сие добро обратно. Сейчас самая актуальная проблема это выгрузка форм и макетов так как с программным кодом более мене все понятно 5есть стандартный механизм есть V8Unpack которые выгружают все в более менее удобочитаемом виде.
6. Elisy 917 07.01.12 08:44 Сейчас в теме
(3) CfProject собирает все, что нараспаковывал, обратно
7. Misanets 336 07.01.12 21:48 Сейчас в теме
А, собственно зачем такие танцы??? Ни кто не отменял бэкап скула или дт.
13. Elisy 917 09.01.12 07:46 Сейчас в теме
(7) Как-то работа с cf и ваше предложение о dt- sql- архивах не согласуются. Не могли бы вы мысль немного развернутей описать? :) Спасибо
9. zavedeev 08.01.12 00:05 Сейчас в теме
10. anton.fly7 146 08.01.12 15:15 Сейчас в теме
а что эта программа сделает с модулями, которые не включены в поставку?
и с запаролеными обработками?
15. Elisy 917 09.01.12 11:57 Сейчас в теме
(10)(12) Не стоит слишком много ждать от прототипа. Думаю, что утилита поместит такие модули в Unresolved-каталог "как есть".
Хотя в Elisy MdInternals есть зачатки функционала декомпиляции opcode-модулей, которого хватает, чтобы понять суть декомпилированного модуля, но CfProject этот функционал не использует.
На C# декомпиляция через объект класса Elisy.MdInternals.Cil.CodeReader выглядит примерно так:
        public static void UnloadCommonModules(Image image, string folder)
        {
            MetadataPackage md = new MetadataPackage(image);

            var requestModules = from o in md.MetadataObjects.AsParallel()
                                 where o is CommonModule
                                 select new {Content = o.ImageRow.Body.ToString(), FileName = o.ImageRow.FileName };

            var requestContent = from module in requestModules.AsParallel()
                                 join ir in image.Rows.AsParallel() on module.FileName + ".0" equals ir.FileName
                                 //orderby module.Content
                                 select new { Module = module.Content, Image = ((Image)ir.Body).Rows.Where(i => i.FileName == "image").FirstOrDefault() };

            var files = requestContent.ToArray();

            foreach (var file in files)
            {
                if (file.Image == null)
                    continue;

                string fileName = file.Module;
                fileName = fileName.Substring(fileName.IndexOf('"') + 1);
                fileName = fileName.Substring(0, fileName.IndexOf('"'));

                string opCodeString = file.Image.Body.ToString();


                using (StreamWriter outfile =
                    new StreamWriter(folder + fileName + ".opcode"))
                {
                    outfile.Write(opCodeString);
                }

                CodeReader reader = new CodeReader(opCodeString, true);
                string decompiledString = reader.GetSourceCode();
                using (StreamWriter outfile =
                    new StreamWriter(folder + fileName + ".txt"))
                {
                    outfile.Write(decompiledString);
                }

            }
Показать

В общем - декомпиляция модулей - это тема отдельной статьи. Если будет интерес, постараемся сделать примеры с кодом 1С.
30. Elisy 917 04.06.12 12:20 Сейчас в теме
(15) Функциональность декомпиляции в будущих версиях будет вынесена из проекта Elisy.MdInternals как провокационная для лицензионной политики 1С. Хотя эта операция разрешена в ГК РФ.
Декомпилирование модулей расширено и опубликовано on-line по адресу:
http://www.1csoftware.com/dotnet/ru-ru/decompiler
Resha; teflon; +2 Ответить
32. Resha 08.12.12 13:15 Сейчас в теме
(30)
Замеченна проблема у сервиса:
Проблема с кавычками внутри строк: вместо "чччч ""Текст в кавычках внутри строки"" yyy" возвращается "чччч "Текст в кавычках внутри строки" yyy". Поэтому после завершения необходимо выполнить проверку модулей.
35. Elisy 917 10.12.12 09:38 Сейчас в теме
(32) Resha,
Замеченна проблема у сервиса:
Проблема с кавычками внутри строк: вместо "чччч ""Текст в кавычках внутри строки"" yyy" возвращается "чччч "Текст в кавычках внутри строки" yyy". Поэтому после завершения необходимо выполнить проверку модулей.

(33) Resha,
Перепутано расположение параметров при установке параметров запроса: вместо “Запрос.УстановитьПараметр("Дата", Дата);” сервис вернул “Запрос.УстановитьПараметр(КъмДата, "Дата");”


Спасибо за баг-репорты. Библиотека подправлена. В новой версии 1.0.0.5 эти проблемы должны решиться.
Вы можете проверить прямо сейчас на сайте:
http://www.1csoftware.com/dotnet/ru-ru/decompiler
33. Resha 08.12.12 13:19 Сейчас в теме
(30)

И ещё одна:

Перепутано расположение параметров при установке параметров запроса: вместо “Запрос.УстановитьПараметр("Дата", Дата);” сервис вернул “Запрос.УстановитьПараметр(КъмДата, "Дата");”
34. Resha 08.12.12 13:26 Сейчас в теме
(30)
Похоже проблема с порядком параметров обща, т.к. перепутан порядок парамтеров и в определении функций и процедур. Сервис вернул: "Функция ХХХХХХ(Парам2, Парам 1) Экспорт" - параметры должны быть в другом порядке

Наврал. с этим все ок, но вот с передачей параметров ошика есть:

Вызов функций: "Новый ХранилищеЗначения(Новый СжатиеДанных(), ДвДанные)" - сжатие - это второй параметр.
Ну и с запросом выше - тоже самое.
12. softest 08.01.12 20:13 Сейчас в теме
Интересно что оно делает из формой или с макетом или с запароленными модулями, нужно будет посмотреть!
14. Degastantrag 09.01.12 10:12 Сейчас в теме
16. Maks_Payn 10.01.12 11:19 Сейчас в теме
Спасибо! Интересная вещь!
17. Гость 10.01.12 22:52
Можнло поэсперементировать при загрузке. Серьёзная штука
18. Elisy 917 11.01.12 14:37 Сейчас в теме
Кому тяжело скачивать Elisy .Net Bridge 4.0.3 с англоязычного форума, выложили дистрибутив на Инфостарт здесь:
http://infostart.ru/public/20035/
19. Imm 12.01.12 04:13 Сейчас в теме
За старания +. Очень интересная штуковина
20. Maks888 1 12.01.12 09:17 Сейчас в теме
Всем спасибо за комменты!
21. V0fka 25 19.01.12 13:13 Сейчас в теме
22. MMF 678 16.05.12 16:16 Сейчас в теме
Плохая идея, пока выгрузишь, а тем более соберешь, УПП - состаришься. Кому оно вообще нужно - конфа в xml?
Yakud3a; denis_aka_wolf; awa; pumbaE; +4 Ответить
23. Elisy 917 17.05.12 07:11 Сейчас в теме
(22)
Плохая идея, пока выгрузишь, а тем более соберешь, УПП - состаришься. Кому оно вообще нужно - конфа в xml?

В первую очередь нужна конфа в xml или другом читаемом формате для систем версионирования. 1С-ники работают с хранилищем конфигурации, не догадываясь, что научный прогресс шагнул далеко вперед.
На втором месте - испорченные конфигурации, которые можно выгрузить и руками исправить.
Далее - автоматическое создание конфигураций и обработок, автоматизация операций конфигуратора.
Как-то так.
graphbuh; +1 Ответить
24. pumbaE 627 17.05.12 11:36 Сейчас в теме
(23) именно xml плохая идея. Покажите мне нормальную diff алку для xml файлов, а потом говорите, что xml хорош для систем версионирования. Hg, git, bzr рекомендуют для xml файлов ставить признак binary, что бы система не делала автоматических merge.

автоматизация операций конфигуратора: каких интерестно?
25. Elisy 917 17.05.12 12:14 Сейчас в теме
(24) pumbaE,
xml хорош тем, что можно проверить целостность каждого файла через соответствие открывающих и закрывающих тэгов. Это распространенный формат, поддерживаемый многими в мире. Имеет текстовое наглядное представление, поэтому распознается и хранится системами версионирования как родной формат. Первый раз слышу о рекомендации ставить на него признак binary. Будьте добры предоставьте ссылку на такую рекомендацию, а то непонятно в каком контексте это нужно понимать. Тысячи проектов на Asp.Net, PHP живут в СВН без этого признака, являясь по сути XML-подобными (html со вставками кода).

К слову сказать, не вся функциональность CFProject документирована. Этот проект позволяет делать выгрузку не только в xml, но и в родной для 1С формат со множеством фигурных скобок.

Навскидку - автоматизировать замену всех комментариев реквизитов Организация в документах или поиск и замена во всех ячейках в макетах конфигурации. Написание своих визардов по созданию форм, макетов.
26. pumbaE 627 17.05.12 13:04 Сейчас в теме
(25) мне понятно стало, что с xml и версионым контролем вы активно не работали.
Поясню:
Для затравки , svn покажет красиво различия в xml, если структура не менялась, а только содержимое элементов, то конечно все просто и красиво, пример Не svn но принцип думаю понятен , но вот такой распространенный случай как : в объект конфигурации добавили слово удалить и добавили новый объект с тем же именем, svn не решит и понять в выводе diff будет сложно, т.к. автоматическая решалка конфликтов, предложит оставить наименование без "удалить".
27. Elisy 917 17.05.12 15:59 Сейчас в теме
(26) pumbaE,
понятно, что всегда бывают конфликты и не только в xml, но и с исходным кодом других проектов.
Напомню, что обсуждение началось с того, что было высказано сомнение в формате xml, как взятого за основу в обработке. Как обоснование приведено сравнение версий в (26). Но тогда возникает вопрос, какой формат будет более подходящим? Сколько приходит на ум потенциальных форматов, везде будут конфликты с переименованием реквизита в "удалить" и добавлением нового одноименного при автоматическом решении конфликтов.
Не проверял, но писали где-то, что проект Mercurial более стойкий к такому виду конфликтов, так как спроектирован был специально для этого.
58. AlexWhite 191 16.01.13 20:27 Сейчас в теме
В теме, кто знает, достаточно давно. Пример работы используемого мной средства разборки/сборки cf-файлов смотрите по ссылке.
(заказная оплаченная разработка)
Кратко об инструменте: названия папок мнемоничные, модули выгружаются в текст, формы в текст с фигурными скобками, таблицы в mxl, картинки в картинки, служебные файлы, в служебные и т.д.
Область применения: является элементом используемой технологии управления распределенными программными проектами для v8 (проекты промышленного масштаба).
Из опыта эксплуатации: подтверждаю мнение (24) pumbaE, о плохой идее тотальной xmlизации выгруженных файлов, но допускаю, что где-то есть "золотая середина" - что-то надо однозначно в текст, но что-то, вероятно, лучше будет работать (выгрузить/загрузить), как xml. И, да, xml в CVS лучше живет бинарным. Ранее хранили, как текст, но после пары граблей от хранения текстовым типом отказались.
Желание: необходимо локализовать и подправить несколько известных багов и, возможно, развить (оптимизировать), чтобы облегчить технологию взаимодействия с CVS (пока сильно уступает в эффективности gcompу, задействованному в проектах на 7.7).
Возможности: могу предоставить площадку для разработки, тестирования, посильное финансирование, в целесообразности открытия проекта и вообще, в распространении этого инструмента, как самостоятельного продукта (вне зависимости от типа лицензии) пока сомневаюсь. Этот инструмент, пока, как скальпель - в одних руках спасает жизнь, в других может смертельно ранить :-)
60. Magister 133 16.01.13 22:19 Сейчас в теме
(58)
А смысл тогда учавствовать, если полученный результат не будет никак распространяться?
72. AlexWhite 191 17.01.13 09:18 Сейчас в теме
(60) Magister, смысл участия каждый определяет для себя самостоятельно. У меня достаточно зрелый работающий продукт, с многолетним опытом промышленного использования, в вашем, еще только "возможно, в будущем будет сделана сборка...". Думаете, мне интересно, возвращаться на 6 лет назад - к началу разработки моего инструмента? :-) Хотите распространять свой - пожалуйста, кто ж вам запретит? Хотите распространять мой или совместный - обсуждаемо, но сначала необходимо определиться с целями распространения с учетом различных интересов участников. Известное дело, поговорили, собрались, низкий старт, потом начинается, у одного "рутина", у другого - поигрался и отдал, у третьего - увидел, "соблазнил и овладел", понял, что "жалкое подобие правой руки", пропал интерес :-)
75. Elisy 917 17.01.13 09:51 Сейчас в теме
(72) AlexWhite,
Не хочу вас огорчать, но проект 6-летней давности мог морально устареть. За это время очень многое поменялось. В логе Python 2.2 выдает язык, на котором написан проект. Специалистов под него мало, особенно среди 1С сообщества. Я не видел проектов на Инфостарт, применяющих Python. Судя по тексту в блокноте до полного парсинга метаданных вы так и не дошли. Есть частичный парсинг для построения дерева, но сути не меняет.

Смысла скрывать проект нет. Судя по оживленной теме здесь появляется куча разработок, аналогичных v8unpack. Начинается конкуренция. Конкуренцию выиграют бесплатные, открытые и кому выделяются ресурсы.
Ресурсы нужны. Особенностью таких проектов является необходимость регулярно уделять внимание проекту, так как 1С время от времени вносит изменения в структуру метаданных и новые метаданные. Изменения были в 8.2.13, 8.2.15, (вроде 8.2.17), 8.3
73. Elisy 917 17.01.13 09:20 Сейчас в теме
(58) (60) Смысла участвовать в закрытых проектах действительно мало, если только из-за "посильного финансирования" )))))
В моем случае схема предельна ясна. Проект под GPL будет рекламировать платный сопутствующий проект .Net Bridge. И наоборот, платность .Net Bridge позволяет выделять некоторое количество ресурсов на развитие CfProject. Плюс дополнительные выгоды: продажи для неGPL-проектов, использование в своих возможных будущих коммерческих разработках.

Из опыта эксплуатации: подтверждаю мнение (24) pumbaE, о плохой идее тотальной xmlизации выгруженных файлов, но допускаю, что где-то есть "золотая середина" - что-то надо однозначно в текст, но что-то, вероятно, лучше будет работать (выгрузить/загрузить), как xml. И, да, xml в CVS лучше живет бинарным. Ранее хранили, как текст, но после пары граблей от хранения текстовым типом отказались.

Если раньше у меня были сомнения относительно выбора XML или, например, Json (за лаконичность), то теперь все больше склоняюсь к XML по следующим причинам:
1. Совместимость. Родной формат выгрузки 8.3 - это xml: большинство объектов метаданных выгружаются в этом формате. Использование этого формата приведет к возможности подменять файлы в 2х проектах простым копированием. Вот пример 8.3:
<?xml version="1.0" encoding="UTF-8"?>
<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<CommonPicture uuid="d154d984-e303-488f-903e-1e7349a2c2a8">
		<Properties>
			<Name>BCGВопросы</Name>
			<Synonym xsi:type="v8:LocalStringType">
				<v8:item>
					<v8:lang>ru</v8:lang>
					<v8:content>BCG вопросы</v8:content>
				</v8:item>
			</Synonym>
			<Comment/>
		</Properties>
	</CommonPicture>
</MetaDataObject>
Показать


2. Xml xml'у рознь. Его можно по-разному оформить. Интерфейс у Microsoft представлен через XAML - разновидность XML. Опять же html-это xml. Согласен, что мало толку от xml вида <column><row/><row/><row/></column><column><row/><row/><row/­></column>... когда в xml записана таблица с данными.
3. И какая-то альтернатива строкам "{0,{..}}" должна быть. Если не Xml, то что? Необработанные данные еще хуже иметь в репозитарии.
88. AlexWhite 191 18.01.13 10:20 Сейчас в теме
я беру на себя, как на разработчика, определенные обязанности

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

Обращался, сначала говорил, что занят (посмотрю через...месяцев), потом перестал отвечать на письма. Или мои письма попадают в спам, или он потерял интерес, такое в моей практике случается часто.
составить вам конкуренцию (чего я делать не собираюсь).

А надо бы! Сделали бы лучше, я бы у вас купил!
никаких обязанностей нет.

Поэтому, мой проект пока закрыт.
Хочу - делаю, не хочу - не делаю.

В закрытом проекте это право за вами сохраняется. Появилось желание, взялись за задачу, сдали решение, заработали. Взялись за задачу, интерес пропал до сдачи решения, сообщили "нишмагла", ни кто ни кому не должен, в чем трудность? :-)

кто работает с Delphi, так как ваш проект написан на нем.

Мне, как потребителю, без разницы, на чем написан проект, так как от него мне нужны определенные потребительские качества. Доступ в проект предоставляю для того, чтобы сэкономить новому разработчику от года до пяти лет, написать новый может, хоть шариковой ручкой, лишь бы результат обладал требуемыми потребительскими качествами :-)
обратиться к аутсорсерам. Определить функциональность и принять оптимальную цену.

Пройденный этап. У аутсорсеров, с кем общался, "глаза боятся" существенно сильнее, чем "руки делают" из-за отдаленности от 1С. Придать ускорение вашему или другому аналогичному проекту для меня затруднительно, если он будет хоститься где-то, вне моей RMS, так как управляемое инвестирование предпочитаю бесконтрольному :-)
Бесплатный открытый проект может "взлететь" только при наличии у него "кровь-из-носу-заинтересованного" "толкателя" (пример GComp.exe). Когда "толкателем" выступает программист, то, проект, как минимум, обеспечен одной головой и парой рук, даже если все остальные потеряют интерес. Если я займусь обратно программированием, несколько десятков заказчиков станут несчастными, а несколько десятков специалистов потеряют работу или приработок.
Для заинтересованных, прочтите, пожалуйста, (58), свяжитесь со мной любым удобным способом. От продолжения обсуждения, извините, вынужден отказаться, дела зовут :-)
111. AlexanderKai 09.12.14 12:33 Сейчас в теме
(58) AlexWhite,
И, да, xml в CVS лучше живет бинарным. Ранее хранили, как текст, но после пары граблей от хранения текстовым типом отказались.

Расскажите о граблях более подробно, пожалуйста. Неужели такие штуки как xmldiff не спасают?
28. AlexanderKai 18.05.12 12:20 Сейчас в теме
Интересное решение, кто-нибудь реально использует в работе? Впечатления, выявленные недостатки?
xzorkiix; +1 Ответить
29. Elisy 917 18.05.12 13:09 Сейчас в теме
(28) AlexanderKai,
сомневаюсь, что кто-то использует в работе. Все ждут 1С 8.3, где ожидается схожая функциональность при выгрузке конфигурации в облака.
31. Elisy 917 23.07.12 08:52 Сейчас в теме
Как и обещала компания 1С в 8.3 добавлена выгрузка конфигурации в xml-файлы. Но почему этот процесс занимает так много времени?! :)
36. Elisy 917 24.12.12 15:15 Сейчас в теме
В связи с популярностью разработки решено выделить немного ресурсов для ее развития.
Если у кого есть пожелания, пожалуйста, делитесь.
Многие возможности уже реализованы, но не документированы. Возможно, многие проблемы и пожелания уже можно решить на программном уровне.
В будущем курс будет взят на формат файловой выгрузки конфигурации 1С 8.3 для совместимости.
37. МихаилМ 25.12.12 17:01 Сейчас в теме
проверил на "битой" конфигурации.


sql1c.epf - выдала кучу собщений об ошибке и ничего не распаковала.
v8unpack - справилась с задачей.
38. Elisy 917 26.12.12 08:13 Сейчас в теме
(37) МихаилМ,
sql1c.epf - выдала кучу собщений об ошибке и ничего не распаковала.
v8unpack - справилась с задачей.

Можно узнать, какая связь между CfProject и обработкой sql1c.epf? Я не нашел такую обработку в списке файлов для скачивания.
39. МихаилМ 26.12.12 10:04 Сейчас в теме
(38)
виноват конечно Elisy.CfProject.epf

+
"битый" cf
Прикрепленные файлы:
configsave.7z
40. Elisy 917 29.12.12 08:34 Сейчас в теме
(39) МихаилМ,
Не скачивается. Долго думает, потом после выбора куда скачать скачивает файл с 0 байт.
41. МихаилМ 29.12.12 10:19 Сейчас в теме
42. Elisy 917 29.12.12 11:28 Сейчас в теме
(41) МихаилМ,
Скачать удалось.
CfProject состоит из 2х уровней: 1й - работа на уровне записей cf-файла - отвечает класс ImageReader
2й - уровень метаданных, из записей cf-файла строится связанная структура (класс MetadataPackage).

Ошибка, описанная вами, происходила из-за позиции 22F файла, где запись дана с 0й длиной. Ее поправили и получилось прочитать 10297 записей.
Но этого недостаточно для 2го уровня, так как нет точки входа - записи с именем "root". Соответственно после устранения 1й ошибки появилась неустранимая ошибка - невозможно найти запись с именем root.

Максимум, что можем предложть - дать доступ средствами 1С к таблице записей cf-файла image.Rows. На C# код будет примерно такой:
var stream = new FileStream(@"D:\336-cfproject\configsave\configsave.cf", FileMode.Open, FileAccess.Read, FileShare.Read);
Image image = ImageReader.ReadImageFrom(stream);

Но готовых процедур выгрузки/загрузки записей, как в v8unpack пока нет. Поэтому не знаю как это может вам помочь.
43. Модератор раздела artbear 16.01.13 12:13 Сейчас в теме
Исходники/разработка проекта так и будет закрытой?
Давно использую подобные инструменты.
Хочу присоединиться к какой-нибудь разработке и знаю разработчиков, также готовых помочь в разработке подобных инструментов.
Пока примериваюсь к v8unpack, как наиболее открытом и вполне рабочему инструменту.
44. andrewks 1269 16.01.13 12:37 Сейчас в теме
(43) artbear, я хочу написать свой v8unpack в виде ВК NativeAPI, с блэкджеком и прочими атрибутами ;-)
но базироваться планирую на лазарус
45. Модератор раздела artbear 16.01.13 12:57 Сейчас в теме
(44) Хорошее дело - но я бы лично сделал набор независимых классов для возможности создания как ВК, так и консольного приложения для различного использования.
Лазарус - это паскаль?
Меня интересует именно открытый проект.
В дальнейшем планирую юзать версионники с разобранными конфигурациями и внешними файлами.
46. andrewks 1269 16.01.13 13:24 Сейчас в теме
(45) artbear, да, лазарус на базе FPC реализован

но я бы лично сделал набор независимых классов для возможности создания как ВК, так и консольного приложения для различного использования

так вроде полно шаблонов есть.
48. Elisy 917 16.01.13 13:55 Сейчас в теме
(44) andrewks,
artbear, я хочу написать свой v8unpack в виде ВК NativeAPI, с блэкджеком и прочими атрибутами ;-)
но базироваться планирую на лазарус

Как говорится, планировать одно, а сделать - сложнее. Опять же вопросы: кому нужен функционал после выхода 8.3?
CfProject - C#-проект в основе которого сидит .Net-сборка Elisy.MdInternals.dll с функциональностью:
1. Нижний уровень
Чтение-запись cf-файлов
Парсинг-сериализация "{0,{..}}"-подобных строк
2. Верхний уровень
Построение структуры на основе cf-записей, распознавание объектов конфигурации.

Так как это .Net-сборка, то все ее классы и функциональность доступна через Elisy .Net Bridge из кода 1С и внешних обработок или из любых .Net-проектов. Портировать сборку на Mono 2.8, думаю, труда не составит.
49. andrewks 1269 16.01.13 14:21 Сейчас в теме
(48)
Как говорится, планировать одно, а сделать - сложнее

да нет там ничего сложного. единственная проблема - время, которого катастрофически не хватает.
насчёт "кому это надо" - потребность есть. конкретно свою реализацию я планирую как одно из ответвлений проекта http://infostart.ru/public/166557/ , ибо даже после выхода 8.3 умирающие файловые базы никуда не исчезнут. ну, а как другое направление - как раз разбор cf в текстовые файлы для svn и прочих
51. Elisy 917 16.01.13 14:53 Сейчас в теме
(49) andrewks,
да нет там ничего сложного. единственная проблема - время, которого катастрофически не хватает.
насчёт "кому это надо" - потребность есть. конкретно свою реализацию я планирую как одно из ответвлений проекта http://infostart.ru/public/166557/ , ибо даже после выхода 8.3 умирающие файловые базы никуда не исчезнут. ну, а как другое направление - как раз разбор cf в текстовые файлы для svn и прочих

Когда я говорил, что сложно, я не имел ввиду - невозможно для среднего ума. Я имел ввиду комплексно время + навыки + дальнейшая поддержка. Направление разбора cf для SVN охватывает 8.3 с выгрузкой в формате XML, как я понимаю.
53. andrewks 1269 16.01.13 15:04 Сейчас в теме
(51) по вопросу "Направление разбора cf для SVN" лично я считаю, что это ещ должно было быть реализовано штатно в 8.0, ну, на крайняк в 8.1. но 1с не ищет лёгких для пользователей и разработчиков путей
55. Elisy 917 16.01.13 15:13 Сейчас в теме
(53) andrewks,
Elisy, по вопросу "Направление разбора cf для SVN" лично я считаю, что это ещ должно было быть реализовано штатно в 8.0, ну, на крайняк в 8.1. но 1с не ищет лёгких для пользователей и разработчиков путей
1C прагматична. В принципе для коммерческой программы оправдано. Выгрузка в файлы появилась для публикации конфигурации в облаках и, как реакция, на популярные разработки типа v8unpack. Специалисты из 1С наверняка мониторят сообщество на предмет новых фич в свои продукты. В 8.4 нужно ждать скорее всего Снегопата ))))).
50. andrewks 1269 16.01.13 14:23 Сейчас в теме
(48) кстати, с выходом 8.3 сами длл-ки на .NET оказываются на очень интересном положении, ограничивающим применение конкретной ОС
52. Elisy 917 16.01.13 14:58 Сейчас в теме
(50) andrewks,
Elisy, кстати, с выходом 8.3 сами длл-ки на .NET оказываются на очень интересном положении, ограничивающим применение конкретной ОС

Нет в этом положении ничего интересного: не будет .Net, будет Mono.
Но пока в NativeAPI не появится IDispatch-подобный тип, стандарт останется ущербным по сравнению с COM ВК.
Кроссплатформенность в 1С для ВК - это миф. Чтобы быть NativeAPI ВК идеально кроссплатформенной, это разработчику нужно поддерживать зоопарк дистрибутивов:
Windows + Linux + plugin для IE + plugin для FF + plugin для Chrome + plugin для Opera
помноженное на 2 (32х и 64x)
Сомневаюсь, что кто-то располагает такими ресурсами. А значит и кроссплатформенности не будет.
54. andrewks 1269 16.01.13 15:05 Сейчас в теме
(52) согласен, NativeAPI ущербна, ведь функционал-то есть, чтобы замутить нечто подобное, но см. (53) последнее предложение
47. Elisy 917 16.01.13 13:46 Сейчас в теме
(43) artbear,
Исходники/разработка проекта так и будет закрытой?
Давно использую подобные инструменты.
Хочу присоединиться к какой-нибудь разработке и знаю разработчиков, также готовых помочь в разработке подобных инструментов.
Пока примериваюсь к v8unpack, как наиболее открытом и вполне рабочему инструменту.

Была подготовка к большей открытости. Например, вынесено декомпилирование модулей в отдельный проект. Без этого действия 1С не дала бы жизни проекту, преследуя открытое распространение.
Но после выхода 1С 8.3 с возможностью выгрузки конфигурации в файлы целесообразность разработки CfProject оказалась под вопросом. Возникло несколько вопросов: кто будет пользоваться, если в 1С есть функционал "из коробки"? Кто будет участвовать в проекте, если даже после открытия исходного кода v8unpack никто не присоединился к его разработке?
Если проект интересен сообществу, то мы можем рассмотреть возможность публикации под GPL-лицензией на GitHub.
59. Magister 133 16.01.13 22:09 Сейчас в теме
(43)
(44)
Давайте вместе :)
Начало у меня уже есть - http://infostart.ru/public/124213/
Как раз Lazarus использую.
Могу выложить код (на github, например).
61. andrewks 1269 16.01.13 22:19 Сейчас в теме
(59) Magister, на чём базируется? на TStream, надеюсь?
62. Magister 133 16.01.13 22:37 Сейчас в теме
(61)
Нет, а зачем? :)
Примерно так:
FileOpen
CreateFileMapping
MapViewOfFile

И дальше работа с памятью. Так быстрее, чем через TStream.
63. andrewks 1269 16.01.13 22:41 Сейчас в теме
(62) Magister, хмм... и как, интересно, Вы это собирались компилить для линукс?
65. Magister 133 16.01.13 22:55 Сейчас в теме
(63) Примерно вот так: http://www.freepascal.org/docs-html/rtl/baseunix/fpmmap.html
(64) Возможно, я не разбирался как работает TFileStream. Возможно разница не будет большой, не проверял.
Но однозначно будет быстрее полного чтения файла в память.
68. andrewks 1269 16.01.13 23:06 Сейчас в теме
(65) Magister,
Примерно вот так

это уже не банальная компиляция, это почти переписывание отдельных участков, в то время, как TStream даёт больший универсализм. впрочем, если линукс как одна из целевых платформ не стоит, то, может, и не стоит заморачиваться
70. Magister 133 17.01.13 00:38 Сейчас в теме
(68) Переписывать нужно только пару функций - открытие файла и закрытие. Они возвращают адрес в памяти и размер, а дальше ничего не меняется - т.к. идет работа с памятью.
71. Elisy 917 17.01.13 08:24 Сейчас в теме
(68) (69) Я не мешаю вам со своими комментариями и C#? :))))))))
81. Magister 133 18.01.13 02:36 Сейчас в теме
(71) Только самую малость, и только C# :))))))

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

По поводу же моей разработки - она больше была сделана "для разминки ума", чтобы не забывать всё остальное кроме 1С. Ну и как ответ на наш спор с Elisy по поводу быстродействия Delphi vs .NET.
Практического применения ей пока не вижу, если только не пытаться составить вам конкуренцию (чего я делать не собираюсь). Потому и готов тратить на неё только свободное время.
Just for fun, как говорится.

(73)
И какая-то альтернатива строкам "{0,{..}}" должна быть. Если не Xml, то что? Необработанные данные еще хуже иметь в репозитарии.

Посмотрите, например, формат .dfm - формы Delphi. По-моему, это как раз то, что нужно. Пример реальной формы (сократил):
object fmMain: TfmMain
  Left = 192
  Top = 111
  Width = 800
  Height = 600
  Caption = #1041#1080#1083#1077#1090#1099' '#1043#1040#1048
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -13
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  Position = poScreenCenter
  ShowHint = True
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  PixelsPerInch = 96
  TextHeight = 16
  object Panel1: TsPanel
    Left = 0
    Top = 0
    Width = 792
    Height = 62
    Align = alTop
    BevelOuter = bvLowered
    TabOrder = 0
    OnMouseUp = sbMouseUp
    SkinData.SkinSection = 'PANEL'
    DesignSize = (
      792
      62)
    object sSpeedButton3: TsSpeedButton
      Tag = 9
      Left = 735
      Top = 12
      Width = 40
      Height = 40
      Anchors = [akTop, akRight]
      Caption = '?'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -32
      Font.Name = 'MS Sans Serif'
      Font.Style = [fsBold]
      Layout = blGlyphTop
      ParentFont = False
      ParentShowHint = False
      ShowHint = True
      Spacing = 1
      OnClick = sSpeedButton3Click
      OnMouseUp = sbMouseUp
      SkinData.SkinSection = 'SPEEDBUTTON'
    end
    object Bevel1: TsPanel
      Left = 7
      Top = 3
      Width = 55
      Height = 55
      BevelOuter = bvNone
      TabOrder = 0
      OnMouseUp = sbMouseUp
      SkinData.SkinSection = 'SPEEDBUTTON'
      object sb1: TsSpeedButton
        Tag = 2
        Left = 7
        Top = 7
        Width = 40
        Height = 40
        Hint = '1-'#1081' '#1074#1072#1088#1080#1072#1085#1090
        Action = Action1
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -32
        Font.Name = 'MS Sans Serif'
        Font.Style = [fsBold]
        Layout = blGlyphTop
        ParentFont = False
        ParentShowHint = False
        ShowHint = True
        Spacing = 1
        OnMouseUp = sbMouseUp
        SkinData.SkinSection = 'SPEEDBUTTON'
      end
    end
  end
end
Показать

С таким форматом и merge сделать теоретически должно быть возможным.

(79)
Риторический вопрос: В чем смысл открывать проект и "рвать пупок", изыскивая собственные ресурсы - деньги (восполнимый) и время (не восполнимый), когда есть возможность, по крайней мере, зарабатывать, занимаясь интересным (любимым) делом в проекте с ограниченным (но достаточно широким) кругом допущенных лиц?

Смысл, как минимум, в том, что подключившись к вам - я беру на себя, как на разработчика, определенные обязанности - выполнить определенный функционал в определенные сроки. В замен за это получаю какую-то компенсацию.
В противном же случае - никаких обязанностей нет. Хочу - делаю, не хочу - не делаю. Как отдых после рабочего дня :)
84. Elisy 917 18.01.13 08:08 Сейчас в теме
(81) Magister,
Посмотрите, например, формат .dfm - формы Delphi. По-моему, это как раз то, что нужно. Пример реальной формы (сократил):

По-моему нет. Кто кроме Delphi поймет этот формат? Формат xml вы сможете обработать в любой программной платформе, в т.ч. 1С. JSON также распространен. А доморощенный формат - удел узкого круга посвященных.
86. denis_aka_wolf 73 18.01.13 08:16 Сейчас в теме
(84) в дополнение:
Делфи значительное время тратит на компиляцию...
89. Magister 133 18.01.13 14:50 Сейчас в теме
(84)
По-моему нет. Кто кроме Delphi поймет этот формат? Формат xml вы сможете обработать в любой программной платформе, в т.ч. 1С. JSON также распространен. А доморощенный формат - удел узкого круга посвященных.

Человек :)
Я предложил такой вариант как наиболее простой для автоматического слияния. С XML так просто не получится.
Впрочем, если есть альтернативы лучше - я только за :)

(86)
в дополнение:
Делфи значительное время тратит на компиляцию...

Ну уж значительно поменьше, чем C/C++. Время для небольших проектов исчисляется секундами.

(88) Спасибо за развернутый ответ, вашу позицию я понял. Но пока что такой вариант работы мне неинтересен.
Ещё раз спасибо.
90. andrewks 1269 18.01.13 15:58 Сейчас в теме
(89) Magister,
Время для небольших проектов исчисляется секундами.
мой проект с ВК NativeAPI lazarus компилит не дольше одной секунды. :-) правда, там нет оконного интерфейса
64. andrewks 1269 16.01.13 22:47 Сейчас в теме
(62) Magister, кстати, я не был бы так категоричен в утверждении, что отображение быстрее TStream.

если размер буфера в TStream подобрать оптимально, то разницы практически не будет
56. Модератор раздела artbear 16.01.13 18:00 Сейчас в теме
1. 8.3 выгружает не всю инфу. обычные формы выгружаются только как бинарники. Не разбираются внешние файлы и т.д.
Ну и как обычно, вопрос по скорости работы 1С-решения :(
Меня в первую очередь интересует именно сборка/разборка cf и внешних файлов для использования в коллективной разработке.
Если автор сабжа готов выложить свой проект как публичный под GPL-лицензией, я готов присоединиться к проекту.

2. Видимо, интереса к подобным инструментам не было по разным причинам.
Например, ранее не было такого явного перехода на 8-ку опытных разработчиков с 7-ки, группы разработчиков не так сильно задумывались о коллективной разработке и т.д. и т.п.
57. romansun 189 16.01.13 18:51 Сейчас в теме
(56)
2. Видимо, интереса к подобным инструментам не было по разным причинам.
Например, ранее не было такого явного перехода на 8-ку опытных разработчиков с 7-ки, группы разработчиков не так сильно задумывались о коллективной разработке и т.д. и т.п.


имхо,
1С не выходил из сегмента фикси-программистов-саппортеров (существенно, я имею ввиду).. а там ничо такого не надо

как только пошел достаточно массовый выход на отраслевые проекты, требующий серьёзной командной разработки - так тема и стала актуальной:

выгрузка/загрузка в 8.3
атоматическое тестирование в 8.3
новые фишки в работе с хранилищем
сертификация эксперта по техн. вопросам
ЦКТП


это всё одного поля ягоды - обеспечение технологической базы для выход на средний, нижне-крупный сегмент заказчиков

и, кста, явный провал сейчас скорее не в технологии, а в управленческих методиках работы в таких проектах. Программистов толковых много, а тимлидов, РП и прочих - по пальцам...
74. Elisy 917 17.01.13 09:26 Сейчас в теме
(56) artbear,
Если автор сабжа готов выложить свой проект как публичный под GPL-лицензией, я готов присоединиться к проекту.

Куда вам отправить исходники для предварительного ознакомления? Вам лучше сначала на них посмотреть. Может, там не то, о чем вы думали и что планировали увидеть.
66. Magister 133 16.01.13 22:58 Сейчас в теме
Кстати, можно сделать MapViewOfFile а потом скормить его в TMemoryStream :)
Получим единый интерфейс.
67. andrewks 1269 16.01.13 23:04 Сейчас в теме
(66) Magister, ок, я подумаю. в любом случае, рутина не позволит приступить к этому вопросу раньше февраля. отпишусь
69. Magister 133 16.01.13 23:07 Сейчас в теме
(67) ок. у меня тоже рутины сейчас завались, потому и нет пока дальше развития той публикации...
76. AlexWhite 191 17.01.13 13:07 Сейчас в теме
Ресурсы нужны.
В логе Python 2.2

На питоне написаны скрипты для используемой WinCVS - клиента CVS. Скрипты действительно взрослые, как и сама CVS, но дорабатывать их лишено смысла, они исправно исполняют то, ради чего создавались.
до полного парсинга метаданных вы так и не дошли

Затрудняюсь понять, что вы понимаете под полным парсингом метаданных. В блокноте открыл форму - для демонстрации примера, как она разбирается в текст и модуль - тоже текст. Для CVS разделение типов файлов принципиально, для бинарных каждая версия хранится целиком, для текстовых - оригинал + отличия от оригинала, что позволяет оперировать ветвлением (branch), слиянием (merge). А вы пробовали merge для xml + успешно собрать после этого cf? :-)
Сам проект на Delphi, но это вторично. Мне было важно, чтобы программа была написана для определенных целей, в разумный срок, за приемлемую плату. Нашелся желающий, выбрал инструмент, написал, заработал денег.
Судя по оживленной теме здесь появляется куча разработок, аналогичных v8unpack

Да, хоть, целая свалка! От использования своего инструмента откажусь тогда, когда найду другой, превосходящий по необходимым мне потребительским качествам. Ищу постоянно, ковыряясь в появляющихся кучах поделок, пробую новые технологии. И, тоже не хочу вас огорчать, но даже вашей, достаточно симпатичной, судя по приведенным снимкам экрана, разработке еще очень далеко до того момента, когда она станет пригодна для промышленной эксплуатации. Почему по снимкам? Хотел развернуть, попробовать в деле, сравнить скорости, обломался (одно доставить, другое включить) - жалко времени.
Поэтому, развитие моего проекта возможно за мой счет, на моей площадке, с привлечением накопленного опыта и знаний, пока для узкого круга заинтересованных лиц. При этом, работа возможна строго по моей технологии "управляемое внедрение", которая гарантирует мне, как заказчику, получение требуемой функциональности, к ожидаемому сроку, за приемлемую плату (проверено опытом).

Ресурсы нужны

Их есть у меня. Могу делиться, но на взаимовыгодной основе. Предоставлю, что выше написал, но мой проект будет еще несколько лет закрыт.
77. Elisy 917 17.01.13 14:23 Сейчас в теме
(76) AlexWhite,
Затрудняюсь понять, что вы понимаете под полным парсингом метаданных. В блокноте открыл форму - для демонстрации примера, как она разбирается в текст и модуль - тоже текст. Для CVS разделение типов файлов принципиально, для бинарных каждая версия хранится целиком, для текстовых - оригинал + отличия от оригинала, что позволяет оперировать ветвлением (branch), слиянием (merge). А вы пробовали merge для xml + успешно собрать после этого cf? :-)

Я понимаю под парсингом перевод в человекочитаемый формат. Вы хотите сказать, что в вашей системе проблема объединения решена, используя текстовые файлы "{0,{..}}"-формата? Я сильно сомневаюсь - попробуйте разрешить конфликты для таких файлов. Если не xml-формат им на замену взять, то какой?
И, тоже не хочу вас огорчать, но даже вашей, достаточно симпатичной, судя по приведенным снимкам экрана, разработке еще очень далеко до того момента, когда она станет пригодна для промышленной эксплуатации. Почему по снимкам? Хотел развернуть, попробовать в деле, сравнить скорости, обломался (одно доставить, другое включить) - жалко времени.

Я ни в коем случае не навязываю свою обработку. Она тянет за собой .Net framework 4 + .Net Bridge 4. Более того, она наверняка уступает вашей по потраченному времени, а следовательно по функционалу. В моей нет, например, построения всего дерева связынных объектов метаданных, их макетов/форм/модулей. Сейчас есть разбиение по типу метаданных, а макеты/формы/модули кидаются в папку Unresolved. По скорости, думаю, моя быстрее будет, так как на Delphi довольно сложно организовать распараллеливание, а в моей сделана попытка.
78. AlexWhite 191 17.01.13 16:55 Сейчас в теме
проблема объединения решена, используя текстовые файлы "{0,{..}}"-формата?

В моей системе то, что не решено программно, разрешено организационно. Задача merge для v8 - очень не тривиальная, вне зависимости от того, в какой формат выгружать файлы.
Если не xml-формат им на замену взять, то какой?

Я "за" использование xml при выгрузке форм. То, что сейчас у меня выгружается в текст с фигурными скобками - издержки нынешней реализации (как просил, так было сделано, приспособились к as is). Но тексты, считаю, надо выгружать в текст, макеты в макеты, другие бинарники определенных типов в соответствующие файлы определенных типов. Без этой доработки в своем проекте вполне могу прожить и дальше, так как доработка до желаемого не решит существующих трудностей с merge для форм (xml), например. И есть еще, как минимум, одно более серьезное препятствие для merge в v8, решение которого может находиться в стороне от выбранной, в свое время, тактики - разбор cf.
По скорости, думаю, моя быстрее будет

Для меня сейчас производительность вторична. Отсутствие глюков сборки/разборки/взаимодействия с системами хранения версий и пр. - более приоритетно. Производительность моей терпима - cf 448Mb (КА, редактируемая с сохранением поддержки+доработки+несколько обновлений) -> разборка -> более 23тыс. файлов и папок (901 Мб) -> 6 минут. Обратно 17 минут. Вряд ли при выбранной технологии (сбор/разбор cf) можно принципиально увеличить производительность без потери качества, время сопоставимо, думаю, со штатной работой конфигуратора на сопоставимых операциях.

Итого: присоединяйтесь к закрытому проекту, с перспективой "рвануть" другой, более креативный, занимайтесь любимым делом за вознаграждение.
Или
Продолжайте работать в выбранном направлении за интерес к самостоятельным изысканиям, жертвуя свободным временем, конкурируйте с другими, аналогичными, по скорости, радуясь, что ваш проект открыт :-)
Риторический вопрос: В чем смысл открывать проект и "рвать пупок", изыскивая собственные ресурсы - деньги (восполнимый) и время (не восполнимый), когда есть возможность, по крайней мере, зарабатывать, занимаясь интересным (любимым) делом в проекте с ограниченным (но достаточно широким) кругом допущенных лиц?
"Он сказал, не надо орден, я согласен на медаль?" :-)
82. Elisy 917 18.01.13 07:45 Сейчас в теме
(78) AlexWhite,
Итого: присоединяйтесь к закрытому проекту, с перспективой "рвануть" другой, более креативный, занимайтесь любимым делом за вознаграждение.

Это предложение нужно ограничить теми, кто работает с Delphi, так как ваш проект написан на нем.
Может даже лучше обратиться к аутсорсерам. Определить функциональность и принять оптимальную цену.
79. pumbaE 627 17.01.13 17:45 Сейчас в теме
Продолжайте работать в выбранном направлении за интерес к самостоятельным изысканиям, жертвуя свободным временем, конкурируйте с другими, аналогичными, по скорости, радуясь, что ваш проект открыт :-)
Это философский вопрос и думаю обсуждать его смысла нет, а то скатимся в пропасть.

О чем спор идет я не могу понять.
Если есть файл cf и 1с 8.3 - рассматривать альтернативный вариант имеет смысл только если сможете выгрузить в человеческий формат только измененные объекты, т.е. есть файл версий посмотрели - изменены только 3 объекта и их из cf файла и получили или же скорость в n раз больше.

p.s.: еще очень интересен разбор внешних отчетов/обработок, если cf худо бедно 1С и сама разберет/соберет, то epf файл к сожалению не сможет.
83. Elisy 917 18.01.13 08:05 Сейчас в теме
(79) pumbaE,

О чем спор идет я не могу понять.
Если есть файл cf и 1с 8.3 - рассматривать альтернативный вариант имеет смысл только если сможете выгрузить в человеческий формат только измененные объекты, т.е. есть файл версий посмотрели - изменены только 3 объекта и их из cf файла и получили или же скорость в n раз больше.

Спора сейчас 2: "философский" о достоинствах и недостатках opensource-проектов и о формате выгрузки (недостатках xml).
Первый ни к чему не приведет - он вечный.
Второй конструктивный и позволит выявить истину, выслушав все доводы за и против.

Есть еще один интересный момент. Управление Торговлей 11.0.7 выгрузилась в 10598 файлов и заняло на диске 1,5Гб. Исходный cf-файл занимает 195Мбайт. Из всех файлов xml-файлов 7069 штук, которые занимают места 1,35Гб. Самые большие - роли: от 3,5 до 5 Мб каждый: 616 файлов на 1,18 Гб.

p.s.: еще очень интересен разбор внешних отчетов/обработок, если cf худо бедно 1С и сама разберет/соберет, то epf файл к сожалению не сможет.

Мне кажется компании 1С не составит труда добавить такой функционал во Внешнюю обработку-Действие, раз есть функционал выгрузки всей конфигурации.
85. denis_aka_wolf 73 18.01.13 08:14 Сейчас в теме
(83) А сколько по времени заняла выгрузка??? загрузка??? и после загрузки проверял конфигурацию??? ошибки были???
87. Elisy 917 18.01.13 09:31 Сейчас в теме
(85) denis_aka_wolf,
Elisy, А сколько по времени заняла выгрузка??? загрузка??? и после загрузки проверял конфигурацию??? ошибки были???

Выгрузку делал только средствами 1С 8.3. Время специально не засекал, но судя по разнице дат создания файлов выгрузка занимает 10 минут. Через свою обработку выгрузить пока не могу - не выгрузится без переделки под формат 8.3. А переделывать под сырой формат 8.3 смысла пока нет.
91. andrewks 1269 18.01.13 15:59 Сейчас в теме
(87) а навскидку, что там в 8.3 изменилось в структуре хранения? изменился сам формат 1с-каталога, или изменения уже внутри, в файлах конфигурации?
92. Elisy 917 18.01.13 16:18 Сейчас в теме
(91) andrewks,
Elisy, а навскидку, что там в 8.3 изменилось в структуре хранения? изменился сам формат 1с-каталога, или изменения уже внутри, в файлах конфигурации?

Чисто визуально формат 1С-каталога не поменялся. Внутри файлов конфигурации не смотрел.
80. AlexWhite 191 17.01.13 18:21 Сейчас в теме
О чем спор идет я не могу понять.

Да какой тут спор?
Если у вас есть интерес и желание, предоставлю вам возможность, подключиться к работе над моим проектом за плату (договорная). В целесообразности открытия своего проекта пока сомневаюсь.
93. Elisy 917 30.01.13 11:29 Сейчас в теме
Последние доработки Elisy CfProject в версии 1.1 позволили сравняться по функциональности с v8unpack и даже превзойти эту утилиту. Теперь CfProject автоматически распаковывает image-файлы в отдельные подкаталоги. Улучшена функциональность по анализу типов и имен объектов метаданных, а также построению адекватного дерева каталогов.

Новое в Elisy.CfProject v1.1:

Распаковка image-объектов в виде подкаталога с файлами;
Распознавание имен для общих модулей, отчетов и обработок;
Переименование известных свойств согласно именам 1С;
Исправлена ошибка чтения cf-записи с нулевой длиной;
94. ADirks 181 30.01.13 11:48 Сейчас в теме
Чисто по философским вопросам:
- Я за открытую разработку и свободное распространение
- Категорически против XML

В своё время нас пытались склонить к выгрузке семёрошного .MD в xml формате, и даже в один большой файл. И я даже серьёзно рассматривал этот вопрос, прикидывал объёмы, время разборки/сборки, читабельность. В итоге, и к счастью, отказались. Читабельность победила, ну и время конечно.
96. Модератор раздела artbear 30.01.13 20:46 Сейчас в теме
(94) +1
Привет, Алексей!
Да, дифф и мерж проще делать с текстом, проверено.
ЗЫ если кто не знает, это автор GComp :)
97. Elisy 917 31.01.13 08:01 Сейчас в теме
(94) ADirks,
Чисто по философским вопросам:
- Я за открытую разработку и свободное распространение

Понятно, что лучше жить вечно, чем умирать, и лучше быть здоровым, чем больным. Но реальность немного другая. Если посмотрите на проект v8unpack, то можно заметить, что он не обновлялся с 2008 года, несмотря на свободность и открытость. Вернее даже по-другому: из-за открытости и свободности компонент v8unpack не обновлялся с 2008 года. Не думаю, что кому-то было бы приятно повторить судьбу данного проекта. Чтобы его не повторить, нужно закладывать другие принципы распространения.
Теперь возьмем другой пример Snegopat. Был свободный аналог для 7.7. Но после появления платного аналога для 8.х проект начал стремительно развиваться, потому что появился стимул к развитию. Ведь сумма вырученных средств за проект - это адекватный показатель полезности и востребованности.
CfProject требует временных вложений - сейчас он нацелен на формат 8.2.14. Скорее всего в 8.2.17 изменился формат конфигурации. И однозначно в 8.3 изменился формат конфигурации. Получается, что уже известно о 2х предстоящих доработках.
Открытым проект имеет смысл делать, если есть сообщество, готовое развивать проект или для конкуренции с другим закрытым проектом. В случае с 1С специалистов по C# (CfProject написан на нем) не так уж много. Альтруистов среди нас мало - мало кто захочет учить C# только для CfProject. Да и качество кода у вновь появившихся сишарпников будет страдать. Поэтому, исходя из ваших предпочтений и реалий, напрашивается какой-то хитрый подход в лицензировании, поддерживающий баланс. Скорее всего несколько лицензий: такой подход себя оправдал в нашем другом проекте и дает ему возможность развиваться. Но сейчас говорить о лицензировании еще рано - все равно, что делить шкуру не убитого медведя. Хотя задуматься об этом надо.
98. Elisy 917 31.01.13 08:12 Сейчас в теме
(94) ADirks,(95) ADirks, (96) artbear,
По поводу формата выгрузки, не думаю, что этот вопрос принципиален. Скорее всего нужно закладывать несколько форматов. Сейчас в виде недокументированной возможности заложена выгрузка в формате XML и в формате TXT (оригинальных строках 1С). Альтернативными могут быть JSON выгрузки - достаточно быстро, думаю, реализовать, взяв парсер из другого нашего проекта. Еще альтернатива: в виде исходного кода на C# или JScript (здесь нужна реализация собственного парсера) - это более трудоемко.
95. ADirks 181 30.01.13 11:53 Сейчас в теме
+94, про читабельность

Причём, гораздо важнее даже не читабельность самих файлов, а читабельность диффов. У XML с этим гораздо хуже чем у незамысловато оформленного plain-text'а
Оставьте свое сообщение

См. также

CF & SQL : конструктор прямых запросов к БД 1С 131

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

Программа для чтения и анализа внутренней структуры данных 1С V8.х, Содержит конструктор прямых SQL запросов, позволяет обрабатывать и редактировать тексты SQL-запросов, выполнять прямые запросы к базе данных 1С и обрабатывать полученные результаты.

1 стартмани

02.10.2019    3438    70    dmitrydemenew    18       

Конвейер проверки качества кода 116

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования Математика и алгоритмы Разработка

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    4575    10    Stepa86    35       

Просмотр и анализ структуры базы данных (отчет на СКД) 91

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

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

2 стартмани

24.07.2019    4352    58    YPermitin    21       

Структура подчиненности с хронологией документов и кнопками проведения и удаления 75

Инструменты и обработки no Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Разработка

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

1 стартмани

22.07.2019    3218    45    sapervodichka    15       

Модель объекта 6

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    2368    1    vadim1980    0       

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD 134

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика Jenkins

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    8993    1    ripreal1    74       

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 183

Инструменты и обработки Программист Подсистема v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    15114    88    Diversus    38       

Групповая проверка доработок 101

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    6524    65    sapervodichka    23       

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 87

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

26.03.2019    8988    38    Bazil    22       

Настройка отладки на сервере 1С 93

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    9901    49    frkbvfnjh    32       

Методика оптимизации программного кода 1С: проведение документов 83

Инструменты и обработки Программист Архив с данными v8 v8::УФ Абонемент ($m) Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    13832    13    dmitrydemenew    83       

Отчет по подпискам на события 83

Отчеты и формы Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Внешний отчет для разработчика на платформе 1С:Предприятие 8.3. С его помощью вы значительно упростите себе доработку конфигураций! Быстро найдете все подписки, в которые включен объект метаданных, сможете построить отчет в любом разрезе - по объектам, событиям, подпискам, общим модулям, процедурам и т.д.

1 стартмани

18.02.2019    4566    44    tomvlad    8       

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

Инструменты и обработки Программист Пользователь Архив с данными v8 v8::УФ Россия Windows Абонемент ($m) Пользователю системы Инструментарий разработчика

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    6592    37    ROM_NN    8       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 508

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    24659    242    bonv    102       

Редактор объектов информационной базы 8.3 35

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.31 от 02.10.2019

2 стартмани

23.01.2019    8368    123    ROL32    21       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь полноценный оффлайн (обновление от 15.08.19)! 168

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    19466    207    informa1555    167       

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 92

Инструменты и обработки no Архив с данными v8 Абонемент ($m) Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом

Конфигурация-подсистема для управления задачами с базовым функционалом, который, однако, может удовлетворить довольно широкий спектр запросов. Есть статусы и приоритеты, учёт трудозатрат по исполнителям и даже базовые разграничения по правам. А открытый исходный код позволит на базе данной конфигурации развить систему до любого уровня сложности.

2 стартмани

17.12.2018    9793    72    for_sale    36       

Навигатор по конфигурации базы 1С 8.3 99

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.43 от 01.10.2019

3 стартмани

28.10.2018    14288    175    ROL32    43       

Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Сервисные утилиты Инструментарий разработчика

Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в "кроличью нору" ....

1 стартмани

24.10.2018    9720    4    lazarenko    39       

HTTP Сервисы: Путь к своему сервису. Часть 4 101

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

1 стартмани

28.09.2018    12337    15    dsdred    11       

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды 66

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    6999    43    albert.goncharov    23       

Консоль Внедренца v.3.3 111

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы.

1 стартмани

27.08.2018    9745    230    evvakra    23       

HTTP Сервисы: Путь к своему сервису. Часть 3 133

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    14615    29    dsdred    13       

Управляемая консоль запросов, отчетов 3.7.3 (расширение, внешняя обработка) 356

Инструменты и обработки Программист Архив с данными v8 v8::УФ v8::Запросы v8::СКД 1cv8.cf Абонемент ($m) Консоль запросов

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Выполнение в фоне (с возможностью отмены), Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

1 стартмани

14.08.2018    48302    1080    Evg-Lylyk    409       

HTTP Сервисы: Путь к своему сервису. Часть 2 120

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    16320    17    dsdred    0       

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции 62

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    14605    23    informa1555    26       

Консоль HTTP-запросов с генерацией кода 164

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Консоль запросов

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    14762    215    leongl    15       

Работа со схемой запроса 169

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

Стандартом взаимодействия с реляционной базой данных стал язык SQL. Приемником SQL в 1С является язык запросов. Язык запросов, также как и SQL, является структурированным. Составляющие структуры запроса отвечают на разные вопросы о том, какие данные требуется получить и какие манипуляции с множествами данных необходимо произвести при получении. В простых случаях текст запроса можно написать вручную, однако в сложных случаях, а также при программном формировании, - лучше воспользоваться объектной моделью запроса и использовать объект "Схема запроса". В статье дается описание объектной модели и особенностей работы с ней, а также приводится решение, упрощающее взаимодействие с объектом "Схема запроса".

1 стартмани

24.04.2018    26993    70    kalyaka    34       

Тестирование: пример создания сценарного UI теста для платформы 1С 88

Статья Программист Архив с данными v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

1 стартмани

17.04.2018    13460    36    ivanov660    11       

Регистры правил [Расширение] 13

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    10038    27    33lab    0       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 105

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    19511    2    kraynev-navi    40       

Универсальный генератор отчетов СКД (Управляемые формы, тонкий клиент) 76

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::УФ v8::СКД 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика

Универсальная консоль отчетов СКД, сделанная внешним отчетом. Подходит для конфигураций на управляемых формах. Умеет работать с внешними источниками данных (подключатся к другим базам). Позволяет редактировать схему СКД и запросы в пользовательском режиме, без использования конфигуратора.

3 стартмани

20.11.2017    16118    187    Boneman    17       

Программное формирование форматированной строки в стиле html+inline CSS 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    19126    24    bonv    5       

Макет в СКД - пример всех возможных типовых вариантов 94

Инструменты и обработки Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Инструментарий разработчика

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    16374    77    freelancer    4       

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов 141

Статья Программист Архив с данными v8 Абонемент ($m) Инструментарий разработчика Практика программирования

У каждого программиста за время работы накапливается полезный инструментарий, которым он привык пользоваться. Естественно и у меня он тоже имеется. И вот решено было немного поделиться с сообществом. Возможно идеи не новые. Более того, допускаю, что реализованы они не самым оптимальным образом. Но ведь для этого сообщество и существует, чтобы делиться с ним, получая обратную связь.

1 стартмани

24.09.2017    31270    17    vandalsvq    79       

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С 104

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    21531    17    ivanov660    46       

"Исследователь" планировщика 1С 79

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

10.08.2017    21624    105    new_user    26       

Трансформатор 1С - SQL 232

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    26435    316    Synoecium    44       

OneStyle. Улучшенное форматирование кода в конфигураторе 118

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика

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

1 стартмани

19.06.2017    17302    24    Stepa86    45       

"Конвертация данных" + Git. Решение проблемы различий в файлах 112

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    16430    30    stas_ganiev    13       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    17297    140    Bassgood    10       

Набор подсистем "Умные таблицы" 63

Инструменты и обработки Системный администратор Программист Архив с данными v8 Беларусь Россия Казахстан Абонемент ($m) Инструментарий разработчика

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    22682    99    Silenser    33       

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений 181

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

13.03.2017    22201    112    romasna    47       

Добавляем http-ссылки на самописную систему учета задач 87

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования

Захотелось мне, чтобы в удаленном git репозитории можно было указывать ссылки на задачи и переходить по ним. Но не очень хотелось тратить на это много времени.

1 стартмани

09.02.2017    15242    5    Stepa86    22       

1С: Gitter 1.1 (Хранилище 1С => Git) 114

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    19287    40    Stepa86    20       

Анализ сложности обновлений 8.3 87

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП3.0 Россия Абонемент ($m) Инструментарий разработчика

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

2 стартмани

23.01.2017    9728    72    PavelLapin    26       

Сценарное тестирование в помощь программисту 1С 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

1 стартмани

11.11.2016    22087    63    grumagargler    47       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    22637    19    json    22       

Несколько шаблонов для доработки типовых конфигураций 172

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования Инструментарий разработчика

Предлагаю несколько каркасов для создания новых объектов в типовых конфигурациях. Это выжимка из кода нескольких конфигураций, которая позволит быстро и красиво создавать и дорабатывать объекты метаданных с соблюдением идеологии исходной системы

1 стартмани

03.10.2016    27369    99    json    23       

Управление задачами: Канбан доска 235

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика БСП (Библиотека стандартных подсистем)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    47054    465    BlizD    284