Краткое руководство по внесению изменений в конфигурацию

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

Разработка - Практика программирования

Руководство по разработке инструкция групповая хранилище расширения

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

Краткая инструкция по внесению изменений в конфигурацию

 

 

Оглавление

 

Краткая инструкция по внесению изменений в конфигурацию    0

Общие положения  1

Порядок внесения изменения в разрабатываемую конфигурацию    1

Именование добавляемых объектов конфигурации   2

Включение объектов в служебные подсистемы   2

Создание или доработка Печатных форм, обработок, отчетов  2

Включение объектов в состав типовых подсистем командного интерфейса  2

Комментирование изменений в коде   3

Изменение ролей   3

Внесение изменений в общие модули   3

Внесение изменений в обработчики событий форм   3

Внесение изменений в обработчики событий объектов и менеджеров  4

Внесение изменений в состав источников типовых подписок на события  4

Постоянные значения конфигурации   4

Работа с хранилищем конфигурации   4

Рекомендации по базе разработки   5

Общие положения

При разработке руководствоваться рекомендациями с сайта ИТС 1С

Общие требования к написанию кода:

  1. При любом наборе входных данных программа не должна зацикливаться.
  2. При любом наборе входных данных программа не должна выдавать синтаксические ошибки.
  3. Доработка должна иметь какой-то «выход» - если она не нашла данные для обработки, то должна выдать соответствующее сообщение.
  4. В панель сообщений должны выводиться только «значащие» сообщения – то есть следующая информация:
    1. Сообщение о завершении обработки (в случае, если создается обработка, которая каким-то образом изменяет данные)
    2. Сообщения, которые требуют реакции пользователя.
    3. Информационные сообщения о невозможность обработать какие-то данные (например, не заполнен нужный реквизит в справочнике).
  5. Обработки, которые выполняются более 1 минуты ( обрабатывают большой массив данных ) должны выводить окно состояния выполнения, а процедура обработки должна быть выполнена с помощью фонового задания.
  6. Во всех доработках при использовании «связанных» справочников должна происходить их корректная обработка. Например, если на форме или в табличной части используются справочники «контрагент» и «договор контрагента», то при выборе другого контрагента (очистке реквизита «контрагент») должен быть очищен и договор контрагента. При выборе договора контрагента должен быть установлен отбор по его владельцу.
  7. Надо помнить, что если пользователю разрешено какое-то действие в системе, то программа должна уметь корректно это действие отработать. Например, если в документе разрешено вводить отрицательные значения в табличную часть, то эти значение должны быть записаны в регистры.
  8. Любые изменения конфигурации должны быть максимально реализованы с помощью Расширений конфигураций :
  1. В расширении нельзя использовать объекты, не поддерживаемые версией платформы, которая установлена в режиме совместимости Конфигурации.
  2. При расширении общих модулей и модулей объектов приоритетно использовать вариант расширения «После»
  3. Разные расширения должны иметь разные префиксы, чтобы избежать конфликтов совместимости расширений

Порядок внесения изменения в разрабатываемую конфигурацию

При разработке руководствоваться рекомендациями с сайта:

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

Именование добавляемых объектов конфигурации

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

  • Объекты метаданных (общие модули, справочники, документы, подсистемы и т.п.)
  • Реквизиты объектов метаданных (включая: реквизиты, табличные части, измерения регистров, команды и т.п.)
    Если добавляемый реквизит принадлежит уже добавленному объекту, имеющий префикс «ВашПрефикс_» то у таких реквизитов добавлять префикс не надо.
  • Предопределенные значения (включая: значения перечислений, предопределенные значения справочников и т.п.)
  • Реквизиты форм

Если добавляется реквизит формы с колонками префикс устанавливается для самого реквизита формы, но не для его колонок.

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

Если процедура/функция добавляется в модуль объекта/формы (или общий модуль), который уже имеет префикс «ВАШПРЕФИКС_», то в имени такой процедуры/функции префикс указывать не нужно.

Наименование добавляемых объектов должно иметь осмысленный синоним

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

[Номер задачи], [Дата изменения]

Пример: Ф-037, 07.01.2020

 

Включение объектов в служебные подсистемы

В конфигурацию добавить подсистему «ВАШПРЕФИКС_Доработки». По желании с двумя подчинёнными подсистемами «НовыеОбъекты» и «ИзмененныеОбъекты», соответственно все новые объекты системы помещаются в них по правилу:

  • все созданные новые объекты метаданных помещаются в «НовыеОбъекты»
  • измененные объекты (даже если у типового объекта меняется форма) помещаются в «ИзмененныеОбъекты»

Создание или доработка Печатных форм, обработок, отчетов

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

При создании или изменении отчетов системы, которые невозможно сделать настройкой варианта отчета. Создается внешний отчет и подключается к системе.

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

Включение объектов в состав типовых подсистем командного интерфейса

Если необходимо включить объект в состав типовой подсистемы командного интерфейса, то необходимо добавить в состав типовой подсистемы новую (если отсутствует) подсистему с префиксом «ВАШПРЕФИКС_». Дальнейшая настройка размещения объекта в командном интерфейсе должна выполняться в рамках добавленной подсистемы.

Комментирование изменений в коде

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

 

// + [Компания], [Программист] [Дата изменений]

// Задача: [Номер тех.задания или заявки], [Краткое описание изменений]

// Было:

//    [закомментированный старый код]

// Стало:

[новый код]

// - [Компания], [Программист] [Дата изменений]

 

Например:

// + 1С, Иванов И.И. 07.01.2020

// Задача: Ф-037, Заполнение реквизитов формы по новому алгоритму

// Было:

//    ПриЧтенииСозданииНаСервере();

// Стало:

ВАШПРЕФИКС_ПриЧтенииСозданииНаСервере();

// - 1С, Иванов И.И. 07.01.2020

 

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

Изменение ролей

Недопустимо изменение типовых ролей базовой конфигурации, при необходимости добавления/изменения настроек прав доступа, необходимо создать дополнительную роль с префиксом «ВАШПРЕФИКС_» и выполнить необходимые настройки прав для нее.

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

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

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

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

Внесение изменений в общие модули

Если необходимо внести изменения в общие модули, то по возможности следует вносить изменения только в модули с суффиксом «*Переопределяемый».

Внесение изменений в обработчики событий форм

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

  • МодификацияКонфигурацииВызовСервераПереопределяемый
  • МодификацияКонфигурацииКлиентПереопределяемый
  • МодификацияКонфигурацииКлиентСерверПереопределяемый
  • МодификацияКонфигурацииПереопределяемый

в соответствующих процедурах-обработчиках.

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

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

Внесение изменений в обработчики событий объектов и менеджеров

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

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

 

Внесение изменений в состав источников типовых подписок на события

В общем случае не допускается внесение изменений в состав источников типовых подписок на события.

Вместо изменения типовой подписки необходимо:

  1. Создать новую подписку (можно скопировать существующую) с наименованием «ВАШПРЕФИКС_[ИмяТиповойПодписки]»
  2. Указать в качестве источника те объекты, которые необходимо добавить
  3. В качестве обработчика указать ту же процедуру, что и в типовой подписке или ссылаться на новую процедуру ( в которой будет ссылка на типовую).

Постоянные значения конфигурации

В коде конфигурации недопустимы прямые ссылки на наименования, коды и т.п. данных ИБ.

В большинстве случаев, когда требуется хранить и определять ссылку на условно-постоянные или постоянные данные, или набор данных в системе будет использоваться справочник «ВАШПРЕФИКС_НастройкиЗначений» (или Регистр сведений). Данный справочник будет состоять из элементов, с реквизитом «Имя для разработчика», по которому будет выполняться поиск элемента в коде (поиск реализовать через функцию модуля менеджера справочника). В режиме предприятия у каждого элемента можно будет задать значение или список значений (за счет наличия у элемента реквизита и ТЧ) в дальнейшем использовать значение реквизитов предопределенных элементов в коде программы.

Например: «Основной склад», «Направление деятельности по умолчанию», «Список приоритетных пользователей», «Дата перехода на новую номенклатуру» и т.п.

Работа с хранилищем конфигурации

Разработка ведется с использованием технологии хранилища конфигурации. С ней необходимо ознакомиться на сайте: http://its.1c.ru/db/metod8dev#content:2287:hdoc

При необходимости захвата коренного объекта хранилища, его необходимо удерживать как можно меньше.

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

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

Создать общий чат разработчиков для решения вопросов захвата объектов.

Рекомендации по базе разработки

Разработку приоритетно вести в клиент-серверной базе. При разворачивании базы для разработки необходимо установить Блокировки регламентных заданий и/или отключить регламентные задания.

 
 Другие публикации автора

Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.

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

Наименование Файл Версия Размер
Внесение изменений в конфигурацию:

.docx 29,85Kb
13.01.20
19
.docx 29,85Kb 19 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Indgo 13.01.20 16:13 Сейчас в теме
Ничего не понял, но очень интересно.
Лайк, первый буду
// + [Компания], [Программист] [Дата изменений]

// Задача: [Номер тех.задания или заявки], [Краткое описание изменений]

// Было:

// [закомментированный старый код]

// Стало:

[новый код]

// - [Компания], [Программист] [Дата изменений]



Например:

// + 1С, Иванов И.И. 07.01.2020

// Задача: Ф-037, Заполнение реквизитов формы по новому алгоритму

// Было:

// ПриЧтенииСозданииНаСервере();

// Стало:

ВАШПРЕФИКС_ПриЧтенииСозданииНаСервере();

// - 1С, Иванов И.И. 07.01.2020
Показать

может молодешь так будет писать, я как то по старике. Написал дату автор и досвидос, все кто не умеет писать код идите учитесь
Neuroproton; vladimir_makarov; Bell; +3 1 Ответить
2. user705522_constantin_h 24 13.01.20 16:21 Сейчас в теме
(1)А потом через полтора года смотришь и думаешь: нафига я это делал. Я не так пространно, но в общем комментирую что было и пишу: зачем изменял.
vladimir_makarov; Дмитрий74Чел; _LYNX; serega9507585993; +4 Ответить
4. qwed557 30 13.01.20 16:38 Сейчас в теме
(2) фио и номер задачи, зачем описывать что то , если можно в таск-менеджере по номеру посмотреть и всю переписку и постановку задачи, зачем захламлять описанием?
wowik; dimisa; AlexK_2012; Bassgood; +4 Ответить
6. user705522_constantin_h 24 13.01.20 16:43 Сейчас в теме
(4)У меня нет таск-менеджера, я непосредственно всё в конфигурации, обработках и ВПФ пишу.
Дмитрий74Чел; +1 Ответить
11. Indgo 13.01.20 17:37 Сейчас в теме
(2) Если код хороший, то в него не лезут
30. Дмитрий74Чел 193 16.01.20 15:32 Сейчас в теме
(11) хотелки пользователей безграничны и чудны
narutouzumaki_13; +1 Ответить
31. Indgo 16.01.20 17:09 Сейчас в теме
(30)даже не говорите:
- То им бигтейсти
- то рябчики по буржуйский
- то икра не черная,
- то соус перчит, то во рту горчит
34. V.Nikonov 119 23.01.20 15:50 Сейчас в теме
(30) Да и Окружающая Среда постоянно меняется. Вот Зиму долго ждали... Снег выпал в Новогодние праздники и растаял...

А если серьёзнее, то конфигурацию могут править множество доработчиков (некоторые уволились уже, и не расспросишь). Если не ведется журнал доработок с фиксацией ТЗ, то единственным местом смысла доработки будет комментарий. Поэтому лучше писать смысл исправления кода.
kosmo0; Yakud3a; +2 Ответить
3. sapervodichka 3458 13.01.20 16:21 Сейчас в теме
5. user774630 13.01.20 16:38 Сейчас в теме
(1) проблема не в том, чтобы понять, что делает код. Проблема в том, чтобы потом понять - ЗАЧЕМ код это делает.
dreamcreal; narutouzumaki_13; smit1c; Дмитрий74Чел; _LYNX; +5 Ответить
7. dammit666 13 13.01.20 16:48 Сейчас в теме
(1)При оформлении кода пользуюсь публикацией https://infostart.ru/public/647048/
МимохожийОднако; ABudnikov; +2 Ответить
10. sapervodichka 3458 13.01.20 17:22 Сейчас в теме
(7) норм вещь, только большая
8. awk 714 13.01.20 17:03 Сейчас в теме
Прочитал, плюсанул. Ну и критика:

Общие требования к написанию кода:
1,2 - Невыполнимо на более-менее нетривиальной задаче
5 - На каком железе и объеме данных? Как это спрогнозировать на этапе разработки?
6 - Это не всегда верно, бизнес-задачи бывают разные.
8 - А если я пишу с нуля?

Работа с хранилищем конфигурации
По моему надо переписать:

Разработка ведется с использованием СКВ, таких как хранилище 1С, git, svn и т.д.

(Ну а дальше подпунктом)
Работа с хранилищем 1С.
Показать
PLAstic; sapervodichka; +2 Ответить
9. sapervodichka 3458 13.01.20 17:09 Сейчас в теме
(8) ну как есть... до git ещё многие не дошагали, я только читаю, на практике, применять не удается, т.к. есть особенности работы в организации, когда руководители проектов тебя особо не слушают, а за инициативу можно и по шапке схлопотать
12. Indgo 13.01.20 17:48 Сейчас в теме
(9) Можно еще писать всякие приколы:
1. Парнь - если ты нашел до - этой строки - я знал что задача ипически сложная и каюсь, что писал каумнокод.
2. Если ты набрел на эту срочку и нашел тут ошибку.. то ты убер крут. Исправь баги и ты выйдешь на новый уровень матрицы.
3. Или так - медленно работает перепиши - все через запросы!
4. Или так - не нравится мой код - иди в баню!
5. Парень тебе обещали 300 тысяч за этот проект - имей в виду до тебя тут 10 прогеров кинули.
itriot11; wowik; json; Capitullo; acanta; qazaz2; +6 Ответить
13. capitan 1672 13.01.20 18:34 Сейчас в теме
Вспоминается...
Самый бесполезный лайфхак - ставить крестик на руке, чтобы не забыть! БЛИН!!! НЕ ЗАБЫТЬ ЧТО?!
Я бы еще добавил пункт - периодическая ревизия доработок.
И внесение в комментарий поля - это новый функционал или исправление ошибок
Если часто меняются главбухи - то через пол-года можно смело все зачищать и если никто не вспомнит - так и оставить
14. vkm1980 5 13.01.20 19:49 Сейчас в теме
Комментарии старого когда это зло, Если конфигурация разрабатывается с нуля то репозиторий Вам в помощь для того, чтобы понять кто что изменил/добавил. Программный код должен быть самодокументированным. Комментириев вообще должно быть минимум, и главное они должны быть только в самых не очевидных местах. Представьте что Вы раскомментируете программный код по прошествии например года, а некоторых объектов то уже и нет в конфигурации.
sashocq; Bell; +2 Ответить
15. Cерый 16 13.01.20 19:52 Сейчас в теме
Не нужно комментировать изменение, если код не типовой. Комментарий должны быть только для изменений относительно типового кода. При изменении ранее измененного куска кода необходимо изменить только дату изменения в комментарии - разделяю https://infostart.ru/public/647048/ (любое изменение кода обязательно должно быть прокомментировано), предлагаю аргументировать Вашу позицию
sapervodichka; +1 Ответить
23. sapervodichka 3458 13.01.20 22:42 Сейчас в теме
16. metmetmet 78 13.01.20 20:25 Сейчас в теме
Любые изменения конфигурации должны быть максимально реализованы с помощью Расширений конфигураций

Как много возникает различных расширений в рамках одного проекта?
Какими правилами руководствуетесь при принятии решения о доработке существующего расширения или создании нового? Легко искать доработки, если расширений много?
17. sapervodichka 3458 13.01.20 20:32 Сейчас в теме
(16) Например, Пищевое производство: Основная конфигурация ERP + Основное расширение Пищевка + Дополнительное расширение интеграция с УАТ + Доп расширение интеграция с EDI + Доп расширение Интеграция с внутренней системой.(4 расширения)
18. sapervodichka 3458 13.01.20 20:33 Сейчас в теме
(16) Легко ли искать доработки, если расширений много... если хорошо документировать, то легко.
19. metmetmet 78 13.01.20 20:46 Сейчас в теме
При доработке типового функционала
в расширении сложнее анализировать новые изменения в типовой конфигурации по сравнению с доработкой самой конфигурации, не так ли?
20. sapervodichka 3458 13.01.20 20:52 Сейчас в теме
(19) нет, не так ли. Зависит от того как документировать доработки. И в расширении мы формы объектов не меняем (даже зачастую не перетаскиваем), все выводим динамически, а фишки расширений &После и &Вместо дают классные плюшки при обновлении.
21. sapervodichka 3458 13.01.20 20:57 Сейчас в теме
(20) (направление я уловил) Я не против и просто конфигурацию менять, там можно тоже всё аккуратненько делать, сохраняя обновляемость. Можно и так и ч/з расширения. Например, в ЕРП пока нельзя делать регистры накопления в расширении и с некоторыми типами объектов, есть проблемы доработки в связи с не включенной пока совместимость с 8.3.13. Её вроде в ЕРП хотят в 2020 году в ЕРП включить. Поэтому расширения в ЕРП ещё не совсем взлетают.
26. Kindman1980 81 15.01.20 14:54 Сейчас в теме
(21) у меня кстати были проблемы с реквизитами в расширении. Была такая проблема с журналом банковские выписки в бухглтерии и с поступлением безналичных денежных средств. Реквизиты сначала были в расширении, но потом для исправления нужно было ТИИ делать при отключенном расширении, в результате пришлось дублировать реквизит в конфигурацию, делать обработку по переносу данных. Понял что в расширении я пока только визуально-интерфейсную часть оставлю и не более.
Дмитрий74Чел; +1 Ответить
22. metmetmet 78 13.01.20 21:09 Сейчас в теме
(20) Не претендую на последнюю инстанцию, но при обновлении конфигурации есть очень удобный механизм тройного сравнения, чего нет при реализации доработок с помощью расширений.
kolya_tlt; max_zhilin; mevgenym; sapervodichka; +4 Ответить
36. kolya_tlt 23 05.03.20 09:28 Сейчас в теме
(22)
танцию, но при обновлении конфигурации есть очень удобный механизм тройного сравнения, чего нет при реализации доработок с помощью расширений.

именно поэтому не используем их, так как на этапе обновления не известно сломаются ли расширения или нет.
24. comol 4328 13.01.20 23:05 Сейчас в теме
На дворе стоял 2020-й.... на инфостарте продолжали появляться статьи про правильный авторский комментарий :(((((((((((((((((((
sashocq; kolya_tlt; +2 Ответить
27. SuhoffGV 15.01.20 17:07 Сейчас в теме
(24) каждое десятилетие кэш базовых знаний обнуляется. Приходится обновлять
28. comol 4328 15.01.20 17:11 Сейчас в теме
(27) я к тому что гитом надо уметь пользоваться... Blame view. Не надо авторские комментарии писать
sashocq; sapervodichka; +2 Ответить
29. sapervodichka 3458 15.01.20 17:16 Сейчас в теме
(28) если надо, значит будем =)
37. kolya_tlt 23 05.03.20 09:29 Сейчас в теме
(24) к сожалению, это так :( до гита в массах нам еще лет 5
25. Kindman1980 81 15.01.20 14:50 Сейчас в теме
Мне кстати понравилось использовать не префикс, а постфикс, на крайняк начинать название с подчеркивания. Тогда с сортировкой попроще. С постфиксом делали в Почте России на проекте.
max_zhilin; MaxTolya; Дмитрий74Чел; +3 Ответить
32. DoubleT 6 17.01.20 09:57 Сейчас в теме
Спасибо за статью, подскажите, а какие есть методы комментирования запросов в динамическом списке?
33. sapervodichka 3458 17.01.20 10:04 Сейчас в теме
(32) Переопределяете в ПриСозданииНаСервере() текст запроса динамического списка Список.ТекстЗапроса = "...новый ваш текст запроса..." или если нужно изменить кусочек запроса Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "ИскомыйТекст", "НовыйТекст").
triviumfan; +1 Ответить
35. kolya_tlt 23 05.03.20 09:26 Сейчас в теме
по поводу изменения ролей в целом согласен, но есть одно НО. Стоит упомянуть, что нужно взвесить изменять типовую роль или создавать новую. Сделайте поиск по конфигурации по ключевому слову РольДоступна(" в ERP и удивитесь, что создав новую роль копирование вам придётся изменять типовую конфигурацию. Самый яркий пример с ролью ЗачетОплаты
38. MishaD 14 05.03.20 09:50 Сейчас в теме
За несколько лет изменений в одной обработке авторских комментариев стало в половину кода. Читаемость резко упала.
39. maxx 905 05.03.20 20:34 Сейчас в теме
А элементы БСП являются типовыми в составе той же Бухгатерии? В них можно вносить изменения? Не нужно же рядом свои такие же подписки, определяемые типы со свои префиксом лепить?
40. PLAstic 253 06.03.20 17:32 Сейчас в теме
п.8 имеет исключение. Если объект не типовой, а добавленный в процессе разработки, то вынесение его изменений в расширения добавит сумятицы. Это итак наш документ, пусть он будет "цельный", описанный одной сущностью.
41. kosmo0 97 12.03.20 11:27 Сейчас в теме
"Не нужно комментировать изменение, если код не типовой. Комментарий должны быть только для изменений относительно типового кода. При изменении ранее измененного куска кода необходимо изменить только дату изменения в комментарии."


При "изменении ранее измененного" НА СРЕДНЮЮ ПЕРСПЕКТИВУ в комментариях всегда оставляю даты прошлых изменений. Иначе возможна ситуация когда приходят через полгода-год и говорят - вот два года назад так работало, а сейчас совсем не правильно (например документ который с каким-то видом операции проводится раз в два-три года). Если не помнить об предыдущих изменениях либо изменения делались совсем другим человеком, то найти ошибку будет очень трудно - нет информации что два года назад код был иным. Конечно если покопать, то все можно найти, но время и лишние усилия потеряны. У вас есть лишнее время - замечательно. если его нет - все совсем не замечательно.

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

См. также

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

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

25.03.2019    30569    10    tormozit    44    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Практика программирования v8 1cv8.cf Бесплатно (free)

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

12.07.2020    2225    0    sapervodichka    30    

Уведомление пользователей об изменениях в объектах (расширение)

Практика программирования v8 ERP2 КА2 Абонемент ($m)

Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.

2 стартмани

06.07.2020    1822    1    sapervodichka    2    

Подсистема прав доступа к объектам с гибкими отборами (расширение)

Роли и права v8 ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

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

2 стартмани

02.07.2020    3863    24    sapervodichka    19    

Запуск 1С под любым пользователем (без необходимости указания пароля) Промо

Пароли v8 v8::Права 1cv8.cf Абонемент ($m)

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

1 стартмани

02.07.2019    17520    175    sapervodichka    0    

Памятка работ по задаче 1С

Техническое задание Управление проектом v8 1cv8.cf Абонемент ($m)

Памятка выполняемых работ по решению длительных задач по 1С.

1 стартмани

25.06.2020    7628    11    sapervodichka    0    

Применение программистом таблицы рисков для оценки технического задания

Техническое задание Бесплатно (free)

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

28.05.2020    7051    0    sapervodichka    69    

Добрый великан

Управление проектом Бесплатно (free)

Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.

25.05.2020    4527    0    sapervodichka    1    

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

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

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

1 стартмани

03.07.2019    17395    4    m-rv    86    

Настройка ограничений входа пользователей в базу (расширение)

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

Настраиваем для пользователей 1С разрешенное количество открытых сеансов к текущей базе данных 1С в привязке к компьютерам. (У пользователя не будет возможности превысить допустимое количество сеансов или зайти с чужого компьютера).

2 стартмани

19.05.2020    5141    5    sapervodichka    10    

БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов

Закрытие периода v8 v8::БУ БП3.0 БУ Абонемент ($m)

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

1 стартмани

13.05.2020    3501    8    sapervodichka    9    

Проводим по БУ "на лету"

Бухгалтерский учет v8 ERP2 КА2 БУ НУ Бесплатно (free)

В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.

01.05.2020    3654    8    sapervodichka    1    

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

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

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

1 стартмани

01.06.2018    27674    86    m-rv    57    

Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020    5364    61    sapervodichka    1    

Переход с партионного режима и производства 2.1 на режимы 2.2 в 1С:ERP Управление предприятием

Производство готовой продукции (работ, услуг) v8 ERP2 Россия УУ Бесплатно (free)

В данной статье мы расскажем о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2).

27.04.2020    3516    0    1СERP    4    

Поиск пересекающихся ссылок на комбинации объектов с ограничением области поиска по метаданным

Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.03.2020    4109    11    sapervodichka    18    

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

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

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

1 стартмани

08.02.2018    25585    19    mvxyz    17    

Права на объект (расширение, отчет)

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

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

1 стартмани

07.01.2020    15270    94    sapervodichka    21    

Проверка не попавших в табель сотрудников. ЗУП

Управление персоналом (HRM) Бухгалтерские Анализ учета v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Отчет для проверки, что все сотрудники учтены в табелях учета рабочего времени.

1 стартмани

31.12.2019    7096    12    sapervodichka    6    

На время отключаем контроль остатков и проверку документов

Администрирование СУБД v8 ERP2 УТ11 КА2 Абонемент ($m)

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

1 стартмани

24.12.2019    7184    9    sapervodichka    2    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2015    25195    66    vasvl123    9    

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Администрирование СУБД Нагрузочное тестирование Сервера v8 1cv8.cf Абонемент ($m)

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

3 стартмани

17.12.2019    9945    10    sapervodichka    3    

6 шотов

О жизни Бесплатно (free)

Небольшие пятничные истории о взаимоотношениях в коллективе

01.11.2019    9681    0    sapervodichka    28    

Должно быть NULL в регистре бухгалтерии Хозрасчетный

Тестирование и исправление Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Обработка проверяет наличие и решает проблему с ошибкой развернутого сальдо в Оборотно-сальдовой ведомости (регистр бухгалтерии Хозрасчетный) из-за ошибки Универсального редактора реквизитов или кода программиста, устанавливающего пустые ссылки в значениях Валюты, Подразделения, Направления деятельности не равными NULL. И пересчёт итогов тут точно не поможет...

2 стартмани

21.10.2019    9520    24    sapervodichka    33    

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

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

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

1 стартмани

13.09.2018    18935    12    RocKeR_13    16    

Групповое включение и отключение блокировки серверных баз 1С

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.10.2019    6775    24    sapervodichka    7    

Монитор показателей и лицензий с графиками

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

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

1 стартмани

07.10.2019    11822    131    sapervodichka    17    

Дополнение к контролю остатков

Учет ТМЦ Учет ТМЦ v8 ERP2 УТ11 КА2 БУ УУ Бесплатно (free)

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

15.08.2019    14917    8    sapervodichka    15    

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

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

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

2 стартмани

08.05.2018    25793    8    wowik    3    

Новости для пользователей

Универсальные обработки v8 1cv8.cf Бесплатно (free)

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

05.08.2019    12355    20    sapervodichka    18    

ЗУП 3.1.10 или когда пропадают элементы в отборах списком

Адаптация типовых решений Зарплата Зарплата v8 v8::СПР ЗУП3.x БУ Абонемент ($m)

ЗУП 3.1.10 значительно изменил функционал формы отчетов по сравнению с 3.1.9, 3.1.8 и т.д.. В отчетах в отборах с видом сравнения: В списке, В группе из списка - неприятно, но стали пропадать из списков не отмеченные флажком элементы. Данное расширение решает проблему, не изменяя типовой функционал.

1 стартмани

31.07.2019    7197    7    sapervodichka    4    

Структура подчиненности с хронологией документов и кнопками проведения и удаления

Обработка документов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

22.07.2019    12611    68    sapervodichka    19    

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

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

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

5 стартмани

09.08.2018    25527    25    informa1555    26    

Печать покупателя в чеке ККМ с 01.07.2019

ККМ Кассовые операции Печатные формы документов Кассовые операции v8 ERP2 БУ Абонемент ($m)

C 01.07.2019 если организация/ИП покупает у другой организации/ИП товары, работы или услуги, то в Чеке ККМ требуется указать: Покупателя (тег 1227) и ИНН (тег 1228). Если чек отправляется в ОФД без этих данных, то будет штраф . Но в 1С ERP вывод данных полей не предусмотрен. Предлагаемое расширение устраняет данную проблему.

1 стартмани

17.07.2019    22628    20    sapervodichka    14    

Свойства объектов 1С в MS SQL (и сравнение баз)

Статистика базы данных v8 v8::СКД 1cv8.cf Абонемент ($m)

Подключаемый отчет на системе компоновки данных по типам объектов 1С показывает: 1) Совокупности таблиц SQL для хранения объекта 1С и их предназначение; 2) Число объектов данного типа; 3) Размеры хранения данных и индексов в MB (мегабайтах); 4) Сравнение данных двух баз

1 стартмани

15.07.2019    12067    306    sapervodichka    11    

Создание ключей реестра документов

Обработка документов v8 ERP2 Абонемент ($m)

Отображение журналов документов в новых версиях 1C:ERP идет с использованием ключей реестра. В случае, например, переносов остатков, ключи могут не создасться автоматом, что приведет в дальнейшем к ошибкам при записи документов. Эта обработка создает ключи реестра для объектов, у которых ключей нет.

1 стартмани

30.06.2019    11122    90    sapervodichka    4    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    44824    36    Demanoidos    60    

Таблицы серверов (как просто выбрать сервер)

Сервера v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.05.2019    26285    88    sapervodichka    15    

Групповая проверка доработок

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка для массовой проверки доработок конфигурации: Открытие форм, Печать, Формирование отчетов, Проведение документов, Запись справочников, ПВХ, ПВР. Выдает список обнаруженных ошибок. Рекомендуется применять для тестирования обновленной конфигурации, перед установкой пользователям. В коде используются универсальные методы поэтому подходит для большинства конфигураций, построенных на базе библиотеки стандартных подсистем. Проверялась на Зарплата и управление персоналом КОРП 3.1.8.216, Управление торговлей 11, 1С:ERP Управление предприятием 2.4.7.141, Бухгалтерия предприятия КОРП 3.0.68.66.

2 стартмани

05.05.2019    13230    94    sapervodichka    23    

Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)

Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #1. Установка произвольных фильтров на выгружаемые объекты при помощи механизма системы компоновки данных #2. Сохранение различных вариантов настроек (сохраняются правила обмена, фильтры выгрузки, параметры, настройки обработки) - что позволяет гибко настроить в базе-источнике фильтры для выгрузки объектов по различным правилам обмена для различных баз-приемников, сохранить выполненные настройки и в будущем уже пользоваться этими вариантами настроек. Проверялась на 1С:ERP Управление предприятием 2.4.7.141.

1 стартмани

29.04.2019    12656    233    sapervodichka    20    

Как нарисовать граф на 1С Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

09.08.2013    68863    206    ildarovich    117    

Выгрузка и загрузка данных XML с гибкими отборами

Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.

1 стартмани

07.04.2019    15382    381    sapervodichka    7    

Доработка функционала отправки дополнительных реквизитов 1С: ЭДО для Татнефть

Внешние источники данных Документооборот и делопроизводство Документооборот и делопроизводство v8 ERP2 БУ Абонемент ($m)

Подключаемое расширение к конфигурации ERP с функционалом отправки дополнительных реквизитов 1С ЭДО для Татнефть (№ и дата договора, подразделение, автор, примечание) в электронных документах Счет-фактуры и ТОРГ-12 Проверялось на 1С:ERP Управление предприятием 2.4.6.160.

2 стартмани

07.04.2019    8016    12    sapervodichka    8    

Групповое отражение документов в регламентированном учете (с возможностью формирования проводок)

Обработка документов v8 ERP2 БУ Абонемент ($m)

Групповая обработка изменения статуса отражения документов в регл. учете и формирования проводок (с отборами по периоду, организации, подразделению, типу документов, статусу).

1 стартмани

01.04.2019    4971    17    sapervodichka    4    

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

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

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

1 стартмани

17.07.2018    39529    17    kalyaka    16    

Слияние баз ERP (формирование остатков и перенос данных)

Обработка документов Перенос данных из 1C8 в 1C8 v8 ERP2 Абонемент ($m)

Обработка формирует в базе Источника документы ввода остатков на складах, в производстве, по ОС и НМА, остатки по счетам БУ, остатки по ЗУП. Далее в базу Приемник правилами обмена переносятся данные: НСИ, Заказы, Вводы остатков, Вводы остатков внеоборотных активов, Операции бух., Корректировка регистров, Данные ЗУП (Остатки ЗУП, НСИ, документы за период). Проверялось между 1C ERP 2.2.4.158 1С ERP 2.4.6.160.

5 стартмани

25.03.2019    7580    23    sapervodichka    6    

Поиск и восстановление битых ссылок (Объект не найден)

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

Групповая обработка ссылок вида Объект не найден (502:37855254002e11eb11e73b8f36150d9e) заполняется максимально просто копированием и вставкой из буфера: 1) Выделяет уникальные идентификаторы (далее УИ); 2) Ищет ссылки на объекты базы по УИ; 3) Создаёт пустые объекты с указанным УИ; 4) Регистрирует найденные ссылки для обмена данными. Работает на любых продуктах 8.3. Проверялась на 1С:ERP Управление предприятием 2 (2.4.3.167)

1 стартмани

17.08.2018    11512    88    sapervodichka    2    

Быстрое определение интервалов в запросе Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

01.10.2015    47933    32    ildarovich    41