Специалист 1С
Хотите сократить затраты на сопровождение 1С? Переходите на безлимит - детально по тел. (985) 230-78-55
Решаем любые вопросы по 1С быстро и без проблем!

Использование конфигурации поставщика

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

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

 

Рис. 1

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

1) Спустя какое-то время после очередного обновления мы получаем сообщение от бухгалтерии об ошибке, которая вылазит в момент проведения регламентной операции закрытия месяца. До этого такой ошибки не было, следовательно всему виной обновление. Вполне типовая ситуация. Мы начинаем диагностировать ошибку и видим, что ноги растут из общего модуля УчетНДСФормированиеДвижений. Начинаем разбираться и понимаем, что данный модуль был значительно переработан в типовой и после объединения мы «потеряли» часть процедур/функций (или как часто происходит в типовых, они «перепрыгнули» в другой общий модуль) . В виду хитросплетения общих модулей между собой в типовых, на этапе обновления не всегда можно выявить проблему, которая проявляет себя только при работе пользователей.

Итак мы понимаем, чтобы разобраться нам нужна типовая конфигурация текущего релиза (допустим 1.1.23.1). Но где ее взять? Если есть знакомый франч и он может оперативно переслать дистрибутив — прекрасно, но предположим его нет, а исправить проблему нужно срочно. (Варез не предлагать!). Более того, может и интернета не быть, и что делать в такой ситуации?  Неоднократно был свидетелем процесса, когда человек для решения данной проблемы устанавливал новую базу из имеющегося первоначального дистрибутива, а затем последовательно ее обновлял до последнего, чтобы в чистой базе посмотреть «как оно должно быть на самом деле».  А ларчик как всегда просто открывался :)

Теперь рассмотрим различные варианты решения:

а) Первый вариант: Меню -> Конфигурация -> Сравнение конфигураций, затем выбираем конфигурацию поставщика и сравниваем ее с основной конфигурацией.

Рис. 2

Удивительно, но есть такие, кто про это не знает. Или при любых обстоятельствах используют пункт Сравнить, объединить с конфигурацией из файла (предварительно раздобыв/получив типовой .cf).

Рис. 5

б) Второй способ подходит если нам нужно не только увидеть изменения, но и сразу выполнить объединение.

Меню -> Конфигурация -> Поддержка -> Настройка поддержки и внизу нажимаем кнопку Сравнить, объединить.

 

Рис. 3

 

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

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

 

Рис. 6

 

Некоторые делают именно так, но если мы имеем дело с монстром типа УПП, к тому же сильно измененной,  то окончания процесса сравнения можно ждать ооочень долго.  Имей мы файл .cf  его можно было бы просто открыть в окне конфигурации (кстати про эту возможность знают тоже не все новички) и скопировать оттуда нужный код.

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

Рис. 8

 

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

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

 

Рис. 7

А для чего еще может понадобиться сохранение конфигурации поставщика в файл?

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

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

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

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

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

Возникает резонное желание отказаться от внесенных доработок и снова поставить конфигурацию на полную поддержку. Как это сделать?

Единственный способ поставить конфигурацию снова на полную поддержку — это загрузить (не в режиме сравнения и объединения, а именно пункт Загрузить конфигурацию из файла) типовой .cf. Вот для этого нам как раз и пригодится возможность сохранения конфигурации поставщика в файл .cf. Делаем сохранение, затем загрузку, и после обновления конфигурации базы данных, получаем типовую конфигурацию в первозданном виде, т.е. с замочком :)

Естественно перед выполнением данных действий вы должны заранее позаботиться о сохранении/переносе необходимых данных, которые «смоет» после возврата к типовой конфигурации и обязательно сделать резервную копию базы данных!

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

Предыдущие записи рубрики

Варианты работы информационных баз 1С Варианты работы информационных баз 1С:Предприятие 8

Файловый режим Архитектура: Все данные хранятся в одном файле специализированного формата 1cv8.1CD Ограничения: Размер таблиц ИБ < 4Gb Количество пользователей критично Неразделяемые табличные блокировки Регламентные задания только в пользовательском сеансе Невозможность...

встроенный язык 1с Встроенный язык 1С:Предприятие 8

Если вы уже знакомы с каким-либо языком программирования, например Basic или Pascal, вы можете заметить много общего со встроенным языком 1С:Предприятие. Тем не менее, у встроенного языка 1С есть на мой взгляд ряд преимуществ, которые я перечислю далее. 1. Поддержка...

работа со строками в 1с Работа со строками

Операции со строками Как проверить, что переменная является строкой? Сравнить тип переменной с типом «Строка» Пример: Если ТипЗнч(НашаПеременная) = Тип("Строка") Тогда Сообщить("Переменная строкового типа!"); КонецЕсли; Как узнать длину переменной строкового...