V8 Viewer. Открытие и сравнение внешних обработок в Проводнике + исходники

30.04.20

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

Вы хотите получить возможность быстро посмотреть содержимое внешнего отчета или обработки? А сравнить ее с другой? И все это без запуска 1С:Предприятия, только из оболочки ОС? Тогда мы идем к вам! :) В конце заметки - ссылка на исходники.

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

Наименование Файл Версия Размер
Пакет установки
.exe 1,71Mb
730
.exe 1,71Mb 730 Скачать

О чем идет речь?

Вам приходилось отправлять внешнюю обработку по почте и в самый последний момент перепроверить - та ли это версия? Вам приходилось задаваться вопросом - какая из этих обработок с именами "Обработка1", "Обработка1 (новая)" и "Обработка1 (новая2)" является актуальной? А чем они отличаются? Если вы уже познакомились с системами контроля версий, то наверняка, сталкиваетесь с вопросом - какие изменения внесены между версиями обработки?

Вы хотите получить возможность быстро посмотреть содержимое внешней обработки и сравнить ее с другой? И все это без запуска 1С:Предприятия, только из оболочки ОС? Тогда мы идем к вам! :)

Благодарности

Толчком к созданию программы V8 Viewer стала публикация V8Reader (//infostart.ru/public/106310/) - внешняя обработка, отображающая содержимое файлов 1С и сравнивающая их. Огромное спасибо автору утилиты V8Unpack (//infostart.ru/public/15695/) за открытый исходный код. Это круто! Наличие исходников позволило перетащить логику чтения к себе и не включать в дистрибутив саму утилиту V8Unpack в первозданном виде. Кроме того, в отличие от V8Unpack чтение выполняется без распаковки во временный каталог, напрямую из файла 1С.

Задачи на разработку

Итак, я хотел чтобы у меня была возможность:

  • Просматривать историю изменений версий в хранилище SVN (Subversion), в котором у меня лежат все мои внешние обработки. Причем просматривать не просто как "Двоичные файлы", а видеть, что находится внутри.
  • Сравнивать изменения во внешних обработках
  • Открывать двойным щелчком в проводнике (и в любой другой программе) файлы внешних обработок
  • Просматривать содержимое "внутренних" файлов контейнера cf/epf.
    • Кстати, совсем недавно наткнулся на (//infostart.ru/public/124213/), когда собственный велосипед уже был написан :)
  • Все вышеперечисленное должно работать без установки 1С на машину.

Результат

Поставленные самому себе задачи были достигнуты. Написан инструмент "V8 Viewer".
Ниже располагается инструкция по применению.

Возможности программы

На данный момент, актуальная версия 1.0.2.6 умеет:

  1. Регистрироваться в системе, как обработчик открытия внешних отчетов и обработок. Это означает, что в любом месте системы, где есть возможность открыть файл на просмотр, можно открыть и посмотреть содержимое внешнего отчета(обработки).
  2. Просматривать содержимое файла, открывать макеты, модули форм и объектов. Для управляемых форм возможен просмотр элементов формы.
  3. Выполнять сравнение двух файлов, аналогично тому, как сделано в самой платформе. Имеется возможность сравнения дерева метаданных, содержимого макетов и модулей.
  4. Предусмотрен "отчет по свойствам" - в дереве сравнения можно отобразить отчет, похожий на стандартный "Отчет о сравнении объектов".
  5. В редакторе модуля есть возможность навигации по перечню процедур и функций, сворачивание/разворачивание всех блоков кода (по аналогии со стандартным редактором кода)
  6. Отображать внутреннее содержимое контейнера - низкоуровневый "просмотр" файла. Запускается правым щелчком на файле, пункт "Browse".
  7. Предусмотрено автоматическое обновление. При запуске проверяется наличие обновлений и выдается предложение об обновлении.

Tortoise SVN

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

Программа TortoiseSVN - это графическая оболочка для системы контроля версий Subversion. Скачать можно с официального сайта - http://tortoisesvn.net/downloads.html.

Принципы работы с SVN.

Поскольку статья все-таки не про SVN, то подробно останавливаться не буду. Тем не менее, кажется, что пару слов сказать стоит.

При работе с SVN вы создаете где-нибудь репозитарий - хранилище, в котором будет лежать вся история версий. Это может быть каталог на компьютере, но лучше - где-то в сети Интернет. Допустим, мы хотим хранить версии просто на машине. Заходим в пустой каталог (пусть будет D:\REPO) и в контекстном меню выбираем пункт TortoiseSVN->Create repository here. Теперь, этот каталог будет нашей базой данных со всей историей версий.

Далее, есть понятие "рабочего каталога". "Рабочий каталог", это то место, в котором вы ведете непосредственно разработку. Этот каталог "подключен" к репозиторию и может обмениваться с ним изменениями (фиксировать новые изменения, откатываться к предыдущим).

Заходим в любой пустой каталог, выбираем в контекстном меню "SVN Checkout" и указываем путь до репозитория. Теперь, каталог подключен к репозиторию.

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

Прелесть в том, что можно сравнивать 2 любые версии файла. Меню "Tortoise SVN->Show log->Compare with..".Кроме того, Tortoise позволяет сравнивать вообще любые 2 файла, не только в рабочем каталоге, а вообще везде.

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

Настройка Tortoise SVN

1. Устанавливаем V8 Viewer
2. В любом каталоге щелкаем правой кнопкой и выбираем TortoiseSVN->Settings->Advanced

3. В окне Advanced добавляем расширение .epf и указываем командную строку запуска V8 Viewer C:\Program Files\v8viewer.exe -diff %base %mine
Обратите внимание на параметры командной строки:

  • ключ -diff запускает программу в режиме сравнения
  • шаблоны %base и %mine - это ключевые слова Tortoise. Вместо них он подставит пути к выбранным Вами файлам.

По умолчанию, при сравнении модулей программа распаковывает их во временный каталог. При сравнении внешним diff-инструментом видны имена временных файлов, которые неинформативны.

В версии 1.0.1 и старше возможно указание дополнительных ключей -name1 и -name2. В этих аргументах можно передать заголовки сравниваемых файлов, которые будут отображены в интерфейсе. Для TortoiseMerge можно воспользоваться макросами %bname и %yname. В них Tortoise передает заголовки сравниваемых файлов, по которым их можно идентифицировать.

В конечном итоге, строка запуска сравнения может иметь следующий вид:

\v8viewer.exe -diff %base %mine -name1%bname -name2%yname

символами процента (%) отмечены ключевые слова Tortoise вместо которых он подставляет конкретные значения имен сравниваемых файлов и заголовков к ним. Рекомендуется настроить ключи -name1 и -name2, чтобы повысить информативность сравнения двух файлов 1С, чтобы видеть - где какой. Примеры настройки командной строки можно прочесть ниже.

4. Сохраняем изменения.

Теперь, если мы войдем в каталог с внешними обработками и выделим две из них, то в контекстном меню "Tortoise SVN ->" появится пункт "Diff", который запустит сравнение файлов.

Особенности программы

Системные требования

Требуется Microsoft .NET Framework версии 4.0 или выше.

Вся работа со внутренними файлами 1С, такими как табличные документы и графические схемы, выполняется программой "1С:Работа с файлами". Ее наличие необязательно, но просмотреть и сравнить табличные макеты будет нельзя.

Настройка V8 Viewer

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

Settings window
 

Для работы с файлами 1С, такими, как табличные документы и графические схемы требуется наличие программы "1С:Работа с файлами". Программа бесплатная, скачать можно с сайта 1С, перейдя по ссылке прямо из окна настроек. Сравнение табличных документов также выполняется этой утилитой. Без нее, нельзя будет просмотреть табличный макет, но при сравнении двух обработок все равно будет видно, что макеты различаются.

Для сравнения текстов используется любой сторонний diff-viewer. В настройках необходимо указать командную строку для запуска. Метки "%1" и "%2" замещают имена файлов, передаваемые для сравнения. Необязательные метки %name1 и %name2 используются в качестве заголовков файлов.

Ну и рекомендуется настроить соответствие типу файла - с помощью флажка "файловые ассоциации".

Примеры настройки командной строки для diff-просмотрщика

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

2. Подавляющее большинство инструментов для сравнения файлов понимают синтаксис:

 [путь к exe] [первый файл] [второй файл]

Строка запуска для такого случая должна иметь вид: "C:\[путь к exe]" %1 %2

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

"C:\[путь к exe]" /base:%1 /mine:%2 /bname:%name1 /yname:%name2

Более подробно о командных параметрах популярных diff программ можно прочитать здесь: http://ashamray.blog.ru/79251381.html

Гарантии производителя

Со своей стороны я гарантирую отсутствие в коде программы шпионских закладок и умышленно вредоносного кода. Тем не менее, программа поставляется "как есть" и Вы используете ее на свой страх и риск.

Исходные коды

Исходные коды Вы можете скачать по адресу http://sourceforge.net/p/v8reader/code/HEAD/tree/.

Вы можете использовать исходники по своему усмотрению, однако, обязаны обеспечить упоминание авторства. Исходный код предоставляется на условии лицензии GPL3. Если захотите поместить свой код в основной проект - напишите мне, я дам доступ к репозиторию на запись.

Благодарности

Хочется выразить искреннюю благодарность и большущее человеческое спасибо Виктории Дорохиной (//infostart.ru/community/profile/355360/) и Свирепому Бамбру (//infostart.ru/profile/128365/) за разработку V8Reader.epf, с которой все началось, указание на мои ошибки, ссылку на параметры diff-viewer-ов и чуткое тестирование программы V8Viewer.

Заключение

Мне хочется получить отзыв сообщества на тему полезности данного инструмента. Писался он, в основном, ночами, под косыми взглядами супруги. Осталось довольно много задач на реализацию, в частности, поддержка редактирования модулей и макетов, а также открытие файлов *.cf. Приглашаются желающие помочь в разработке.

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

От себя добавлю, что испытываю неподдельный восторг, когда, прикрепляя файл к письму в Outlook, я щелкаю по иконке вложения *.epf и получаю возможность перед отправкой посмотреть содержимое модулей, макетов и т.п.

P.S. Если понравится, не забывайте вернуться на эту страницу и поставить "плюсик" :)

Спасибо за внимание!

 

UPD 30.04.2020

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

См. также

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 руб.

02.09.2020    119961    656    389    

701

Infostart PrintWizard

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

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

18000 руб.

06.10.2023    7017    20    6    

37

Infostart УДиФ: Управление данными и формами

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

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

10000 руб.

10.11.2023    3253    10    1    

31

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177356    1071    0    

846

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

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

5000 руб.

07.02.2018    99207    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

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

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    17921    6    8    

38

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    27949    3    10    

14

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

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

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23494    15    15    

31
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Serj1C 483 06.03.13 13:17 Сейчас в теме
Посмотрел. Круто!
Теперь в моем наборе "must have".
Почему сразу не подвязаны файлы отчетов *.erf ?
Не хватает просмотра макетов СКД)
*.cf даже открывает, можно узнать название конфигурации и почитать глобальный модуль)
2. Evil Beaver 8100 06.03.13 13:21 Сейчас в теме
(1) Serj1C, читаем статью: это предварительная версия. Отчеты намеренно не подвязаны, ради экономии времени. Обязательно будут. Макеты СКД должны открываться. Разве нет?
3. orefkov 1152 06.03.13 14:03 Сейчас в теме
Внушает!
Эх, когда ж ктонить уже на JavaScript сравнение форм портирует :(
4. Evil Beaver 8100 06.03.13 14:19 Сейчас в теме
(3) orefkov, польщен, спасибо!
5. andrewks 1367 06.03.13 14:25 Сейчас в теме
замысел хорош, хотя, как справедливо замечено, идея не новая и уже есть несколько реализаций. (хотя в данной разработке конечные цели поставлены, конечно, более глобальные, чем в уже имеющихся)

Требуется Microsoft .NET Framework версии 4.0 или выше. (Поставляется по умолчанию, начиная с WinXP SP3)

4-го фрэймворка по умолчанию нет в WinXP SP3, по крайней мере, на оф.диске с СП3 у меня вшит только 2.0
6. Evil Beaver 8100 06.03.13 14:56 Сейчас в теме
(5) andrewks, странно, у меня есть. Но у меня тестовый образ диска кхм... не совсем официальный...
Вернее, у меня есть образ диска, на котором я тестировал "чистый запуск". Диск вроде родной, не "ремикс". Все запускается, работает.
7. Nio 70 06.03.13 15:00 Сейчас в теме
Вот ошибка выпала.
При открытии формы в обработке под 8.2. Система win 7.

System.ArgumentException: Folding must be within document boundary
в ICSharpCode.AvalonEdit.Folding.FoldingManager.CreateFolding(Int32 startOffset, Int32 endOffset)
в ICSharpCode.AvalonEdit.Folding.FoldingManager.UpdateFoldings(IEnumerable`1 newFoldings, Int32 firstErrorOffset)
в V8Reader.Controls.CodeControl.foldingUpdateTimer_Tick(Object sender, EventArgs e)
в System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Threading.ExecutionContext.runTryCode(Object userData)
в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
в System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
в System.Windows.Application.RunInternal(Window window)
в V8Reader.Program.<>c__DisplayClass7.<OpenFile>b__5()
в V8Reader.Program.SafeMessageLoop(Action DoMessageLoop)
8. Evil Beaver 8100 06.03.13 15:06 Сейчас в теме
(7) Nio, если не затруднит, приложите проблемный файл
10. Nio 70 06.03.13 15:14 Сейчас в теме
(8)
Вот. Но это честно был первый файл в который я ткнул.
Прикрепленные файлы:
Календарь.epf
9. Magister 134 06.03.13 15:09 Сейчас в теме
(0) Выглядит интересно, респект :) Правда на .NET у меня аллергия, но это так, к слову.
А чем сделан просмотр кода? Что за редактор? Подсветку, сворачивание сами делали, или готовое где-то взяли?
12. Evil Beaver 8100 06.03.13 15:44 Сейчас в теме
(9) Magister, аллергия? И в чем она выражается? Скорее религиозные убеждения... А это очень спорный аргумент против .NET

Редактор AvalonEdit. Но Вам им пользоваться нельзя, у вас аллергия :):):)
bendarik; +1 Ответить
13. pumbaE 06.03.13 15:46 Сейчас в теме
(12) под линуксом не работает . Я надеюсь, что все-таки у Magister получиться доработать редактор и запустить его в linux версии конфигуратора.
14. Evil Beaver 8100 06.03.13 15:51 Сейчас в теме
(13) pumbaE, под Линуксом, ага, не работает. и на Макоси тоже. Хотя есть Mono, можно вспомнить и пресловутый 1% компьютеров :)
P.S. у самого дома - линукс, не стоит разводить старый, как мир холивар.
15. pumbaE 06.03.13 16:35 Сейчас в теме
(14) я не развожу, я просто уточняю.

p.s.: вам скоро захочется делать merge для обработок ибо бранчи это удобно, еще захочется посмотреть историю изменения определенного куска модуля.
16. andrewks 1367 06.03.13 16:38 Сейчас в теме
(13) pumbaE, а что за редактор?
17. pumbaE 06.03.13 16:53 Сейчас в теме
(16) andrewks, на базе SynEdit, альтернатива SciColorer - это в снегопате. Если партнеры продавят api в конфигураторе, то когда-нибудь думаю можно будет и без снегопата.
95. CratosX 112 24.03.13 04:16 Сейчас в теме
(17) pumbaE, а можно подробнее ? Есть определённые пожелания к api в конфигуратор? Давай составим петицию, главное чтобы она разумной была.

(0) Evil Beaver, круто! Спасибо! Пожелания:
1. Сравнение начинать не только правой кнопкой мыши - Показать различия в диалогах, а просто двойным щелчком. Ну или в настройках указать метод (возможно, при двойном ЛКМ открывать сам модуль).

2. В сравнении SVN передавать не темповые файлы вида tmpCEE5.tmp, а нормальные названия. Я долго вкуривал, что файл слева - более поздняя версия ((. Или это зависит от настроек tortoise?

3. В описании привели только англоязычный интерфейс SVN. 1С-ники к сожалению не все владеют английским, уточните что есть русификация
Прикрепленные файлы:
96. pumbaE 24.03.13 10:18 Сейчас в теме
(95) Cratos2, поподробней можете посмотреть в снегопате, я как скриптописатель могу показать мощь api снегопата и скриптов.
98. Evil Beaver 8100 25.03.13 11:36 Сейчас в теме
(95) Cratos2, спасибо за конструктив. По пунктам:
1. Сравнение начинать не только правой кнопкой мыши - Показать различия в диалогах, а просто двойным щелчком. Ну или в настройках указать метод (возможно, при двойном ЛКМ открывать сам модуль)

Поведение содрал с родного "одинэсовского". Ваше предложение интересно, подумаю.
2. В сравнении SVN передавать не темповые файлы вида tmpCEE5.tmp, а нормальные названия. Я долго вкуривал, что файл слева - более поздняя версия ((. Или это зависит от настроек tortoise?

Да, это самого напрягало. В новой версии сделано более умное именование. Новая версия готовится, но пока на работе завал, руки не доходят.
3. В описании привели только англоязычный интерфейс SVN. 1С-ники к сожалению не все владеют английским, уточните что есть русификация

У меня английский интерфейс, скриншоты с него и снимал. Руссификация есть, но когда я ее вижу, то как слепой котенок пытаюсь переводить с русского обратно на английский. Дело привычки. Хотя айтишник, имхо, должен владеть английским, даже если он пишет "Если Тогда" :)

4. За ошибку спасибо. Посмотрю.
29. Magister 134 06.03.13 23:34 Сейчас в теме
(12) В том, что он медленный, по сравнению с "родным" кодом. Вот 1С пишут почему-то на C++, а не на .NET. Как вы думаете, почему? :)
Это сейчас уже не так критично, а вот помню свой Athlon 700 MHz с 320M RAM - там разница была, что называется, на лицо.

(13) Пока что мешает доработать нехватка времени и отсутствие всего требуемого функционала в Снегопате. С Сашей по этому поводу общались, но у него времени мало сейчас - так что быстро не получится.
30. Evil Beaver 8100 06.03.13 23:55 Сейчас в теме
(29) Magister, не только из-за скорости, думаю. Кажется, что независимость от MS не последнюю роль играет. Ну и конечно, более полный контроль над кодом.
31. AlexO 135 07.03.13 10:31 Сейчас в теме
(29) Magister,
Вот 1С пишут почему-то на C++, а не на .NET. Как вы думаете, почему? :)

Потому, что не знают #, но зато школьных знаний по Си, полученных на информатике, хватает написать 1С? :)
32. Magister 134 08.03.13 00:30 Сейчас в теме
(31) Зря вы так, на самом деле платформа 1С (по моему непрофессиональному мнению) - это достаточно высокотехнологичная разработка, и "школьных знаний" для написания такого продукта явно не хватит.
Для специалистов, способных написать приложение такого уровня, изучение C# не предоставит большого труда. Точно так же не составит труда фирме 1С нанять программистов, которые уже его знают :)
kuntashov; shafran; DrAku1a; +3 Ответить
33. AlexO 135 08.03.13 01:28 Сейчас в теме
(32) Magister,
Тогда почему не наймет и не сделает качественный продукт?
Почему не напишет свою СУБД? Почему не использует СУБД уже готовые?
Одни почему, почему...
В платформе 1С зачастую не могут месяцами поправить флаг! Флаг!!!
Используют бесплатные компоненты, вместо написания своих.
А вы говорите о каком-то профессионализме разработчиков.
35. Magister 134 08.03.13 02:13 Сейчас в теме
(33) Потому что цель 1С - зарабатывать деньги. И пока что эта цель вполне достигается.
Не поставили задачу программистам пофиксить что-то - вот и не пофиксили. Всё просто :)

А вот [quote]Используют бесплатные компоненты, вместо написания своих.[/quote]это наоборот хорошо. Зачем изобретать велосипеды?
34. AlexO 135 08.03.13 01:29 Сейчас в теме
(31) sanches; kuntashov; srv7; Evil Beaver;
Судя по массовым минусам - вы все согласны, т.е. вам тоже всем хватает только школьных знаний? :)
36. sanches 256 08.03.13 08:40 Сейчас в теме
(34) AlexO, а вы все зарабатываете стартмани троллингом )))
1v7; Steelvan; BorovikSV; 1cmax; Evil Beaver; +5 1 Ответить
37. lustin 08.03.13 10:17 Сейчас в теме
(31) а меня в институте учили что Си и С++ это как бы не одно и тоже.
И еще - а в какой это школе С++ дают или С ? Вы скажите - я постараюсь туда сына перевести, а то мы все по книжкам, да по книжкам и дома...
11. pumbaE 06.03.13 15:35 Сейчас в теме
(0) Маленькое уточнение: не только SVN но и для всей линейки Tortoise применима данная настройка (git, mercurial, bzr).
(3) orefkov, сравнение ведь это пол дела, захотите сразу же и merge форм :)
18. AlexO 135 06.03.13 17:27 Сейчас в теме
А зачем все это нужно?
Текстовый файл с историей версий, описание, версии обработок в архиве.
SVN - нужны только при групповой работе (и тогда да, ставить SVN какой-нить, просмоторщик вроде этого и т.д.), но никак не одному программисту.
Все :)
А сравнивать обработки можно вполне и типовыми средствами.
19. pumbaE 06.03.13 17:35 Сейчас в теме
(18) AlexO, хотел написать подробно, вот ваше
Все :)
отбило охоту кормить троля.
Отвечу кратко - удобство.
20. AlexO 135 06.03.13 17:43 Сейчас в теме
(19) pumbaE,
Отвечу кратко - удобство.

удобство пользоваться громоздким VSN в одиночку?!
Да уж :)
Это еще не известно, кто тролль :)
22. Evil Beaver 8100 06.03.13 17:49 Сейчас в теме
(20) AlexO, кхм... история версий в архиве, а описание - в txt???
Вопрос: Сколько кликов мышкой у вас получается от момента сохранения файла до момента регистрации новой версии?
Ну или не кликов, а элементарных действий?

А при откате к предыдущей версии? Короче, Вы либо тролль, либо системой контроля версий не пользовались ни разу. При всем уважении.
26. AlexO 135 06.03.13 21:18 Сейчас в теме
(22)
Сколько кликов мышкой у вас получается от момента сохранения файла

все столько же, как и создавать-нажимать кнопки и писать описание в SVN.
А при откате к предыдущей версии?

кто вам делает откат? SVN? точно такой же "откат" - берете старую версию из архива и делаете с ней, что хотели.
НО: зато все просто, всегда знаешь - как все устроено и где лежит, простейшая структура, возможность создания перекрестных "ссылок", виден размер всего и в частности, можно "подключать" любые файлы, компоновать все в какой душе угодно последовательности и структуре, могу поменять структуру как требуется, а не как заложили разработчики, если нужно по другому скопоновать файлы или время требует перемен, быстрое создание архива всей библиотеки и перенос и развертывание - в общем, полная свобода.
И никаких ограничений :)
23. pumbaE 06.03.13 17:49 Сейчас в теме
(20) AlexO, прочтите (11) , автор предпочитает "громоздкий" svn (но svn развивается, посмотрите на версию 1.7 уже даже .svn в корне лежит, а не в каждой папке) , я использую bzr и git.
21. ZLENKO 398 06.03.13 17:44 Сейчас в теме
Недосыпание очень вредит здоровью, а работа по вечерам вредит семейным отношениям. Поэтому хочу попросить автора все же поберечь себя и семью и работать в рабочее время :-) Я серьезно.
myALKleon; +1 Ответить
24. Evil Beaver 8100 06.03.13 17:49 Сейчас в теме
(21) ZLENKO.PRO, Спасибо. Я уже берегу :)
25. Alien_RS_Forever 432 06.03.13 18:06 Сейчас в теме
(0) зачётная штука ! было бы здорово научить её вносить и сохранять изменения. Т.е. по сути на компе с отсутствующей платформой можно было бы по-быстрому поправить обработку, отчёт или макет. А в дальнейшем переложить функционал и на cf/1cd..
myALKleon; CratosX; fomix; +3 Ответить
27. Evil Beaver 8100 06.03.13 22:42 Сейчас в теме
Ок, флаг Вам, как говорится в руки! :D
48. AlexO 135 12.03.13 17:36 Сейчас в теме
(27)
так вот, никакой SVN вам не позволит:
- при смене ссылок - найти их ВСЕ и обновить (только Линукс так умеет, да и то - потому что у него используются непосредственно ССЫЛКИ-метки)
- пометить, что каталог - пустой, и требует инфо
... и многое, многое другое, что недоступно вашим SVN-ам..
А я делаю все это - влегкую. Так что минусы - всем "защитникам" SVN.
49. pumbaE 12.03.13 18:29 Сейчас в теме
(48) AlexO, расшифруйте плиз
- пометить, что каталог - пустой, и требует инфо -- для какой структуры каталогов это необходимо, пометить, что каталог должен быть пустым и т.д.
- при смене ссылок - найти их ВСЕ и обновить -- какие ссылки, что менять и на что, что обновлять.
50. AlexO 135 13.03.13 09:15 Сейчас в теме
(49) pumbaE,
"- пометить, что каталог"
если заранее сделана структура, но там нет инфо. Делаешь пометку на каталоге, потом можно его по пометке найти - где пустые.
"- - какие ссылки, что менять и на что, что обновлять."
а потому что не просто набор обработок и прочего, а с пояснениями и ссылками по пересекающимся работам.
51. Evil Beaver 8100 13.03.13 09:52 Сейчас в теме
(50) AlexO, дружище, может хватит троллить? Был задан довольно конкретный вопрос - расскажи что ты имеешь в виду, как организован твой супер-пупер рабочий процесс?

А ты отвечаешь малопонятными и неубедительными фразами ни о чем. Или объясни толком, с самого начала или не парь мозги, ок?
52. AlexO 135 13.03.13 11:36 Сейчас в теме
(51)
в (18 ) описана база.
В (26 ), (48 ), (50 ) - использование.
Что непонятно? Что структурированность, прежде всего - должна быть в голове? :)
53. pumbaE 13.03.13 12:49 Сейчас в теме
(52) AlexO, может сподобитесь на публикацию "Как я у меня структурировано располагаются обработки".
Потому как из (18) непонятно где вы храните ссылки на пустые каталог в текстовом файлике или же архиве.
Как архиве лежат версии обработок и по описанию можно быстрой найти необходимую версию, как с помощью перекресных ссылок вы знаете, что для этого клиента в этой обработке сделано то, для другого другое, при этом базой является вот та версия обработки и дополнительно у третьего клиента стоит еще старая версия.

p.s.: мне реально интересен чужой опыт. Прошу именно публикацию или развернутый ответ с примером, потому как не могу понять как из (18) (26) (48) (50) получается конфетка.
awa; Evil Beaver; bambr1975; +3 Ответить
57. AlexO 135 14.03.13 09:42 Сейчас в теме
(53) pumbaE,
Хранение в обычных тестктовых файлах + структура каталогов.
Главное - продуманная структура + структурированность в голове: не забывать делать пометки и краткие пояснения своих действий.
И все.
Тексты, обработки, картинки, пояснения - все хранится вместе (а можно и врозь).
Только путь скопируй (или еще как пометь, это - смотреть там-то, главное, чтобы понятно было, хоть одним словом помечай), где лежит - и пусть оно там лежит, хоть у соседа.
непонятно где вы храните ссылки на пустые каталог в текстовом файлике или же архиве.

все хранится в открытом виде (или архивируется стандартно).
И никаких лишних программ + можно рубить как хочешь контент (если большой слишком - взял, и по алфавиту разделил на равные части) + про исправление ссылок уже писал.
Все делается ТИПОВЫМИ, СТАНДАРТНЫМИ, НЕ 1совыми средствами и прочей лабудой.
Важнейший пункт - структурированность в голове.
58. AlexO 135 14.03.13 09:51 Сейчас в теме
(53) pumbaE,
Как архиве лежат версии обработок и по описанию можно быстрой найти необходимую версию

Версии обработок - помечаются v1, v2, v3...
Рядом - файл истории: что, зачем, почему, какую версию смотреть.
как с помощью перекресных ссылок вы знаете, что для этого клиента в этой обработке сделано то, для другого другое

Обработки, во-первых, разделяются для разных клиентов (если дописки только для одного, но второму не нужны), а, во-вторых, все записывается - что, сколько, на сколько.
Тут же пометка - базой является вот эта обработка, находится тут, версия базовая - такая-то, почему именно она принята за базу, а не последняя версия, которая лежит там-то.
Если клиенты запутались в обработках - отдельный файл "Распределение обработок", где - дата, кто, чего отдано.
И когда требуется на что заменить.
Т.е., зная, где лежит обработка - я найду все остальные связанные + узнаю, зачем я столько версий понаделал и кому.
И базу найду. Или наоброт, помня, где лежит базовая - по ссылке найду потомков с их историей.
А то и просто - помечу в текстовике, что сделаны потомки, лежат там-то, обращаться к ним в случае таком-то. А нет - пусть и дальше лежат, трогать не надо.
Главное - структурированность в голове. :)
60. Evil Beaver 8100 14.03.13 09:53 Сейчас в теме
(58) AlexO, спасибо, поржал. А сам-то понял, что сказал?
61. AlexO 135 14.03.13 09:55 Сейчас в теме
(60)
спасибо, тоже поржал.
А ты сам-то понимаешь вообще, что ты делаешь? или так, абы-что понаделать, а там и ладно?
Ну тогда тебе никакой ни SVN, ни Билл Гейтс, ни Нуралиев, никто не поможет.
62. Evil Beaver 8100 14.03.13 10:48 Сейчас в теме
(61) AlexO,
абы-что понаделать, а там и ладно

да-да, я имено так и делаю. Это вообще мое жизненное кредо :)
59. AlexO 135 14.03.13 09:52 Сейчас в теме
(53) pumbaE,
вы все это из (58 ) можете реализовать в жестких рамках, которые недорисовали разработчики SVN?
28. pumbaE 06.03.13 23:20 Сейчас в теме
Сдался. Я ожидал, что дойдет до обсуждения хранения обработок на дискетах и признания того что малый размер дискет дисциплинирует всякое Г не деражать.
myALKleon; +1 Ответить
38. NosovK 16 09.03.13 00:22 Сейчас в теме
ура - наконец таки реализуем svn для внешних обработок :)
Огромное спасибо.
39. N_aix 09.03.13 16:04 Сейчас в теме
40. 1cmax 152 10.03.13 18:09 Сейчас в теме
AlexO вообще чересчур "красноречив"
41. flash2k 2 11.03.13 10:59 Сейчас в теме
За идею +, но при открытии ошибка
8.2 win xp

System.Windows.Markup.XamlParseException: Предоставление значения для "System.Windows.Baml2006.TypeConverterMarkupExtension" вызвало исключение. ---> System.IO.FileFormatException: Формат изображения не распознан. ---> System.Runtime.InteropServices.COMException: Исключение из HRESULT: 0x88982F07
--- Конец трассировки внутреннего стека исключений ---
в System.Windows.Media.PixelFormat.GetPixelFormat(SafeMILHandle bitmapSource)
в System.Windows.Media.Imaging.BitmapSource.UpdateCachedSettings()
в System.Windows.Media.Imaging.BitmapSource.set_WicSourceHandle(BitmapSourceSafeMILHandle value)
в System.Windows.Media.Imaging.BitmapFrameDecode.FinalizeCreation()
в System.Windows.Media.Imaging.BitmapSource.CompleteDelayedCreation()
в System.Windows.Media.Imaging.BitmapSource.get_WicSourceHandle()
в System.Windows.Media.Imaging.BitmapFrameDecode..ctor(Int32 frameNumber, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, BitmapFrameDecode frameDecode)
в System.Windows.Media.Imaging.BitmapDecoder.SetupFrames(BitmapDecoder decoder, ReadOnlyCollection`1 frames)
в System.Windows.Media.Imaging.BitmapDecoder.Initialize(BitmapDecoder decoder)
в System.Windows.Media.Imaging.BitmapDecoder..ctor(SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, Boolean insertInDecoderCache, Boolean isOriginalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle)
в System.Windows.Media.Imaging.IconBitmapDecoder..ctor(SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, Boolean insertInDecoderCache, Boolean originalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle)
в System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
в System.Windows.Media.Imaging.BitmapFrame.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy)
в System.Windows.Media.ImageSourceConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
в System.Windows.Baml2006.TypeConverterMarkupExtension.ProvideValue(IServiceProvider serviceProvider)
в MS.Internal.Xaml.Runtime.ClrObjectRuntime.CallProvideValue(MarkupExtension me, IServiceProvider serviceProvider)
--- Конец трассировки внутреннего стека исключений ---
в System.Windows.Markup.XamlReader.RewrapException(Exception e, IXamlLineInfo lineInfo, Uri baseUri)
в System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
в System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
в System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
в System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
в V8Reader.Editors.CodeEditorWnd.InitializeComponent()
в V8Reader.Editors.CodeEditorWnd..ctor()
в V8Reader.Editors.ModuleEditor.Edit(Window Owner)
в V8Reader.Editors.ModuleEditor.Edit()
в V8Reader.Editors.DataProcEditorWnd.btnObjectModule_Click(Object sender, RoutedEventArgs e)
в System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
в System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
в System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
в System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
в System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
в System.Threading.ExecutionContext.runTryCode(Object userData)
в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
в MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
в System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
в System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
в System.Windows.Threading.Dispatcher.Run()
в System.Windows.Application.RunDispatcher(Object ignore)
в System.Windows.Application.RunInternal(Window window)
в System.Windows.Application.Run(Window window)
в V8Reader.Program.<>c__DisplayClass7.<OpenFile>b__5()
в V8Reader.Program.SafeMessageLoop(Action DoMessageLoop)
42. Evil Beaver 8100 11.03.13 11:25 Сейчас в теме
(41) flash2k, Так на всех обработках или на конкретных? Правильно ли я понял, что падает при открытии какого-нибудь модуля, что просто окно обработки все-таки открывается?
54. bulpi 215 13.03.13 16:52 Сейчас в теме
Увы, но для Win XP SP3 с установленным Net Framework 4 не работает, выдает ошибку, как у (41) :
System.IO.FileFormatException: The image format is unrecognized. --->

и т.д.
43. flash2k 2 11.03.13 12:45 Сейчас в теме
окно открывается, ошибка возникает при открытии модуля обработки/формы
пробовал на первых 5 попавшихся
44. Evil Beaver 8100 11.03.13 14:08 Сейчас в теме
(43) flash2k, Спасибо. Пока записал в загадки. Какая версия XP?
45. flash2k 2 11.03.13 14:32 Сейчас в теме
46. gr0ck 11.03.13 16:12 Сейчас в теме
Разработка хорошая, надеюсь так и станется бесплатной, и будет радовать разработчиков исправлением багов и добавлением возможностей. За это плюс+
65. alest 14.03.13 18:46 Сейчас в теме
(46) gr0ck, Сырцы автор пока не дает, хотя и признался, что непосредственно использовал чужие :(
(3) orefkov, это для Снегопата?
66. orefkov 1152 14.03.13 22:24 Сейчас в теме
68. Evil Beaver 8100 14.03.13 23:47 Сейчас в теме
(65) alest,
Сырцы автор пока не дает, хотя и признался, что непосредственно использовал чужие :(

Ну во-первых, непосредственно чужие я не использовал. Все сырцы написаны мной, хотя документация на формат epf и пример реализации да, брал в V8Unpack. Непонятно, почему недовольный смайлик? Это разве плохо? Тут как-бы признаваться мне не в чем, наоборот, все по-честному. Ну а во-вторых, сорцы я не даю, т.к. в них надо порядок навести, доделать кое что. Если есть желание попилить - милости прошу в личку, обсудим. Просто в открытое скачивание выкладывать пока не буду.
69. AlexO 135 15.03.13 10:08 Сейчас в теме
(68) orefkov
Вот она, Россия - кроме как для писать костыли к 1С, другие RAD и не нужны больше... :((
71. Evil Beaver 8100 15.03.13 14:01 Сейчас в теме
(69) AlexO, Трололошечки-трололо... еще какие идеи будут?
81. AlexO 135 18.03.13 10:34 Сейчас в теме
(71)
Трололошечки-трололо

А я - AlexO, познакомились уже.
Сами себе создают трудности, и потом героически их преодолевают...
ВК на 1С - зло для 1С: она и не работает с ними путем, и держать ВК надо постоянно под рукой. А то и вообще - придумывать, как подключить при жестко ограниченном доступе.
Но "тролло-ло", как они себя называют и представляются, играются дальше :))
82. Модератор раздела 18.03.13 18:55 Сейчас в теме
(81) AlexO в своем репертуаре.
Все у него автоматически и мысленно, никаких доп.средств не использует.
Тем, кто в теме, предлагаю тупо пропускать его посты :)
93. AlexO 135 21.03.13 12:10 Сейчас в теме
(82) artbear,
Тем, кто в теме, предлагаю тупо пропускать его посты

Увы, 1С не дает пощады и не делает скидок... будь то мегатру1сник или простой новичок...
47. ivanov660 4325 12.03.13 10:19 Сейчас в теме
55. dour-dead 270 13.03.13 16:52 Сейчас в теме
Установил, открыл, зашел в настройки.


со второго раза нормально окрылась
Прикрепленные файлы:
56. Evil Beaver 8100 13.03.13 16:59 Сейчас в теме
(55) dour-dead, ухты, как интересно. Знать бы еще что это, гыгы :)
63. karakozov 14.03.13 16:36 Сейчас в теме
При открытии WIn 7 64bit Платформа 8.2.14.537
пишет

в V8Reader.Controls.CodeControl.foldingUpdateTimer_Tick(Object sender, EventArgs e)
в System.Windows.Threading.DispatcherTimer.FireTick(Object unused)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.DispatcherOperation.InvokeImpl()
в System.Threading.ExecutionContext.runTryCode(Object userData)
в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
в System.Windows.Threading.DispatcherOperation.Invoke()
в System.Windows.Threading.Dispatcher.ProcessQueue()
в System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
в MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
в System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
в MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
xpym-xpym; +1 Ответить
64. Evil Beaver 8100 14.03.13 17:12 Сейчас в теме
(63) karakozov, на всех файлах или на некоторых? Если на некоторых, то это похоже на (7). У себя уже исправил, если можете дать файл, проверю еще и на нем.
67. xpym-xpym 14.03.13 23:42 Сейчас в теме
(63) karakozov, (66) orefkov,
При открытии WIn 7 64bit и тд пока так и не работает?

Замысел старый реализация посмотрим)
70. NittenRenegade 107 15.03.13 13:27 Сейчас в теме
Классная штука, развивать однозначно стоит.
Кстати, сам кодил на .NET около года. Удобная среда для программирования, но как отправишь продукт в большое плавание, так и начинаются траблы: framework есть далеко не у всех и он реально много весит; MS постоянно придумывает новые, малоприспособленные для реальной разработки технологии, которые бросает в погоне за новыми призраками, так и не внедрив прежние. При этом на разных платформах независимая вроде бы среда начинает выдавать разные фокусы в поведении. В общем, у меня тоже на него аллергия осталась. Но это так, лирика.
Evil Beaver, успехов и упорства в продолжении начатого.
72. andrewks 1367 17.03.13 13:05 Сейчас в теме
неплохо было бы в описании указывать - что именно было обновлено
73. Evil Beaver 8100 17.03.13 13:55 Сейчас в теме
(72) andrewks, На Инфостарте не указал, но при автообновлении должно указываться. Вы на основании чего сделали вывод, что вообще есть обновление?
74. andrewks 1367 17.03.13 14:37 Сейчас в теме
(73) ну так в свойствах публикации указано, что она была обновлена сегодня [17.03.2013 10:46]
75. Evil Beaver 8100 17.03.13 14:53 Сейчас в теме
А вы внимательный ;) Расчет был такой, что вновь скачивающие будут получать более свежий файл. А те кто уже скачали, получат его через автообновление, где и будет указано - что поменялось.
Разумеется, при условии, что автообновление работает :) Заодно и проверим.
76. PrinzOfMunchen 83 17.03.13 16:20 Сейчас в теме
(75)
Классная вещь, но так хочется написать нечто подобное на 1с...
Ну или хотя бы открыть из 1с свою внешнюю обработку с возможностью просмотра её кода...)))
77. andrewks 1367 17.03.13 16:49 Сейчас в теме
(76) PrinzOfMunchen,
Ну или хотя бы открыть из 1с свою внешнюю обработку с возможностью просмотра её кода


эмм... а что мешает?

если такое написать на чистом 1с - это будет безбожно тормозить. как минимум, нужна ВК.
79. Evil Beaver 8100 17.03.13 17:21 Сейчас в теме
(76) PrinzOfMunchen, так уже есть! Ссылка в моей статье. Очень любопытная разработка.
80. PrinzOfMunchen 83 17.03.13 20:00 Сейчас в теме
78. pumbaE 17.03.13 16:57 Сейчас в теме
Хм, v8reader имхо для внешних обработок не тормозит. http://infostart.ru/public/106310/
83. flash2k 2 19.03.13 08:54 Сейчас в теме
проверил новую версию, работает :)
текст модуля открывает, но при сравнении (когда делаешь показать различие в модулях) выдает
84. Evil Beaver 8100 19.03.13 09:26 Сейчас в теме
(83) flash2k, судя по ошибке система не нашла внешний diff-viewer. Т.е. у Вас в настройках, скорее всего, указан путь к несуществующей программе сравнения. Я прав?
85. flash2k 2 19.03.13 09:38 Сейчас в теме
вроде все настроено, все есть
86. Evil Beaver 8100 19.03.13 09:53 Сейчас в теме
(85) flash2k, Где же есть? В окне настроек указан путь к TortoiseMerge, а папку показываете с KDiff. если хотите сравнивать с помощью KDiff, так и путь пропишите к KDiff. И параметры командной строки для него.
87. flash2k 2 19.03.13 09:58 Сейчас в теме
за правым окном настройки окно с TortoiseMerge
88. Evil Beaver 8100 19.03.13 10:21 Сейчас в теме
(87) flash2k, все, я понял. Путь к TortoiseMerge нужно заключить в кавычки.
89. flash2k 2 19.03.13 10:43 Сейчас в теме
ага, с кавычками разобрался
только еще проблема :)
при сравнении выдает

ощущение, что он не видит параметров...
90. Evil Beaver 8100 19.03.13 11:36 Сейчас в теме
Попробуйте параметры тоже в кавычки. Автоматом они не "кавычатся" пока. Хотя, у меня параметры в кавычках не работали, уже не помню почему. Разберусь.
Какой у вас полный путь к каталогу Temp?
91. flash2k 2 19.03.13 13:08 Сейчас в теме
в параметрах кавычки не помогли
%temp% = C:\Documents and Settings\user\Local Settings\Temp
92. fr.myha 21.03.13 12:03 Сейчас в теме
Интересная вещица. Но думаю платформа развивается и много нюансов которые можно не предусмотреть.
А может в каких-то случаях испортить.
Предпочитаю просматривать обработки через стандартные возможности предоставляемые платформой 1С:Предприятие.
94. bulpi 215 21.03.13 13:05 Сейчас в теме
Новая версия работает на XP ! автор, спасибо!!!!
97. CratosX 112 24.03.13 17:08 Сейчас в теме
При попытке открыть файл 8.1 выдаёт ошибку:

System.IO.FileNotFoundException: Не удалось найти указанный файл.
в V8Reader.Core.MDFileItem..ctor(IImageLister imgLister, String itemName)
в V8Reader.Core.MDReader.GetElement(String Name)
в V8Reader.Core.MDDataProcessor.Create(String ImageFile)
в V8Reader.Program.<>c__DisplayClass7.<OpenFile>b__5()
в V8Reader.Program.SafeMessageLoop(Action DoMessageLoop)


Сконвертировав под 8.2, всё проходит гладко.
Прикрепленные файлы:
epf 8.1 + 8.2.zip
101. Evil Beaver 8100 25.03.13 17:23 Сейчас в теме
(97) Cratos2, не знаю, как у Вас, а у меня при открытии обработки 8.1 в конфигураторе 8.1.15.14 просит конвертировать обработку. Может она от 8.0, а не от 8.1.
Внутри у нее другая структура, я таких обработок не видел пока. Скорее всего, это все-таки 8.0, у меня нет ее дистрибутива и, честно говоря, не уверен, что стоит поддерживать такие обработки. Кто-то еще пользуется 8.0?
Оставьте свое сообщение