Как не сгореть на обновлениях

Публикация № 1736541 03.10.22

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

Одна из самых частых задач разработчика 1С – обновления доработанных конфигураций. Артем Кузнецов на конференции Infostart Event 2021 Post-Apocalypse рассмотрел подходы к разработке и инструменты, позволяющие уменьшить затраты на обновления и повысить качество результата.

 

 

Обновление – это, наверное, одна из самых частых задач, которая стоит практически перед каждым из тех, кто связан с разработкой на 1С.

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

После выполнения этой абсолютно рутинной и скучной работы (выполняется она обычно руками), раздаются звонки, приходят письма: «После вашего обновления, у нас, у нас есть проблемы» – «Я не хочу есть проблемы!»

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

 

Обновление неизбежно

 

Я вставил на слайд одно из самых частых возражений наших клиентов: «У нас уникальные бизнес-процессы, сделайте нам все, как мы хотим, обновляться мы не будем никогда – нам это не нужно».

1С-ники делятся на три категории:

  • на тех, кто обновляет;

  • на тех, кто будет обновлять;

  • и тающая категория «счастливчиков», от которых не требуют обновлений.

Эта третья категория с каждым годом становится все малочисленнее, потому что рано или поздно «счастливчики» перестают быть таковыми. Например, до недавних пор самым кастомизируемым и необновляемым решением была Управление торговлей. Но появились кассы, появились маркировки, появились ЭДО. И внезапно выяснилось, что решение от вендора обходится клиенту существенно дешевле, чем содержание штата своих программистов, которые всю эту красоту внедрят в систему.

 

Что затронем в докладе

 

 

Какие темы затронем?

  • Как дорабатывать, чтобы испытывать меньше боли.

  • Как обновлять.

  • Какие инструменты использовать.

  • Как проверять результаты.

  • Немного коснемся того, о чем зачастую забывают.

Не будем затрагивать темы про:

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

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

  • Распределенные информационные базы – зло абсолютное!

  • Обычные формы – пора выкидывать!

 

Подходы к внесению доработок

 

Краткая памятка по доработке конфигураций:

  • Не «ломаем» – избегаем изменения типовых механизмов.

  • Все доработки максимально отражаем через код.

  • По возможности, минимально затрагиваем объекты поставщика.

  • Формы дорабатываем кодом.

  • Весь внесенный наш код или измененный код вендора обрамляем комментариями.

По ссылке https://github.com/arkuznetsov/some1cdocs/blob/master/docs/changing-1c-conf.md я собрал свой концентрированный опыт за многолетнюю работу с 1С, там описаны те приемы и подходы к доработкам, которые позволяют уменьшить в дальнейшем боль от обновлений.

 

Ранее мы использовали классический «хардкорный» способ обновления – с тремя конфигураторами.

  • В первом конфигураторе мы сравниваем нашу доработанную конфигурацию со старой конфигурацией поставщика.

  • Во втором – выявляем типовые изменения старой и новой конфигурации поставщика.

  • И в третьем – выполняем обновление вручную штатными средствами. Автообновлению я лично не доверяю, еще с тех старых пор, когда оно давало не очень вменяемые результаты.

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

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

По ссылке https://github.com/arkuznetsov/some1cdocs/blob/master/docs/deploing-1c-conf.md приведена небольшая памятка про «дедовский» способ обновления с тремя конфигураторами.

 

Как организовать контур разработки и процесс внесения изменений с использованием Git

 

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

  • Потому что так быстрее. И автоматически. Почти.

  • Git нам позволяет хранить всю историю изменений – как наши доработки, так и историю выполняемых обновлений.

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

 

Самый простой подход к обновлению с использованием Git выглядит следующим образом.

  • Мы берем старую конфигурацию поставщика, выгружаем ее путем выгрузки файлов в Git и сохраняем (коммитим) в ветку master.

  • И из этого же коммита создаем новую ветку – называем ее base1C (потому что чаще всего поставщик типовой конфигурации – фирма 1С)

  • Следующим шагом мы выгружаем в ветку base1C новую конфигурацию поставщика поверх старой, тоже сохраняем.

  • Точно так же мы выгружаем нашу доработанную конфигурацию и сохраняем ее в ветку master.

  • И далее командой git merge выполняем слияние нашей доработанной конфигурации с новой конфигурацией поставщика.

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

  • И в конце загружаем получившийся результат через загрузку файлов обратно в конфигуратор – получаем наш обновленный cf-ник.

 

Если вы уже используете Git в своей повседневной работе, но еще не имеете в этом репозитарии ветку поставщика, ситуация усложняется.

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

  • Самый простой вариант – это начать с «чистого листа».

  • Еще есть вариант – собрать ветку поставщика из двух репозитариев. Отдельно выгрузить в репозитарий конфигурации поставщика все те версии, которые мы ранее дорабатывали. И слить эти два репозитария в один.

  • Также у Git есть достаточно глубокие возможности под названием rebase и filter-branch. Я много раз пробовал их использовать, но почему-то ни разу положительного результата получить не удавалось, видимо моих познаний в GIT пока недостаточно, и я каждый раз все ломал. Но я верю, что это возможно, и буду изучать тему дальше.

  • И еще один достаточно «топорный» вариант – это на основании ветки master с текущим состоянием нашей конфигурации создать ветку base1C, почистить ее, туда залить старую конфигурацию поставщика, от нее сделать ветку update для обновления, и уже с этим работать.

Наша задача – получить ситуацию, когда у нас есть общий предок для трехстороннего сравнения-объединения.

И далее идем по тому процессу, который был описан ранее (на предыдущем слайде):

  • в ветке update выполняем слияние текущего состояния master с выгрузкой новой конфигурации поставщика из base1C;

  • решаем конфликты;

  • загружаем конфигурацию в базу и проверяем, что там все в порядке;

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

  • и заливаем в ветку master наш результат обновления в качестве нашей новой, обновленной версии.

 

 

Идеальный вариант – когда у нас уже есть красивый репозитарий с веткой master и отдельной веткой поставщика base1C.

Тогда все достаточно просто.

  • мы просто подливаем регулярно из ветки master в нашу ветку update для выполнения обновлений те изменения, которые выполняем в процессе разработки;

  • в момент выхода новой версии поставщика кладем ее файлы в ветку поставщика base1C;

  • выполняем слияние base1C и update;

  • и дальше по той же схеме – решаем конфликты, заливаем в базу, проверяем, что все залилось;

  • и загружаем файлы из ветки update в наш master.

 

Какие у нас есть ключевые точки?

  • Получение конфигурации поставщика.

  • Подготовка – выгрузка в файлы нашей конфигурации.

  • Выполнение слияния и разрешение конфликтов.

  • Загрузка результирующей конфигурации.

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

 

Инструменты, повышающие скорость и качество обновлений

 

 

Где взять конфигурацию поставщика?

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

  • Новую конфигурацию поставщика мы качаем с сайта releases.1c.ru.

  • Но процесс скачивания файла с сайта релизов хочется как-то автоматизировать. Для этого существует уже достаточно большое количество средств загрузки конфигураций с сайта – они написаны на абсолютно разных языках. Многие из них находятся на GitHub.

  • Как обычно, для искоренения этого «фатального недостатка» мы напилили свое средство и назвали его Yet another release downloader (YARD).

 

Разумеется, мы реализовали его на OneScript и выложили на GitHub в репозитарий https://github.com/ArKuznetsov/yard.

YARD выполняет:

  • Загрузку релизов – это многие умеют

  • Далее идет функция, которую мне не удалось найти в других инструментах – это распаковка архивов конфигурации. У 1С есть две проблемы. Во-первых, файл setup в silent-режиме не запускается, и во-вторых, дистрибутив обновления использует свой собственный формат архива – файл efd. По сути, это просто zip без заголовка. В одной из публикаций на Инфостарте добрый человек с этим разобрался, а я всего лишь адаптировал его разработки под OneScript и немного причесал.

  • Следующий момент – к сожалению, до сих пор часть конфигураций на сайте релизов 1С выкладываются не в полном виде, а в виде только файлов обновлений – CFU. А для Бухгалтерии хотя и выложен cf-файл в полном виде, но он сейчас требует номера телефона. Т.е. скачивание таких файлов плохо автоматизируется. Инструмент YARD решает и эту задачу – мы скачиваем нужную нам последовательность релизов, натравливаем YARD, и он нам последовательно собирает все полные cf-файлы и раскладывает по тем же папкам.

  • И еще одна функция – это выгрузка скачанных конфигураций в репозитарий GIT. YARD может точно так же по всем этим папкам пройтись и создать нам, по сути, отдельный репозитарий с конфигурацией поставщика, который мы потом можем использовать для целей обновления. Он все файлики последовательно выложит и пометит их датами выхода релизов.

 

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

 

 

Для решения этого вопроса сделали еще один инструмент – назвали его Rector.

Из репозитария https://github.com/silverbulleters/rector вы также можете скачать его исходники.

Одной из функций Rector является последовательная выгрузка хранилища конфигурации в файлы.

Все знают, что для этой цели уже есть инструмент Gitsync. Но Rector, в отличие от Gitsync, умеет еще и последовательно вытащить конфигурацию поставщика и положить ее в отдельную ветку.

Одна проблема – Rector был не совсем удачным экспериментом, т.к. работает он не быстро.

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

Долго, но работает. Если у вас маленький репозитарий и вам интересно, можете поэкспериментировать.

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

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

 

Как подготовить обновление с использованием Rector:

  • На входе библиотека принимает cf-файлы. Ей можно подать на вход две или три конфигурации – если подать две, она из первой конфигурации сама достанет старую конфигурацию поставщика (если, конечно, она там есть). Также можно подать на вход хранилище или готовые распакованные репозитарии.

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

 

 

Соответственно, к этому результату мы применяем инструмент для разрешения конфликтов объединения. Таких инструментов достаточно много (kdiff3, p4merge и пр.). Я в практике привык использовать kdiff3. Он нам показывает общего предка, показывает изменение каждого из потомков относительно него, т.е. изменения нашей доработанной конфигурации и новой конфигурации поставщика.

Часть задач по решению конфликтов этот инструмент берет на себя – он автоматически распознает, с какой стороны взять правильный код.

Часть задач он предлагает нам решить самостоятельно.

И результат записывает в наш файлик.

 

Проблемы слияния

 

Но не все так радужно. При слиянии могут возникнуть некоторые проблемы:

  • На первом месте стоит забавная проблема – иногда инструменты объединения считают себя довольно умными и принимают решение об объединении там, где его принимать не нужно. Чаще всего это случается в том случае, если поставщик сильно изменил структуру модуля – переставил местами процедуры и функции. В 90% случаев это очень просто ловится на этапе проверки модулей, потому что код попадает между функциями – модуль считается некорректным, 1С нам об этом скажет.

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

  • XML-файлы. Инструменты сравнения-объединения работают со всем, как с текстом. Они не различают тегов. И здесь может оказаться, что это серьезная проблема. Но на самом деле я считаю, что это – возможность. Это позволяет в процессе выполнения обновлений качественно изучить структуру этих XML-файлов для лучшего понимания того, как это все хранится в 1С.

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

  • Есть проблема со сменой авторства кода – в большинстве случаев это, опять же, связано с изменением структуры модуля, который сделал поставщик. Мы доработали процедуру «При открытии», которая раньше была вверху. В следующем релизе она уехала куда-то далеко вниз. Мы честно это заметили при слиянии, честно перенесли наши доработки в эту процедуру. Но с этого момента авторами этой процедуры будем считаться мы, а не тот, кто ранее вносил эти изменения.

  • И, к сожалению, все еще существуют небольшие проблемы с выгрузкой/загрузкой – при повторной выгрузке конфигурации появляются некоторые артефакты. Конфигурация, выгруженная в файлы и потом загруженная обратно, иногда изменяется. Это проявляется в мелочах и не влияет ни на какую функциональность – чаще всего это какие-нибудь файлы справки. Но это вносит некий дополнительный шум и добавляет чуть-чуть работы.

 

Контроль результатов обновления

 

Как нам проверить те результаты, которые мы получили?

  • Первым этапом проверки выступает момент загрузки конфигурации из файлов. После чего мы иногда получаем картинку со многими красными восклицательными знаками. Есть хорошая новость – в платформе 8.3.17 оказалось, что если по этим строчкам кликнуть, то во многих случаях откроется конкретный файлик с указанием проблемного места. Раньше такого не было. Это приятно, это значит, что платформа развивается. Надеюсь, что дальше будет еще лучше, еще проще искать такие проблемы.

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

  • Еще – очень хорошо результат загрузки помогают проверить дымовые тесты. С тестами так всегда – чем больше тестов, тем лучше. Здесь показана картинка из многим знакомого Jenkins как раз по результатам выполнения обновлений.

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

 

Про что мы обычно забываем в этом процессе?

  • Дополнительные отчеты и обработки, которые лежат в соответствующем справочнике. Мы вроде все обновили, накатили, но потом нам прилетает, что ничего не работает. Здесь рекомендация – храните их и дорабатывайте в Git. Это позволяет, как минимум, о них помнить.

  • Опять же, в Git имеет смысл хранить тесты.

  • Также забываем о правилах обмена. Рекомендация та же – храните в Git. Здесь вам может помочь разработка GitRules от Олега Тымко. Она позволяет огромный XML-файл правил «Конвертации данных 2» разложить по папкам на отдельные куски кода и комфортно смотреть, что там изменилось, удобно дорабатывать и пр.

  • Я уже говорил, что про расширения мы говорить не будем. Тем не менее, их, как минимум, нужно проверить на применимость. Хорошо, что платформа предоставляет нам инструменты для этого, а также мы можем использовать тесты.

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

 

Бонусы и итоги

 

 

Бонусом за использование Git мы получаем быстрое произвольное сравнение версий – это решает ту боль, которая у нас есть в хранилище, где практически нереально дождаться сравнения и найти, кто менял конкретный объект. Здесь сравнение производится просто в редакторе. Выделяем две любые версии из двух любых веток, получаем все различия, которые у нас имеются.

Также мы быстро видим авторов кода. Это нам помогает, например, при использовании статического анализа с помощью SonarQube, т.к. мы можем отфильтровать ошибки в коде по автору 1c@1c.ru и увидеть только те ошибки, которые касаются нашего кода.

 

В итоге – что мы получили?

  • Мы умеем быстро готовить обновления – как минимум, так обновлять интереснее.

  • Мы знаем, как проверить результаты обновления.

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

Лишний раз напомню, что ссылки на все упомянутые инструменты добавлены не просто так, а чтобы ими пользовались, присылали свои идеи и замечания, ну и, разумеется, pull request’ы.

 

*************

Данная статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

Также Артем провел мастер-класс: Обновляем доработанную конфигурацию "без боли".

Больше статей можно прочитать здесь.

 


 

*************

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. rabid_otter 134 04.10.22 15:44 Сейчас в теме
круто! сделали то, что давно бы пора сделать фирме 1С :)
2. zqzq 23 05.10.22 09:30 Сейчас в теме
Для простых случаев достаточно прописать kdiff в настройках конфигуратора и штатно обновить (с одним конфигуратором и без git и прочего). И потом сравнить kdiff-ом текстовые файлики подробного сравнения поставщик-основная до и после обновления.
Рамзес; +1 Ответить
3. 300_po_vstrechke 1183 05.10.22 12:25 Сейчас в теме
Хм... Двойственные конечно чувства, но плюс жирный поставил. Стоят ли затраченные усилия на реализацию схемы с GITом того? Сам для себя решил, что жизнь нужно упрощать и лучше отказаться от "лишнего" инструмента, при этом затратив лишние пол часа на довольно редкое сравнение с конфигураций поставщика для поиска коллизии.
П.С. Мысли в слух. Как то была мучительная попытка реализовать локальный гитхаб, т.к. затянуть, что-либо в облако с рабочего места нельзя - регламент.
П.С.2 Тем кто не работал с гитхабом настоятельно рекомендую поработать - это хороший опыт.
П.С.3 Если вместо вечерниго сёрфа по ютубчику или сериальчика, Вы начали сёрфить гитхаб - поздравляю, это уже не излечимо)
ktb; draivers; +2 Ответить
4. ktb 451 05.10.22 12:33 Сейчас в теме
(3) "Лучше день потерять, потом за 5 минут долететь" © :-)

ну и конечно + бесценный опыт.
5. Dach 357 05.10.22 21:12 Сейчас в теме
(0) зачем это все, если у ИжТиСи давным давно есть "1C: Автоматизированное обновление измененных конфигураций" ?
Мало того, можно вообще им этот процесс отдать на полный аутсорс
6. ktb 451 06.10.22 08:50 Сейчас в теме
(5) Вы пробовали? Я да.
А так:
1. Пусть цветут 1000 цветов.
2. Все тлен, расходимся, все уже сделано до нас. :-(
Рамзес; lekot; +2 1 Ответить
7. Riu 06.10.22 14:03 Сейчас в теме
Каким образом repositOry превратился в репозитАрий?
Автор наверное путает с депозитарием. Или инструментарием каким-нибудь.
8. ktb 451 06.10.22 14:30 Сейчас в теме
9. Riu 06.10.22 16:32 Сейчас в теме
(8) А кто написал эту статью в wiktionary? Он что, какой-то филолог? У него есть право на своё мнение? Почему я должен ему верить?
А так, на английском в написании - о, в произношении - о. Откуда же возникла а? Очевидно, это просто отсебятина каких-то излишне творческих личностей.
10. ktb 451 06.10.22 16:33 Сейчас в теме
(9) Ваше право, мне лень глубже рыться.
Оставьте свое сообщение

См. также

Специфика апгрейда с 1С: Проф на 1С: Корп

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

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

26.02.2023    667    Koder_Line    6    

-4

Анализ изменений в расширении при обновлении основной конфигурации

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

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

30.12.2022    2805    xnd    39    

63

Автоматическое обновление конфигурации и данных на подчиненных узлах в рамках РИБ

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

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

09.06.2022    1270    vit59    16    

6

Вариант текста bat файла для обновления конфигурации

Обновление 1С Бесплатно (free)

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

31.05.2022    1663    TokarevV    4    

9

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

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

Ошибка SDBL: Ошибка обновления конфигурации базы данных. Для одного ссылочного кода существует более одной таблицы в базе данных

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

Ошибка SDBL: Ошибка обновления конфигурации базы данных. Для одного ссылочного кода существует более одной таблицы в базе данных. Имена таблиц с кодом 7289: DynListSettings, ErrorProcessingSettings Имена таблиц с кодом 7291: Bots, ExtensionsInfo Для исправления проблемы вы можете обратиться в службу технической поддержки.

26.05.2022    1420    tmaraliev    9    

5

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

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

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

30.03.2022    4286    Dimbayyyy    7    

57

Обновление платформы 1С тонкого клиента с вебсервера без публикации базы данных, когда сервер 1С ПРОФ.

Администрирование веб-серверов Администрирование СУБД Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обновление платформы 1С: тонкого клиента с вебсервера описывается здесь: https://its.1c.ru/db/v8316doc#bookmark:adm:TI000001058, (11.2.2. Обновление через диалог публикации на веб-сервере) и здесь: https://its.1c.ru/db/v8319doc#bookmark:adm:TI000000428, (6.2. Получение дистрибутива клиентского приложения) - доступно только для КОРП Для ПРОФ реализация полностью описана в данной статье. Выражаю благодарность Панюшкину Михаилу Михайловичу за разбор задачи и доведение ее до практического результата. Обновление не проходит если например предварительно установка выполнялась регламентными политиками и есть в папке conf файл adminstall.cfg Этот файл следует удалить, чтобы данная установка тонкого клиента проходила успешно Применяется только для системы «1С:Предприятие» под ОС Windows. Файл adminstall.cfg указывает на то, что установка системы программ «1С:Предприятие» выполнялась с использованием средств администрирования ОС Windows. Файл располагается в каталоге конфигурационных файлов системы «1С:Предприятие» и представляет собой текстовый документ в кодировке UTF-8. В файле может располагаться единственная строка, определяющая вариант установки: AdmInstall= Описывает режим установки: Logon - установка выполнена с помощью logon-скрипта во время входа пользователя в домен. Restart - установка выполнена с помощью групповых политик.

19.10.2021    8858    ser6702    28    

45

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

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

История одного обновления, или доработки, взывающие к механизму "расширений"

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

Цель: вынесение доработок в расширение и применение его в обновленной конфигурации 1С:ERP Управление предприятием 2 с релиза 2.4.13.123 на релиз 2.4.13.243 (4 релиза).

18.10.2021    1941    olja-ljaaa    4    

9

Как читать чужой код? Часть 2. Доработка типовой конфигурации. Обновление доработанной типовой конфигурации

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

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и главное как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    4649    biimmap    31    

39

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

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

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

14.12.2020    1692    baturo    8    

6

Управление релизами 1С

Обновление 1С ServiceDesk, HelpDesk Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

При непрерывном развитии сложных информационных систем на 1С возникает потребность управлять процессом обновления релизов их конфигураций. Необходим инструмент, предоставляющий полную информацию о вносимых в конфигурацию изменениях и полном жизненном цикле каждого из них, начиная от обращения пользователя до реализации и документирования функциональности. О принципах работы такого инструмента и полученных в ходе его внедрения преимуществах на конференции Infostart Event 2019 Inception рассказала директор департамента информационных систем «Иркутской нефтяной компании» Екатерина Шушина.

15.09.2020    7064    INK2018    0    

22

Об обновлениях

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

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

12.02.2020    3098    ipoloskov    27    

7

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Обновление релиза измененной типовой конфигурации

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

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

29.11.2019    20933    John_d    79    

157

Уверенное обновление

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

Уверенное обновление. Анализ файла ОтчетОСравнении.txt. Bash

18.07.2019    14138    vasilev2015    36    

89

Обновление формы списка или формы подбора номенклатуры в 1С

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

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

18.04.2019    3251    pilgrim9131    3    

2

Создание поставки конфигурации

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

Пошаговая демонстрация создания поставки конфигурации, файлов обновления и настройка для обновления через FTP.

27.02.2018    24801    Vladimir_412    8    

114

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Легкий способ обновления измененной конфигурации

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

Легкий способ обновления измененной конфигурации. Сервис подготовки расширения конфигурации

25.10.2017    26022    avk72    66    

42

Обновление Бухгалтерии 3.0, в состоянии расхождения объектов по внутренним идентификаторам

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

Обратился клиент с измененной Бухгалтерией 3.0. При сравнении с базой поставщика, через Поддержка-Настройка поддержки,  дает значительный разбег конфигураций - примерно 40% измененных объектов + 20% удаленных и новых, все объекты базы "разрешены изменения" у многих "снят с поддержки".  

05.10.2017    9925    julorl    17    

4

Обновление типовой доработанной конфигурации для начинающих

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

Инструкция по обновлению типовой доработанной конфигурации для начинающих

23.12.2016    28278    docerman    22    

45

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

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

Коротко по сути: подписки на события для одинаковых источников и действия выполняются в порядке размещения подписок в конфигураторе сверху вниз. Т.е. если для документа Реализация товаров в конфигурации есть две подписки на событие ПриЗаписи, то в начале выполнится та, которая расположена выше. При этом если в типовой конфигурации есть добавленные свои подписки, то при обновлении конфигурации на новый релиз поставщика, может измениться порядок размещения объектов и добавленные подписки могут "съехать" выше типовых. Если в конфигурации есть типовая подписка на это же событие с этим же источником, то может измениться и порядок вызова типовой и добавленной подписки, что может привести к изменению логики работы.

12.10.2016    18745    de0nis    11    

17

Обновление доработанной Бухгалтерии предприятия. Как проверить и убедиться, что все сделано хорошо?

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

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

05.09.2016    29678    kraynev-navi    33    

96

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Скрипт автообновления типовых конфигураций

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

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

30.06.2016    15751    sergey279    19    

49

Грамотное обновление 1С

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

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

26.04.2016    50129    fixin    82    

199

Обновление изменённой типовой конфигурации 1С 8.2/8.3

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

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

30.12.2015    21887    get-start    17    

22

Обновление УТ11 с релиза 11.1.2 на 11.1.10 в примерах

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

Приводится практический опыт по реализации методик по упрощению поддержки доработанной конфигурации "Управление торговлей" при ее обновлении с релиза 11.1.2.31 на 11.1.10.153 благодаря возможности вынесения кода в "переопределяемые" общие модули, существующие в релизе 11.1.10. По мотивам публикаций http://infostart.ru/public/16980/ и http://infostart.ru/public/169131/.

08.12.2015    18370    Mortiferus    21    

31

Технология доработок типовой конфигурации 8.х для обновления за 30 минут

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

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

03.11.2015    17603    Trise    21    

67

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Как я пытался перевести 1С 8.2 на расширение конфигурации

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

Имея нетиповую 1С Бухгалтерия 8,2 решил перенести все доработки в 1С 8.3 в расширение конфигурации, и что из этого получилось.

27.10.2015    26485    Letos    14    

50

Как создать поставку и обновление конфигурации

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

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

08.05.2015    49684    AleksSF    27    

131

Обновление нетиповой конфигурации

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

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

28.02.2015    113756    el-le    22    

115

Куда пропала панель разделов при обновлении БП и как вернуть её обратно

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

Обновили бухгалтерию 3.0. Базы типовые, без каких-либо изменений. Но почему-то после обновления неузнаваемо изменился интерфейс. Панели разделов нет как в интерфейсе 8.2, как и в Такси. При попытке настроить эту панель я вижу пустое окно настройки. Вопрос: куда подевались все разделы?

06.02.2015    40487    Bukaska    31    

28

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Как не надо изменять конфигурацию или Как облегчить жизнь при обновлении

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

Чтобы жизнь была медом, и на обновление использовалось минимум времени... Эта статья для вас.

04.12.2014    14168    RomanBor    50    

10

Как создать собственное обновление для 1С

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

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

29.11.2014    45182    webresurs    21    

88

Вывод конфигурации из режима совместимости 8.1

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

Переход из режима совместимости "Версия 8.1" на режим совместимости "Не использовать", т.е. на "чистую" 8.2 для сильно измененной конфигурации "Управление торговлей" 10.3.

21.11.2014    14509    bird21    4    

11

Как создать файл обновления

Обновление 1С Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

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

16.11.2014    20317    shepsan    7    

67

Технология обновления типовых конфигураций с изменениями

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

Данная статья написана для программистов начального уровня, но уже имеющих представление о объектах системы и их функциональных возможностях. И так Вам поставлена задача: «Обновить типовую конфигурацию, в которую кто-то, когда-то вносил изменения».

22.05.2014    40131    Nik_1c_bitrix    15    

50