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

05.11.14

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Elisy.CfProject.epf v1.2
.epf 66,58Kb ver:1.2
104
104 Скачать (1 SM) Купить за 1 850 руб.
Elisy.CfProject.epf v1.1
.epf 56,56Kb
82
82 Скачать (1 SM) Купить за 1 850 руб.
Утилита Elisy.CfProject.epf v1.0 (8.2.14)
.epf 59,49Kb
202
202 Скачать (1 SM) Купить за 1 850 руб.
Тестовая конфигурация 8.2.14
.cf 645,53Kb
52
52 Скачать (1 SM) Купить за 1 850 руб.

Новое в 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.

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

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

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

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

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

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

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

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

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

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

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

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    185533    1034    403    

970

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    25213    163    86    

161

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

15000 руб.

10.11.2023    13841    58    33    

77

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    20566    52    19    

86

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    30808    105    48    

149

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    19206    7    32    

43

Инструментарий разработчика Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    105011    246    100    

311
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
99. ADirks 187 31.01.13 09:57 Сейчас в теме
Жизнеспособность проекта, как мне кажется, не связана с типом лицензирования. Именно что нужна в первую очередь команда, а во вторую (как ни странно) целевая аудитория.
С V8Unpack, равно как и с остальными подобными, потому так и получилось, что не сложилось ни первое, ни второе. Сейчас вроде бы целевая аудитория какая-никакая появляется, несмотря на то, что адинэснеги в подавляющем большинстве не ведают, что такое коллективная разработка и версионный контроль. Команда у вас есть. Так что, надеюсь проект будет жить. Когда-то же и мне придётся на восьмёрку переезжать.

Что касается открытости кода, и вообще лицензирования, то это не более чем мои предпочтения, решать что и как конечно же вам (т.е. команде). В данном случае я за открытость проекта потому что целевая аудитория наверное человек 100, и в основном эти люди вполне способны подключиться к проекту. Даже если один человек подключится, уже заметная польза.

Про Снегопат. Мне кажется, что проект стал платным именно потому, что появилась достаточная ЦА, и платность стала целесообразной. Саша ведь и OpenConf собирался сделать коммерческим - да так и не собрался, подозреваю потому что гемора было бы больше чем дохода :) А развивался проект не менее бурно. И кстати, в развитии Снегопата учавствуют всё те же люди, как я погляжу :)


P.S.
Искренне желаю проекту успеха, желательно коммерческого! И удачи команде!
ret-Phoenix; pumbaE; +2 Ответить
101. Elisy 952 02.02.13 08:33 Сейчас в теме
(99) ADirks,
Спасибо за обстоятельные комментарии. Очень приятно вести беседу со «старожилами» и узнавать, что было в истории до 1С 8. Какие проекты сопутствовали 7ке, и как они развивались. Мнение очевидцев и непосредственных участников прошлых и настоящих успешных проектов очень важно и интересно многим.
102. ADirks 187 02.02.13 18:36 Сейчас в теме
(101) Ну раз интересно, то добавлю пару ложек дёгтю.
В настоящий момент любой подобный проект может держаться только на энтузиазме. Ну нет достаточного количества людей, готовых за это платить.
Но. Энтузиазм - это великая сила. Если вам (или кому-то ещё) это надо, то вы и будете делать. Вечерами и ночами. Причём "надо" - это вот когда лично мне надо, а не дяде, работодателю, кому-то ещё. Потом, возможно, это "надо" осознают и другие, но это будет сильно потом. А пока - только личный энтузиазм. Такие проекты как Rainbow, FormEx, 1С++, gcomp, OpenConf именно так и возникли. И открытые проекты (1С++, OpnenConf, отчасти gcomp) неслабо получили именно за счет поддержки других таких же энтузиастов.
И ещё. Людей, готовых платить нет, а вот готовые поучавствовать - есть. Это стоит учесть. В этом долбаном коммерциализированном мире, не сбрасывайте со счетов Энтузиазм!
lustin; pumbaE; +2 Ответить
105. Elisy 952 07.02.13 12:42 Сейчас в теме
(102)(103) ADirks,

В принципе ни для кого не секрет, что все стартапы держатся на энтузиазме и весьма мала вероятность их коммерциализации.
В данном случае есть обнадеживающие моменты: число скачавших обработку 172 человека за год - значит небольшой интерес есть.
Решил не форсировать процесс. Продукт оставить бесплатным или с символической оплатой 10$m/10EUR для использования совместно с .Net Bridge внутри 1С (с демо-версией .Net Bridge работает). Дальше видно будет.
100. pumbaE 31.01.13 10:47 Сейчас в теме
Даже если один человек подключится, уже заметная польза.
Истинная правда.
103. ADirks 187 02.02.13 19:19 Сейчас в теме
А, забыл :)
короче вывод: как ни крути, вjobывать притётся до х.я
104. AlexWhite 194 05.02.13 12:42 Сейчас в теме
Ну нет достаточного количества людей, готовых за это платить.

Есть, как минимум, 1 человек, готовый за это платить :-) Но, сначала, готов заплатить Дельфисту за некоторые правки того, что уже сделано и используется.
106. Elisy 952 07.02.13 12:44 Сейчас в теме
(104) AlexWhite,
Вы бы озвучили требуемый функционал. Рано или поздно он будет реализован в CfProject. После этого я постараюсь дать вам знать.
107. daho 8 07.03.13 15:39 Сейчас в теме
Интересно а можно так сделать чтобы этот xml файл воспринимался стандартной Конвертацией для загрузки?
108. Elisy 952 05.11.14 08:43 Сейчас в теме
Выпущено обновление CfProject v.1.2
Добавлено распознавание форматов epf/erf/cfu дополнительно к cf
В объекте Configuration поддерживаются свойства BriefInformation, DetailedInformation, Copyright, VendorInformationAddress, ConfigurationInformationAddress, разделение по видам объектов
Распознавание объекта Enum без расшифровки свойств
109. eeeio 127 14.11.14 16:47 Сейчас в теме
110. Elisy 952 15.11.14 07:39 Сейчас в теме
(109) eeeio,
Выложил в файлы для скачивания - версия 1.2
112. AlexWhite 194 11.12.14 21:21 Сейчас в теме
Расскажите о граблях более подробно

Ни чего особенного. Просто некоторые символы внутри файла xml каким-то волшебным образом подменялись при коммите на аналогичные, соответствующие той ОС, на которой был установлен сервер системы управления версиями. Визуально какой-то только 1 дифф показал отличия, остальные не показывали.
113. skyboy13 14 21.10.20 11:57 Сейчас в теме
Произошла исключительная ситуация (Elisy.NetBridge.dll): System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.AggregateException: Произошла одна или несколько ошибок. ---> System.InvalidOperationException: Section Guid is invalid
в Elisy.MdInternals.CfPackage.(Type , Collection )
в Elisy.MdInternals.CfPackage.(KeyValuePair`2 )
в System.Linq.Parallel.ForAllOperator`1.ForAllEnumerator`1.MoveNext(TInput& currentElement, Int32& currentKey)
в System.Linq.Parallel.ForAllSpoolingTask`2.SpoolingWork()
в System.Linq.Parallel.SpoolingTaskBase.Work()
в System.Linq.Parallel.QueryTask.BaseWork(Object unused)
в System.Linq.Parallel.QueryTask.RunTaskSynchronously(Object o)
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
в System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose)
в System.Linq.Parallel.SpoolingTask.SpoolForAll[TInputOutput,TIgnoreKey](QueryTaskGroupState groupState, PartitionedStream`2 partitions, TaskScheduler taskScheduler)
в System.Linq.Parallel.DefaultMergeHelper`2.System.Linq.Parallel.IMergeHelper<TInputOutput>.Execute()
в System.Linq.Parallel.MergeExecutor`1.Execute()
в System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId)
в System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream)
в System.Linq.Parallel.ForAllOperator`1.WrapPartitionedStream[TKey](PartitionedStream`2 inputStream, IPartitionedStreamRecipient`1 recipient, Boolean preferStriping, QuerySettings settings)
в System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream)
в System.Linq.Parallel.ScanQueryOperator`1.ScanEnumerableQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
в System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
в System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings)
в System.Linq.Parallel.ForAllOperator`1.RunSynchronously()
в System.Linq.ParallelEnumerable.ForAll[TSource](ParallelQuery`1 source, Action`1 action)
в Elisy.MdInternals.CfPackage.()
в Elisy.MdInternals.CfPackage.ReadMetadataPartsFromImage()
в Elisy.MdInternals.MetadataPackage.Open(Stream stream)
в Elisy.MdInternals.MetadataPackage.Open(String path)
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
в Elisy.ElisyNetBridge.InvokeMethod_Internal(Object instance, String method, Object[] args)
в CDispatchExWrapper.InvokeEx(CDispatchExWrapper* , Int32 id, UInt32 __unnamed001, UInt16 wFlags, tagDISPPARAMS* pdp, tagVARIANT* pVarRes, tagEXCEPINFO* pei, IServiceProvider* __unnamed006)
{ВнешняяОбработка.CfProject.Форма.Форма.Форма(114)}: mp.Open(ВыгрузитьФайл);

по причине:
Произошла исключительная ситуация (Elisy.NetBridge.dll): System.Reflection.TargetInvocationException: Адресат вызова создал исключение. ---> System.AggregateException: Произошла одна или несколько ошибок. ---> System.InvalidOperationException: Section Guid is invalid
в Elisy.MdInternals.CfPackage.(Type , Collection )
в Elisy.MdInternals.CfPackage.(KeyValuePair`2 )
в System.Linq.Parallel.ForAllOperator`1.ForAllEnumerator`1.MoveNext(TInput& currentElement, Int32& currentKey)
в System.Linq.Parallel.ForAllSpoolingTask`2.SpoolingWork()
в System.Linq.Parallel.SpoolingTaskBase.Work()
в System.Linq.Parallel.QueryTask.BaseWork(Object unused)
в System.Linq.Parallel.QueryTask.RunTaskSynchronously(Object o)
в System.Threading.Tasks.Task.InnerInvoke()
в System.Threading.Tasks.Task.Execute()
--- Конец трассировки внутреннего стека исключений ---
в System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose)
в System.Linq.Parallel.SpoolingTask.SpoolForAll[TInputOutput,TIgnoreKey](QueryTaskGroupState groupState, PartitionedStream`2 partitions, TaskScheduler taskScheduler)
в System.Linq.Parallel.DefaultMergeHelper`2.System.Linq.Parallel.IMergeHelper<TInputOutput>.Execute()
в System.Linq.Parallel.MergeExecutor`1.Execute()
в System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId)
в System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream)
в System.Linq.Parallel.ForAllOperator`1.WrapPartitionedStream[TKey](PartitionedStream`2 inputStream, IPartitionedStreamRecipient`1 recipient, Boolean preferStriping, QuerySettings settings)
в System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream)
в System.Linq.Parallel.ScanQueryOperator`1.ScanEnumerableQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
в System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient)
в System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings)
в System.Linq.Parallel.ForAllOperator`1.RunSynchronously()
в System.Linq.ParallelEnumerable.ForAll[TSource](ParallelQuery`1 source, Action`1 action)
в Elisy.MdInternals.CfPackage.()
в Elisy.MdInternals.CfPackage.ReadMetadataPartsFromImage()
в Elisy.MdInternals.MetadataPackage.Open(Stream stream)
в Elisy.MdInternals.MetadataPackage.Open(String path)
--- Конец трассировки внутреннего стека исключений ---
в System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
в System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
в System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
в System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
в Elisy.ElisyNetBridge.InvokeMethod_Internal(Object instance, String method, Object[] args)
в CDispatchExWrapper.InvokeEx(CDispatchExWrapper* , Int32 id, UInt32 __unnamed001, UInt16 wFlags, tagDISPPARAMS* pdp, tagVARIANT* pVarRes, tagEXCEPINFO* pei, IServiceProvider* __unnamed006)
115. Elisy 952 21.10.20 13:50 Сейчас в теме
(113)
исключение

Обработку давно не поддерживаю. Выргузка в XML появилась в штатных средствах 1С.
Выложена на git в открытом исходном коде
https://github.com/elisy/MdInternals
116. skyboy13 14 21.10.20 15:30 Сейчас в теме
114. AlexWhite 194 21.10.20 12:52 Сейчас в теме
(113) научились пользоваться Ctrl^C Ctrl^V ? :-)
117. skyboy13 14 21.10.20 15:31 Сейчас в теме
(114) в чем смысл этого сообщения? какую смысловую нагрузку оно несет в мир?
118. AlexWhite 194 21.10.20 15:44 Сейчас в теме
(117)
какую смысловую нагрузку оно несет в мир?

Смысловая нагрузка = "Фу - быть таким (копипастером)!" :-) Научились КопиПастить, научитесь лаконичности формулировок, пример в (115) .
119. skyboy13 14 21.10.20 17:10 Сейчас в теме
(118) Я выложил весь код ошибки для разработчика. Это практика правильной разработки и тестирования, выкладывать максимум информации. Значительно сокращает время реакции и поиска ошибок.
Если у вас другой подход, сочувствую вашим клиентам и коллегам, им приходиться тратить много лишнего времени. Рекомендую обратиться к лучшим практикам программирования, там этом учат.
И почитайте определения слова "копипастер", прежде чем его использовать в тексте. Его контекст совершенного другой, авторских прав я не затрагивал.
120. AlexWhite 194 21.10.20 18:44 Сейчас в теме
(119)
Это практика правильной разработки и тестирования

Чтобы ваше сообщение (113) стало соответствовать практике правильной разработки и тестирования, его следовало оформить иначе - например, написать кратко суть проблемы в форме лаконичного примера воспроизведения (имею, делаю, ожидаю, получаю, отклонение) и присоединить к сообщению текстовый файл с техническими подробностями для разработчика. Вы решили сэкономить свое время - скопировали многостраничный текст в буфер обмена и вставили, но совершенно забыли привести хоть какое-то описание контекста исполнения или примера для воспроизведения.
Хотя в данном конкретном случае вы могли себя не утруждать копированием и вставкой, если бы посмотрели на даты последних сообщений в этой публикации и переспросили у автора, поддерживается ли проект.

"Копипастер" в контексте (113) - человек, продемонстрировавший недюжинные способности Copy+Paste.

(119)
Рекомендую обратиться к лучшим практикам программирования

Думаю, вы путаете "практики программирования" с принципами конструктивного письменного общения (КПО) - тема моего доклада на прошлогоднем Infostart Event. Оформлю в ближайшее время в статью, рекомендую прочесть.

С моей колокольни этот пост выглядит так, будто вас раньше заставляли соблюдать практику правильной разработки и тестирования - сообщать разработчику весь текст всех ошибок, набирая его с клавиатуры и, вдруг, кто-то вам открыл глаза на функции "Копировать" и "Вставить". Теперь используете любую возможность, чтобы скопировать побольше и вставить побольше - продолжайте, если вам это приносит удовольствие. Страшно представить, что произойдет, когда вам продемонстрируют функцию Print Screen :-)
121. artbear 1568 21.10.20 19:00 Сейчас в теме
(120) Александр, я за тебя, коллега не прав с длинным листингом, конечно.
но ты также что-то резковато начал свое общение в (114) )
123. skyboy13 14 21.10.20 19:11 Сейчас в теме
(121) Длинновато конечно получилось. Обычно длинные сообщения сокращаются на форумах через "..." и визуально это выглядит нормально.
А, Александр, наверно, решил, что быть учителем лучше, и все ждут этой трансформации, хотя его об этом и не просили.
122. AlexWhite 194 21.10.20 19:06 Сейчас в теме
(121) ой, да ладно, где там резковато? Хихикнул, просто и смайлик поставил :-)
Если задел чьи-то чувства, извините, Христа ради, не смог сдержать эмоцию :-)
124. skyboy13 14 21.10.20 19:15 Сейчас в теме
(122) К сожалению, размер сообщения уменьшить не возможно. На данной площадке нет такой возможности.
125. artbear 1568 21.10.20 19:17 Сейчас в теме
(124) Почему нет?
Скрытый текст
127. skyboy13 14 21.10.20 19:17 Сейчас в теме
(125) пишет, что прошло более 30 минут и отредактировать нельзя. Только свежие сообщения
130. artbear 1568 21.10.20 19:18 Сейчас в теме
(127) на будущее длинные логи прячьте - в спойлер или в файл
126. AlexWhite 194 21.10.20 19:17 Сейчас в теме
(123) вы в бутылку полезли первым "лучшие практики...", я ответил :-)
(122) есть кнопка "Прикрепить файл".
128. artbear 1568 21.10.20 19:17 Сейчас в теме
(126) а еще есть спойлер, самая правая кнопка )
132. skyboy13 14 21.10.20 19:29 Сейчас в теме
(130)
(126) я не комментировал ни ctrl-c, ни чего другого. я лучше работой займусь.
И учили меня профи программирования, там другая практика и сейчас так к сожалению не пишут. Я бы посмотрел, как сейчас на ассемблере, так работать.
Пишут, как вы написали, миллионы строк кода, куда-то выложенные, кликни там, посмотри здесь и т.д. Еще видео снимут на 10 минут и аудио-сообщение приложат. Все по лучшим практикам увеличения бюджета и времени разработки.
ps. А Print Screen всего экрана, вообще решает 80% все ошибок.
129. пользователь 21.10.20 19:18
Сообщение было скрыто модератором.
...
131. AlexWhite 194 21.10.20 19:22 Сейчас в теме
Весело с вами, спасибо за участие, откланиваюсь :-)
133. AlexWhite 194 21.10.20 19:47 Сейчас в теме
(132) а своим "коротеньким" сообщением вы меня просто напугали. Когда я увидел его в Телеге (и в почте), подумал, что сайту Инфостарта кирдык - шлёт какие-то кишки вместо уведомлений. Если бы просто суть ошибки написали человеческими языком, я бы промолчал, скорее всего :-)
Оставьте свое сообщение