Системы контроля версии и 1С

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

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

123
Системы контроля версий на службе у 1С-ника.

Пока во всем мире идут споры, какая система контроля версий лучше (svn, git, hg, bzr и т.д.), в плане 1С эти споры бесмысленны. 

Есть хранилище конфигураций, вот его и используйте. Но что делать, когда у вас множество внешних отчетов, обработок? 

Если честно мне надоели  в папках файлы "МояСуперОбработка_20120115.epf" и "МояСуперОбработка_20120201.epf" и захотелось воспользоваться одной из систем контроля версии. В принципе даже для простой истории изменений и записи в конце дня, что сделал очень полезно. Но как всегда есть маленькая ложка дегтя - все системы контроля версий в основном предназначенны для исходных текстов, а формат epf, erf для них звучит как binary и не хотят они показывать изменения. 


Но благодоря V8Reader (с расширенным анализом форм)  можно исправить ситуацию в плане показа изменений.  Хотелось бы на этом акцентировать внимание.

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

Для svn, в частности TortioseSVN, идем в настройки "External programm" -> "Advanced ..." и добавляем для необходимых нам расширений файлов вызов diff-1c-cf.bat по аналогии с другими вариантами. 

Для bzr и в частности графическая оболочка Qbzr в настройках пользователя добаляем свою программу для просмотра изменений. (Для bzr есть нюанс, отдельно для определенного расширения файла невозможно настроить свою комманду, только в целом для всех изменений. Но при этом можно выбирать смотреть с помощью определенной программы или встроенным).

И для окончательной настройки нам достаточно в diff-1c-cf.js прописать правильные переменные pathTo1C и pathToBase (путь к базе).

Как это выглядит:

 

Приятным бонусом стало: возможность сравнить mxl файлы для семерки средствами 8.


Upd: 22.02.2012


Добавил на общедоступный репозитарий https://bitbucket.org/Shenja/diff1c/overview .

Так же добавляю описание, что нужно закачать и поставить для работы:

  1. BZR : http://www.python.org/getit/ (версия 2.7), http://www.riverbankcomputing.co.uk/software/pyqt/download (PyQT 4.9 для python2.7) http://wiki.bazaar.canonical.com/WindowsDownloads (я бы советовал 2.5b), Qbzr  https://launchpad.net/qbzr/ и наконец https://launchpad.net/bzr-explorer/+download красивая графическая оболчка. (Пока все перечислил, аж вспотел. Как же в linux с этим проще - это просто констатация факта). Устанавливаем все в порядке указания ссылок. После этого я бы советовал создавать новые репозитарии с типом "colocated " (в случаии версии bzr 2.5) хотя если ни разу не работали, тогда вариант по умолчанию. Как настраивать, думаю на скриншотах видно.
  2. fossil: http://www.fossil-scm.org/download.html(желательно скопировать в каталог, который есть в переменной PATH) и http://sourcegear.com/diffmerge/index.html (инструмент для просмотра различий, отличительная возможность которого, для определенных расширений файлов вызывать сторонние приложения). В принципе настройка производиться diffmerge, в меню Tools - Options - External toll добавляем для расширений cf, epf, erf, mxl свою настройку  и для каталога под версионным контролем fossil делаем настройку: "fossil set gdiff-command d:\WORK\1C\DiffMerge\sgdm.exe" ну или путь, где у вас будет ваш viewer. После этого командой "fossil gdiff" будет вызываться необходимая нам программа.
123

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

Наименование Файл Версия Размер
diff1c.zip
.zip 278,98Kb
22.02.12
143
.zip 278,98Kb 143 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
0. pumbaE 630 22.02.12 09:07 Сейчас в теме
Системы контроля версий на службе у 1С-ника.

Перейти к публикации

1. orefkov 1981 22.02.12 09:07 Сейчас в теме
Правильно ли я понял, что сами файлы уходят в систему контроля версий как бинарники, просто добавлена возможность просмотреть разницу "по-человечьи"?
2. pumbaE 630 22.02.12 11:05 Сейчас в теме
(1) orefkov, совершенно верно. Даже при таком простом подходе вероятность порчи внешних обработок (случайно кэш почистили) уменьшается в разы.
Видна простейшая история изменений. Та даже просто когда есть несколько веток разработки уже красиво становиться.

Я раньше использовал в bzr хук при commit автоматом запускало v8unpack и для модулей всегда можно было посмотреть различия, но обезличено.
3. pumbaE 630 22.02.12 11:25 Сейчас в теме
Автор v8Reader подсказал, что есть досадная ошибка при построении дерева измененных...
Открываю общедоступный репозиторий, где буду выкладывать изменения: https://bitbucket.org/Shenja/diff1c
4. Steelvan 22.02.12 11:31 Сейчас в теме
Да, если просто хранить внешние обработки в конфигурации, то у реквизитов формы слетают типы. Поэтому приходиться придумывать типа сабжа.
5. andy_minsk 22.02.12 12:26 Сейчас в теме
А для себя, если не секрет, что используешь? Мы на Bazaar пробуем, просто он не совсем "модный", интересен опыт других.
7. pumbaE 630 22.02.12 12:58 Сейчас в теме
(5) andy_minsk, Раньше использовал svn, но это остатки прежних заказов. На машине стоит в принципе зоопарк: svn, git, hg, bzr, вот еще благодаря снегопату fossil осилил:
Кратко сейчас использую две системы fossil и bzr: bzr последний который 2.5 beta, там добавили работу с ветками как в git. Fossil использую на выездах (удобно со снегопатом сочетается, в принципе я дорабатываю плагин для снегопата - работа с версионным контролем), пришел к клиенту сделал fossil open, если дорабатывал какие либо отчеты внешние, закоммител и уже дома сделал синхронизацию (для каждого клиента своя ветка) - так же есть скрипт самопальный, который делает экспорт из fossil ревизий в bzr.

Причины использования bzr, fossil, svn а не git и hg: нормальная работа с кирилицей в именах файлов. Если есть XP, 7 и linux - тогда только bzr, fossil или svn. Если только win7 (vista) и linux тогда можно и hg или git.

Мы на Bazaar пробуем, просто он не совсем "модный"
но только он из модных с красивым GUI поддерживает в хранилище у себя unicode названия файлов.
6. orefkov 1981 22.02.12 12:52 Сейчас в теме
Я вот пользую mercurial и для небольших проектов - fossil.
8. pumbaE 630 22.02.12 13:18 Сейчас в теме
(6) orefkov, я бы тоже использовал с удовольствием mercurial, но так как на работе XP, дома linux, на сервере redmine (тоже linux), а английский я хорошо не знаю, да и 1С предлагает все таки русские наименования обработок... пришлось искать альтернативы.
9. orefkov 1981 22.02.12 13:22 Сейчас в теме
Ну у меня mercurial в С++ проектах используется, и что он кириллицу в именах файлов не поддерживает, я даже как-то впервые услышал.
10. pumbaE 630 22.02.12 13:29 Сейчас в теме
Он поддерживает, только к себе в хранилище сохраняет имена в системной кодировке (в xp cp1251), когда на другие системы разворачиваешь, естественно перекодирует (utf-8) и получается, Файл МояОбработка удален, файл МояОбработка добавлен. Аналогично и git.
11. andy_minsk 22.02.12 13:44 Сейчас в теме
Причины использования bzr, fossil, svn а не git и hg: нормальная работа с кирилицей в именах файлов. Если есть XP, 7 и linux - тогда только bzr, fossil или svn. Если только win7 (vista) и linux тогда можно и hg или git.

Да, поскольку линукс, 7 и ХР, победили кодировки только в bzr, и сами пришли к этой мысли :).
А насколько интенсивно пользуете, примерное количество веток, ревизий?
12. pumbaE 630 22.02.12 13:58 Сейчас в теме
(11) trunk, dev, production

Из production - в базу, в trunk основная разработка, dev быстрые, срочные правки.
trunk по желанию разбивается на bug123, новаяФича и т.д.. Мелкие ветки в основном задаю, когда с консолью играюсь и СКД-шные макеты надо сохранить, а то сейчас вот как добавлю еще один подзапрос и посмотрю...

Для cf около 80 commit, в целом если брать production около 200 (254 посмотрел) сейчас. Ну а ветки кто ж их считает..., коли их просто удалять. Сказать, что суппер быстро работает, не скажу - но зато у меня есть возможность в отличии от хранилища 1С накидать 10 commit и потом сделать merge c основной веткой и главное красиво все будет видно в истории.
16. kuntashov 366 22.02.12 22:51 Сейчас в теме
(12) Тоже очень интересуюсь организации альтернативы хранилищу. Вопросы:

1. Как организовано хранение cf-файлов? Также, как и обработок? Выгружаете cf и коммитите целиком как бинарник?
2. Если да, то насколько быстро выполняется коммит? Если нет, как организовано версионирование изменений в cf?
17. pumbaE 630 22.02.12 23:21 Сейчас в теме
(16) kuntashov, cf также как и обработок, commit длиться около 30 секунд(субъективно, завтра замеряю более точно, но хочу сразу уточнить использую bzr, а про него вроде как говорят не сильно скоростной, но по очучениям :) быстрее хранилища).
Были попытки командной строкой выгружать модули объектов и потом скриптом Документ.АвансовыйОтчет.МодульОбъекта.txt разбивался в папку Документ\АвансовыйОтчет\МодульОбъекта.txt, но к сожалению этой информации не хватало для дальнейшего анализа, нет не реквизитов, ни форм.
Есть большое желание сделать выгрузку как у gcomp - хотя бы для выгружать структуру форм и модулей по папкам, опять на основании v8Reader, он то дерево строит. (В хранилище ложить cf и дерево файлов, без cf страшно)


OFF:
Так же планирую в посмотреть в сторону bugzila - нравиться мне как у fedora сделана зависимость между пакетами и их версиями. Это просто как идея витает: есть внешняя обработка допустим заполнить табличную часть док Авансового учета - для версии документа "Авансовый Отчет", в случаи изменения ревизии для объекта(пакет) Авансовый отчет, автоматом информировать проверить такую ревизию такого файла... Ну или пытаться вникнуть в юнит-тестирование...
18. kuntashov 366 22.02.12 23:32 Сейчас в теме
(17) Спасибо. Не уточнишь, о конфигурации какого размера идет речь?

Скорость для меня очень важна, иначе теряются многие преимущества, которые я ожидаю получить.

Если ограничиваться текстовым представлением, то можно вместе с выгружаемыми модулями коммитить отчет по конфигурации. Теоретически, должно быть быстрее на последующих операциях сравнения. Но тут опять узким местом может стать выгрузка модулей и формирование этого отчета...
19. pumbaE 630 22.02.12 23:46 Сейчас в теме
(18) kuntashov, УПП-ыще. Формирование отчета и выгрузка модулей действительно узкое место, в принципе для анализа модулей может попробовать v8unpack запускать (хотя бы тексты модулей). Отчет по конфигурации имеет такое свойство: строиться табличный документ, только он всеми системами определяется как binary, кажется выгружает utf-8 только без BOM, сейчас точно уже не вспомню, последний раз так делал летом. Кстати по ощущениям (опять таки на глаз), fossil дольше commit делает, хотя может и вправду статусная строка движущаяся на ощущения влияет, у bzr есть, у fossil нет.
20. kuntashov 366 22.02.12 23:55 Сейчас в теме
(19) Я имел в виду отчет по конфигурации в текстовом (TXT) виде (Меню "Конфигурация" - пункт "Отчет по конфигурации", в диалоге переключатель в позиции "Текстовый документ").
21. pumbaE 630 22.02.12 23:59 Сейчас в теме
(20) kuntashov, да, да. После формирования, надо выбирать Сокранить как, выбрать любую кодировку, потом обратно utf-8 тогда будет правильный utf-8 файл сохранять.
13. Модератор раздела artbear 22.02.12 16:35 Сейчас в теме
Полезная публикация
Цитата: "Но благодоря http://infostart.ru/public/106310/ можно исправить ситуацию в плане показа изменений"
исправь,пожалуйста, ссылку на человечную (вроде [V8Reader (с расширенным анализом форм)] )
15. pumbaE 630 22.02.12 16:50 Сейчас в теме
(13) поправлю обязательно.
(14) я если честно, с трудом пишу публикации, советом, примерами могу помочь. Постараюсь написать, но не гарантирую, я эту статью 4 раза переписывал (в такие дебри уходил).
14. Модератор раздела artbear 22.02.12 16:38 Сейчас в теме
еще бы инфу о развертывании репозитариев (bzr/fossil/т.д.) для конфигураций и отдельных файлов 1С 8 почитать.
Имхо была бы еще одна очень полезная публикация :)
22. tormozit 5663 23.02.12 11:31 Сейчас в теме
8.2.16 вроде как обещает предоставить больше возможностей по детальной выгрузке метаданных. Но насколько она будет детальной пока непонятно.
23. pumbaE 630 23.02.12 11:43 Сейчас в теме
(22) tormozit, только на это и надежда (только вот как быстро это будет ...). В принципе в плане сравнения и объединения в 1С не хватает 3-х уровнего merge. Уже подумывал скрипт может написать взять cf base создать поставку - создать базу - объединить с this - создать обновление для other и потом показать окно конфигурации с обновлением. (Сейчас в комментариях приходиться прописывать объекты измененные
*ОбщиеМодули.ОбщегоНазначения
*Документ.АванасовыйОтчет
что бы видеть что же поменялось по сравнению с базовой).
24. IamAlexy 496 23.02.12 17:02 Сейчас в теме
беда всех этих "контроллеров версий" в том что слишком много накладных расходов по установке, настройке и поддержке данных систем..

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


вот и получается у вас база с наработками и версионированиеам.. а так же с поиском, общей архивацией и тд и тп..
25. pumbaE 630 23.02.12 17:47 Сейчас в теме
(24) IamAlexy, беда в лени, а не в установке. Даже возьми ту же БСП - это же надо хотя бы раз в день сохранить версию и че то написать поморщивши лоб.
Тупому 1Снику это не предназначено...

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

(пример не показательный но картинка может заинтересует).
Прикрепленные файлы:
26. bsi 23.02.12 23:44 Сейчас в теме
(25) да для 77 красиво смотрится - душа радуется. а для 82 покажи пример
29. kuntashov 366 27.02.12 08:40 Сейчас в теме
(24), (25) Согласен с мнением IamAlexy. Для меня тоже основная проблема - сложность совместного использования такой системы в команде со "среднестатистическим 1Сником". Конечно же, эффект от использования в одиночку тоже есть, но это совсем не то, что ожидаешь от систем коллективной разработки.

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

Все усугубляется еще и тем, что 1С:Предприятие 8 не очень располагает к использованию таких инструментов из-за отсутствия представить конфигурацию полностью в текстовом виде. А с бинарниками работать зачастую специфично.

Но альтернативная система контроля версий нужна однозначно. Или не альтернативная, а улучшенная существующая:

* с быстрыми коммитами в больших конфигурациях с большим числом объектов;
* быстрая на операциях сравнения объектов разных версий "здесь и сейчас" (сценарии "Покажи мне, что я изменил после предыдущего коммита" и "Покажи, что изменилось в этой версии относительно вот этой версии");
* с возможностью создавать ветки;
* с возможностью немонопольного захвата объектов
30. pumbaE 630 27.02.12 12:12 Сейчас в теме
(29) kuntashov, основной посыл данной публикации, использовать для внешних отчетов и обработок альтернативные системы контроля версий. Сегодня в типовых много приходиться добавлять внешних отчетов, обработок заполнения ТЧ, печатных форм... Хранилище для этого использовать - как из пушки по воробьям.
Работа с системами контроля версий для простейших случаев, согласитесь не сложнее работы с хранилищем "commit" и в африке "commit". Установка DVCS сегодня уже проще простого, в примере описания bzr (неудачный пример, скоро дополню инструкцией для hg и git, там же все значительно проще).

Помечтаем:
Компоновщик 1С: натравил на папку с исходниками, собрал cf. Натравил на cf - создал дерево исходников. (узкое место оказывается сборка, компиляция рабочей конфигурации. Но, если мечты понесут еще дальше: берем пакетные менеджеры - 1 документ, справочник = 1 пакет. Есть зависимости: док 1 зависит от Справочника 2, есть мета-пакет Подсистема 22)
Режим разработчика в конфигураторе: у этого объекта изменить uuid - прозрачно прошла реструктуризация базы данных.
Закончили мечтать.

* с быстрыми коммитами в больших конфигурациях с большим числом объектов;
Или должна 1С сделать или возможно только, если дерево конфигурации будет представлено в файлов варианте и редактировать будем отдельные файлы (системы контроля версий для быстрого определения изменения смотрят на время изменения файла, если каждый раз перезаписывать все дерево, тогда sha1 для каждого файла - не будет быстрого коммита.
* быстрая на операциях сравнения объектов разных версий "здесь и сейчас" (сценарии "Покажи мне, что я изменил после предыдущего коммита" и "Покажи, что изменилось в этой версии относительно вот этой версии");
Если предыдущий пункт выполниться, тогда это возможно и это было бы прекрасно.
* с возможностью создавать ветки;
* с возможностью немонопольного захвата объектов
Ветки и непомопольный захват объектов: путь к 3-х уровневому сравнению... (и это печально, потому как вероятность, что 1С это сделает крайне низка, хотя может какой либо американский (канадский) блогер-прогер, блогер-аналитик заплюет 1С за это и они сделают...).

Хотелось бы посоветовать, тем кто в принципе ничем не пользуется: Используйте хоть, что-то.
31. kuntashov 366 27.02.12 13:38 Сейчас в теме
(30) Если что, оговорюсь, что я посыл стати прекрасно понял и сообщение написал в порядке дискуссии.
Названные технические проблемы моих "пожеланий" тоже прекрасно понимаю.
Пока же остается ждать 8.2.16 и эксперементировать с существующими возможностями.
47. comol 4160 21.11.12 14:30 Сейчас в теме
(30) Вообщем альтернативное хранилище конфигураций нужно :(.... Похоже ты единственный кто более-менее приблизился к решению проблемы... собственно нужно по сути научиться извлекать файлы конфигурации и отправлять их в систему контроля версий... Герман уже вроде этой затеей развлекался, но до коллективной разработки в iE у него ещё далеко, и особо пока в другом направлении работает... может спросить и поделится подходом, тогда можно будет попробовать скрипт для снегопата написать...
27. iceflash 4 24.02.12 08:56 Сейчас в теме
Да, версионирование кода 1С, это просто такой... недостаток, стандартное хранилище тоже не устраивает, решил в очередной раз попробовать ваш вариант, попробую на git=)
32. pumbaE 630 27.02.12 14:01 Сейчас в теме
Между делом: Какое же хранилище тяжелое... в плане помещения объектов и извлечения. Bzr делает commit .cf макс за 20 секунд, fossil при той же модели до минуты. Выгрузка практически сразу. По размерам хранилища fossil сжимает, bzr хранит полностью файл, соответственно в размере хранилища bzr проигрывает хранилищу конфигурации процентов на 30% (больше у bzr). Fossil выигрывает размер хранилища самый маленький.

Как вариант может делать на основании v8Reader отчет и дерево файлов (cf так и так будет ложиться), но при этом можно будет видеть сразу изменения и для
* быстрая на операциях сравнения объектов разных версий "здесь и сейчас" (сценарии "Покажи мне, что я изменил после предыдущего коммита" и "Покажи, что изменилось в этой версии относительно вот этой версии");
, единственная большая проблема это 3-х уровневое сравнение (при слиянии веток).
34. рибак 01.03.12 08:52 Сейчас в теме
Я тоже пользую mercurial, но публикация нормаль
35. YakshinAnd 01.03.12 10:08 Сейчас в теме
Очень сложно. Те кто незнакомы со сторонними программами, те может и будут использовать. Те кто работал в svn и mercurial тот этим способом не будет пользоваться.
36. kabanoff 41 13.03.12 10:33 Сейчас в теме
Отличная вещь, спасибо!

При сравнении отчетов выдает ошибку, т.к. неправильно настроено соответствие видов файлов.

Правильно будет сделать так:
СоответствиеВидовФайлов = Новый Соответствие;
СоответствиеВидовФайлов.Вставить("cf", 0);
СоответствиеВидовФайлов.Вставить("cfu", 2);
СоответствиеВидовФайлов.Вставить("epf", 1);
СоответствиеВидовФайлов.Вставить("erf", 3);
СоответствиеВидовФайлов.Вставить("mxl", 100);
bambr1975; +1 Ответить
37. pumbaE 630 13.03.12 14:59 Сейчас в теме
(36) kabanoff, спасибо. По иронии судьбы ради версионного контроля внешних отчетов я начал разбираться с системами DVCS и как их к 1С прикрутить...
Ошибку исправил: Ссылка на последние изменения
38. Zas1402 13.03.12 15:58 Сейчас в теме
Правильно ли я понял, что сами файлы уходят в систему контроля версий как бинарники, просто добавлена возможность просмотреть разницу "по-человечьи"?

Правильно
39. iceflash 4 15.03.12 20:44 Сейчас в теме
Может кто подсказать с настройкой под git, что то совсем не выходит=(
40. pumbaE 630 15.03.12 23:30 Сейчас в теме
(39) iceflash, советую использовать TortoiseGit. При использовании Tortoise(SVN, GIT, HG) настройка для сравнения делается аналогично как и для TortoiseSVN.

Вот пример: Видео настройка git
Kinestetik; iceflash; +2 Ответить
41. iceflash 4 16.03.12 11:37 Сейчас в теме
(40) Благодарю=) попробую, просто со стандартным Git + Git extension настраивать замучался, вот с черепахой попробую, даже не знал что есть она для гита=)
42. iceflash 4 16.03.12 12:14 Сейчас в теме
(40) "Вообще Огонь!" Огромное спасибо!
43. pumbaE 630 16.03.12 12:21 Сейчас в теме
(42) iceflash, заслуга больше V8Reader (с расширенным анализом форм) , только благодаря этой разработке можно было, что либо сделать.
44. iceflash 4 16.03.12 12:34 Сейчас в теме
(43) Это да, согласен, но в любом случае спасибо за наводку и помощь=)
45. iceflash 4 05.06.12 10:00 Сейчас в теме
Кстати по вопросу с кириллицой, это проблема TortoiseGIT или самого GIT? до сих пор не могу понять, как так существуют такие проблемы, используйте UTF и все должно быть хорошо.
Так вот по самому вопросу, планируется ли исправление, pumbaE, не в курсе?
46. pumbaE 630 05.06.12 13:13 Сейчас в теме
(45) iceflash, это проблема именно git и mercurial, имена файлов или латиницей или же в UTF, но именно в XP кодировка консоли cp1251 (а файловая система в unicode) - в результате, получаются проблемы с кодировками: для git есть сборки UTF-8 http://code.google.com/p/utf8-git-on-windows/ (у японцев тоже проблемы с наименованиями файлов). Как вариант ставить git c поддержкой c cygwin, но тогда лишаемся красивой оболочки в виде tortoise. В дополнение можно поставить http://code.google.com/p/gitextensions/ (но у меня все равно не получилось завести).

И да проблема будет с кодировками только если будут использоваться и XP и (Win 7 или linux (тот же github или сервер на linux)).

Я пока остановился на svn, bzr и fossil.
Так вот по самому вопросу, планируется ли исправление, pumbaE, не в курсе?
Не будет, как считают разработчики: это не ошибка, а фича :).
Если нет файлов с русскими наименованиями или же нет необходимости синхронизации с другими компьютерами то можно смело использовать git.
48. Voyager 14.08.13 12:06 Сейчас в теме
Огромный плюсище!
Просьба для автора: дополнить скрипт diff-1c-cf.js чисткой файлов после себя, а также обратить внимание на то что файлы в папке Temp могут быть с атрибутом "только для чтения" и тогда при вызове метода CopyFile возникает ошибка
49. Chrizt 235 13.11.13 11:24 Сейчас в теме
Окей, отчёт по изменениям у нас есть и вполне удобоваримый. А как быть, если необходимо вернуться к какой-то версии?
50. pumbaE 630 13.11.13 11:49 Сейчас в теме
(49) Chrizt, ни что не мешает сделать "сохранить версию файла"
Прикрепленные файлы:
51. Chrizt 235 13.11.13 14:16 Сейчас в теме
52. pumbaE 630 13.11.13 14:21 Сейчас в теме
(51) Chrizt, не понял. Расшифруйте плиз.
53. Chrizt 235 13.11.13 14:30 Сейчас в теме
(52) патч накатить нельзя, ибо это не код. Всегда оперируем только цельным файлом обработки :(
54. pumbaE 630 13.11.13 14:52 Сейчас в теме
(53) Chrizt, да, патчи не наложишь. Но и патчи можно в реальности наложить только на текст, не на формы, не на макеты. Для конфигураций уже можно пробовать, а для внешних обработок пока к сожалению нет. Появиться в 8.3 возможность выгружать внешние обработки и обратно загружать, тогда будет возможность патчи накладывать.
55. Chrizt 235 13.11.13 14:58 Сейчас в теме
(54)
Появиться в 8.3 возможность выгружать внешние обработки и обратно загружать

А можете подробнее, что имеется в виду под этой фразой?
Вроде и так же выгружаются и загружаются обработки.
56. pumbaE 630 13.11.13 15:20 Сейчас в теме
(55) Chrizt, 8.3 позволяет выгружать полностью конфигурацию, но отдельно внешний файл (обработка, отчет) невозможно. Получается полноценно использовать git для конфигураций можно, а для внешних обработок пока только в бинарном виде и хранить.
57. Chrizt 235 18.11.13 10:56 Сейчас в теме
(56) а, в этом плане... Да уж, 1С в этом плане — довольно убогая прикладная фигня.
Давно бы уже всё стало проще, если бы исходники модулей и схемы UI были бы текстовыми файлами, хотя бы даже упакованными в зипчик какой-нибудь подписанный или типа того.
Все нормальные ЯП - это сорцы в чистом виде, а с 1С нужно быть магом, чтобы считать его хоть сколько-нибудь ЯП.
Хотя, Википедия говорит, что есть альтернативы :)
58. djolejek 20.03.14 21:43 Сейчас в теме


Вылетает вот такая ошибка при попытки сравнения в bazaar. кто-нибудь знает как это можно полечить?
Оставьте свое сообщение

См. также

Вам нравятся запросы в 1С? 14

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

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    12520    1    m-rv    79       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

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

6500 рублей

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

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

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

1 стартмани

30.06.2019    5342    1    vadim1980    3       

Безопасная работа с транзакциями во встроенном языке 192

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    19429    8    tormozit    44       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

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

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

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

2 стартмани

23.01.2019    13446    169    ROL32    28       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 186

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

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

5 стартмани

09.01.2019    27742    231    informa1555    198       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

Данный онлайн-курс предусматривает изучение базовых принципов создания приложений для операционной системы Android, работающих на мобильной платформе “1С:Предприятие”. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие” при разработке прикладных решений для “обычных” компьютеров, но пока ещё не занимался разработкой 1С-приложений, предназначенных для работы на мобильных устройствах.

7500 рублей

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

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

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

3 стартмани

28.10.2018    19698    207    ROL32    60       

Работа с публикациями "Инфостарт" 15

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    11653    12    RocKeR_13    16       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

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

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

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

5 стартмани

09.08.2018    18386    23    informa1555    26       

Работа с данными выбора 44

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

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

1 стартмани

17.07.2018    26530    15    kalyaka    15       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") 105

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

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    21791    86    m-rv    57       

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному 244

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования БСП (Библиотека стандартных подсистем)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    31524    30    dsdred    36       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Как выполнить отчет на СКД через COM и получить данные отчета? 86

Статья Программист Архив с данными v8 УПП1 Россия Windows Абонемент ($m) Практика программирования

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    19922    10    wowik    3       

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

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

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

1 стартмани

24.04.2018    31786    76    kalyaka    34       

Готовые переносы данных из различных конфигураций 1C Промо

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

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

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

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

10 стартмани

15.03.2018    12404    28    33lab    0       

Заполняем по шаблону (по умолчанию) 70

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

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

1 стартмани

08.02.2018    19597    20    mvxyz    17       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов 125

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    27469    63    rpgshnik    48       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 9

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    26169    25    agent00mouse    0       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП 26

Инструменты и обработки Программист Расширение (cfe) v8 БП3.0 Абонемент ($m) Практика программирования Универсальные печатные формы

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    20289    52    kwazi    6       

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

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

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

1 стартмани

18.11.2017    22310    27    bonv    6       

22 января состоится вебинар "Использование технологии блокчейн в 1С" Промо

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

990 рублей

Github и 1С. Пошаговая инструкция на конкретном примере 227

Статья Программист Архив с данными v8 Абонемент ($m) Математика и алгоритмы

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

1 стартмани

26.10.2017    37502    5    BlizD    51       

Расширения конфигураций 1С: учимся перехватывать методы 115

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

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

1 стартмани

30.05.2017    93275    14    signum2009    45       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 179

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

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

26.05.2017    41392    168    DarkAn    86       

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

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

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

1 стартмани

22.05.2017    26368    99    Silenser    33       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500/9500 рублей

Простой способ индексирования интервалов 185

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

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

1 стартмани

28.09.2016    33811    39    ildarovich    22       

Конструктор-тестер http запросов в 1С 216

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

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    35849    302    hlopik    16