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

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

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

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

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

Технология обновления нетиповых конфигураций хорошо описана в статье //catalog.mista.ru/public/18562/. Целью данной статьи является описать набор некоторых правил, как ее ускорить.

1. Лучшая доработка, это доработка без изменения конфигурации. Если возможно, используем справочник "Внешние отчеты и обработки"

2. Если без доработок никак, стараемся создавать новые объекты, в частности:

2.1. При добавлении новых объектов, реквизитов обязательно добавляем префикс

2.2. Создаем общие модуля (для сервера, клиента и пр.), куда стараемся переносить все изменения. Остальные модули вызывают данный код.

2.3. Используем подписки на события для проверки значений, корректировки проведения документов.

2.3. Для новых объектов лучше создать новую роль, а не редактировать старую

2.4. Все новые и измененные объекты включаем в специально созданную для этого подсистему

3. Если необходимо изменить код модуля:

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

3.2. Старый код не удаляем, а оставляем закомментированным

3.3. Комментарий добавляем перед и после изменений, с открывающим и закрывающим символом соответственно (например: + и -)

3.4. Самое главное, чего, собственно, нигде не встречал и что сильно упрощает жизнь, создаем процедуру "НеТиповыеИзменения". Данная процедура должна содержать в себе копию всех комментариев по сделанным изменениям с указанием процедур в которых были внесены данные изменения. Т.е. при сравнении/объединении модуля мы вначале определяем процедуры, содержащие изменения, и не проходим по всем процедурам модуля.

Как пример на примере пункта 3.5 в конце модуля добавляется процедура: 

Процедура НеТиповыеИзменения()
//ПриОткрытии() //[*]ОткрываемПоДругому
КонецПроцедуры

3.5. Спасибо  unichkin. Все изменения по возможности выносить в отдельные процедуры, как один из минусов сложность в анализе изменений в одном месте, отлично подходит при отсутствии пункта 3.4, пример: 

Процедура ПриОткрытии()
//{[*]ОткрываемПоДругому 
// уфк_ПриОткрытии()
//----------------------ЗАМЕНЕНО НА---------------------
мод_ПриОткрытии();
//}
КонецПроцедуры;

// Типовой код....

////////////////////////////////////////////////////////////­//////////////////////////////
// МОДИФИЦИРОВАННЫЕ ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ

Процедура мод_ПриОткрытии()
// свой код...

КонецПроцедуры;

////////////////////////////////////////////////////////////­//////////////////////////////
// УДАЛЕННЫЕ ФРАГМЕНТЫ КОДА
Процедура уфк_ПриОткрытии()
// Исходный типовой код
КонецПроцедуры;

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

Процедура МойОбработчикПриОткрытии(Отказ)
    // вызов типового обработкчика
    ПриОткрытии(Отказ);
    // тут наш кот
КонецПроцедуры
УстановитьДействие("ПриОткрытии", "МойОбработчикПриОткрытии");

4. Если необходимо изменить форму:

4.1. Описываем все изменения в процедуре "НеТиповыеИзменения" см. 3.4.

4.2. Кнопки и поля формы возможно добавлять программно, как и настраивать их первоначальную видимость/доступность.

5. Спасибо  unichkin. Внедрения стандартов разработки (например: Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8.), позволит быстрее воспринимать код другого программиста.

 Ссылки по теме (для меня это lvl-up, можно рассматривать как продолжение статьи):

v8: Концепция минимального изменения конфигурации для легкого обновления

Методика переопределения и вызова обработчиков событий формы в 1С 8 (переопределение собятие формы для обычных форма)

Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3 (переопределение собятие формы для управляемых форм)

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

Версия 1.1:

Внес дополнения по комментариям от авторов unichkin, Armando , ИНТЕГРА

Уточнил пункт 3.4

Версия 1.2: добавил ссылку по теме для обычных форм. и пункт 5.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 03.11.15 19:08 Сейчас в теме
(0), где упоминание расширений?
vx_gas; mihey; ya.Avoronov; ivanov660; +4 Ответить
2. ИНТЕГРА 24 03.11.15 21:29 Сейчас в теме
Все верно написал, не подкопаться! Делаю точно также и живу спокойно :) ТОлько я с 4.1 гораздо проще обхожусь - вношу в справочную информацию к своей подсистеме все доработки. Там тоже соблюдаю определенный формат.
8. Trise 129 04.11.15 12:58 Сейчас в теме
(2) ИНТЕГРА, Смы(6) unichkin, К сожалению не нашел статей по "мягкой" доработке. Кидайте ссылку обязательно добавлю в статью.
12. unichkin 1253 04.11.15 23:52 Сейчас в теме
(8)
Методика переопределения и вызова обработчиков событий формы в 1С 8
Методика упрощения поддержки конфигураций. Переопределение и вызов обработчиков событий для УФ 1С 8.2-8.3

(7) Armando, можно и так - но это затрагивает область программы. И как раз на этом методе основана статья из первой ссылки. ИМХО (6) - как то нагляднее, но это конечно только мое мнение :)
14. Trise 129 05.11.15 07:16 Сейчас в теме
(12) unichkin, за статьи спасибо! Жалко, что только для управляемых форм подходит.
(13) unichkin, не согласен. Знакомился со стандартами и методиками от 1С. В них в основном описано как писать код, называть процедур и пр., но в задачи стандарта ни как не входит цель по минимизации времени обновления доработанной типовой конфигурации.
15. unichkin 1253 05.11.15 09:46 Сейчас в теме
(14) "Жалко, что только для управляемых форм подходит." - неправда ваша. Две статьи, одна для обычных, другая для УФ. В задачи стандарта входит минимизация времени понимания одним кодером "дампа подсознания" другого. А это тоже влияет на время обновления :) Никакие ухищрения не помогут и не спасут, если двое делают "хорошо", но каждый по-своему.
//
Для объектов - дополню:
- ни в коем случае НИКОГДА не трогать именования типовых реквизитов, это очень пагубно сказывается на времени сравнения\объединения, я уж не говорю про разработку
- Все добавленные объекты переносить вверх соотв. ветки дерева метаданных - это во-первых оч. удобно при разработке - свои объекты всегда сверху, во вторых при том-же сравнении объединении будет меньше типовых в которых "Порядок объекта изменен"
- После обновления неплохо выполнить сравнение с конфой поставщика и убедиться что нет артефактов вроде "Справочная информация". Т.е. все изменения которые покажет сравнение должны быть понятны.
3. Astafan 03.11.15 21:46 Сейчас в теме
На счет п.3.4. не совсем понял. Можно поподробней?
Для изменения формы использую следующий подход: делаю копию типовой и вношу туда все изменения. Новая форма открывается с помощью подписки ДокументаМенеджера на событие ОбработкаПолученияФормы.
5. Trise 129 03.11.15 23:14 Сейчас в теме
(3) Astafan, при сравнении двух модулей не понять, какие процедуры были изменены в типовой а какие просто обновление, для этого создается процедуоа где указываются все измененные процедуры.
9. Trise 129 04.11.15 13:00 Сейчас в теме
(3) Astafan, На счет копии типовой формы, появится необходимость отслеживать, что в ней поменялось, что-бы перенести на копию, как боритесь с такой проблемой? Или создание копии типовой равносильно снятию типовой с поддержки?
4. Armando 1393 03.11.15 22:06 Сейчас в теме
"3.4" может стать узким местом, когда над конфигурацией работают разные люди. Все не заставишь где-то еще описывать внесенные изменения.
10. Trise 129 04.11.15 13:05 Сейчас в теме
(4) Armando, тоже верно. Добавлю аргументов в мою пользу: это можно рассматривать как требования от Заказчика, что-бы не перетереть изменения от исполнителей, особенно, когда их несколько и исполнитель не выполняет обновление.
6. unichkin 1253 04.11.15 01:13 Сейчас в теме
Уже давно есть подходы по "мягкой" доработке типовых - все описано на инфостарте. В тех случаях, когда доработка разовая - пригодится эта статья. От себя лишь добавлю, что желательно не просто комментировать код, а выносить изменения в отдельные блоки. Например - нужно доработать обработчик "ПриОткрытии". Не надо лепить код непосредственно туда - создайте буферный вызов, поместите его в самый конец модуля, и работайте в нем! Т.е. вот так:

Процедура ПриОткрытии()
// Типовой код....
мод_ПриОткрытии();

КонецПроцедуры;

// Типовой код....

////////////////////////////////////////////////////////////­//////////////////////////////
// МОДИФИЦИРОВАННЫЕ ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
Процедура мод_ПриОткрытии()
// свой код...

КонецПроцедуры;
Показать


Что это дает? То, что при обновлении конфы - если будет изменена типовая процедура в режиме сравнения объединения при объединении модулей можно смело ставить галку напротив типовой процедуры. Она будет перезатерта, ну и что - ведь конце модуля остался наш буферный вызов, из названия которого сразу ясно и понятно куда его нужно вставить! Кроме этого - сразу видно какие процедуры были изменены, и это очень удобно - не надо тратить драгоценное время на просмотр всего модуля. Тут конечно есть свои нюансы - если нужно сделать пару изменений в разных частях процедуры например. Я в таких случаях ВЕСЬ текст исходной процедуры выношу в блок "Удаленные фрагменты кода" (уфк_ПриОткрытии()), в типовой процедуре ставлю комментарий "Фрагмент изменен" - и опять вызываю свой буферный обработчик. Т.е. получается так:

Процедура ПриОткрытии()

//{[*] (фрагмент изменен) 
// уфк_ПриОткрытии()
//----------------------ЗАМЕНЕНО НА---------------------
мод_ПриОткрытии();
//}

КонецПроцедуры;

// Типовой код....

////////////////////////////////////////////////////////////­//////////////////////////////
// МОДИФИЦИРОВАННЫЕ ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ

Процедура мод_ПриОткрытии()
// свой код...

КонецПроцедуры;

////////////////////////////////////////////////////////////­//////////////////////////////
// УДАЛЕННЫЕ ФРАГМЕНТЫ КОДА
Процедура уфк_ПриОткрытии()
// Исходный типовой код
КонецПроцедуры;
Показать


уфф... увлекся)) Сопровождал несколько обновляемых конфигураций на упр. формах где использовал такой подход, - очень удобно.
Светлый ум; IgorS; cleaner_it; Некто A. Petti; PowerBoy; +5 Ответить
7. Armando 1393 04.11.15 01:51 Сейчас в теме
(6) unichkin, в форме можно переопределять обработчики на свои, а из своих в нужный момент вызывать типовые. Тогда в большинстве случаев процедуры-обработчики событий можно смело заменять и даже дописывать в них ничего не придется:
УстановитьДействие("ПриОткрытии", "МойОбработчикПриОткрытии");


Процедура МойОбработчикПриОткрытии(Отказ)

    // вызов типового обработкчика
    ПриОткрытии(Отказ);

    // тут наш кот

КонецПроцедуры
Показать
Batman; klinval; sanja; unichkin; cleaner_it; vbuots; PowerBoy; +7 Ответить
11. Trise 129 04.11.15 13:13 Сейчас в теме
(6) unichkin, Пункт 3.4 как раз нужен что-бы случайно не перезатереть типовые процедуры. Уточнил описание пункта.
13. unichkin 1253 05.11.15 00:08 Сейчас в теме
(11) "чего, собственно, нигде не встречал" - ключевой момент, к сожалению. Все ведь уже придумано до нас, но об этом либо не знают, либо на это кладут. По крайней мере мой опыт говорит так. И ладно бы инфостарт - ведь есть замечательный ресурс ИТС, библия каждого 1С-ника, особенно начинающего. До кучи кину-ка я ссылку вот еще на это:
Система стандартов и методик разработки конфигураций для платформы 1С:Предприятие 8.
з.ы. Для тех, кто лишен доступа к ИТС существует недельный тест-драйв - это я на всякий.
16. maxg 05.11.15 18:38 Сейчас в теме
При использовании внешних программ для сравнения/объединения пункт 3.2 неактуален.
17. maxg 05.11.15 18:42 Сейчас в теме
Подробнее можно посмотреть в этом вебинаре https://www.youtube.com/watch?v=9bfKwomErfU&feature=youtu.be
IgorXml; shelldell; Trise; unichkin; +4 Ответить
18. b-dm 169 27.11.15 13:21 Сейчас в теме
Неплохая статья по обновлению типовых конфигураций.
19. q_i 387 22.12.15 21:57 Сейчас в теме
Добавлю свои 5 коп. Как убедиться, что измененную конфигурацию обновили успешно и ничего не отвалилилось?
Итак, после обновления у нас есть 4 cf-ника:
- ПоставщикСтарая - старая конфигурация поставщика;
- ПоставщикНовая - новая конфигурация поставщика - та, на которую обновляем;
- ОсновнаяСтарая - измененная конфигурация, по сути это ПоставщикСтарая с нашими изменениями;
- ОсновнаяНовая - то, что получилось после обновления ОсновнаяСтарая с помощью ПоставщикНовая.
Теперь в двух конфигураторах сравниваем попарно:
- ПоставщикСтарая и ПоставщикНовая;
- ОсновнаяСтарая и ОсновнаяНовая.
Для каждого сравнения конфигураций формируем полный "Отчет о сравнении объектов..." (для всех объектов конфигурации) в формате "Подробно", с подчиненными объектами метаданных (см. cmp.png) и сохраняем эти отчеты в текстовые файлы. Эти два текстовых файла сравниваем с помощью любой сравнивалки текста (я использую WinMerge). Так вот не считая технической информации, такой как номера строк с изменным/удаленным кодом и т.п., эти файлы НЕ ДОЛЖНЫ ОТЛИЧАТЬСЯ! Потому что оба отчёта показывают одно и то же - разницу, которую добавила в конфигурацию 1С.
После этого сравниваем попарно:
- ПоставщикСтарая и ОсновнаяСтарая;
- ПоставщикНовая и ОсновнаяНовая.
Аналогично сохраняем отчеты о сравнении в текстовые файлы и сравниваем эти текстовые файлы. Они тоже НЕ ДОЛЖНЫ ОТЛИЧАТЬСЯ! Потому что оба отчёта показывают одно и то же - разницу, которую добавили в конфигурацию мы.
Если что-то отличается (помимо технической информации) - значит или не накатили какое-то изменение из типовой, или затерли какое-то свое изменение.
P.S. Чтобы убрать из отчетов о сравнении неинформативный хлам (такой как номера строк с изменным/удаленным кодом и т.п.), можно выполнить в текстовых файлах с отчетами следующие замены по регекспам:
1. Заменить что: ^(\s*)Объект присутствует только в(.+) конфигурации: \d+ - \d+$
Заменить на что: $1Объект присутствует только в$2 конфигурации: N - N
2. Заменить что: ^(\s*)Изменено: \d+ - \d+$
Заменить на что: $1Изменено: N - N
P.P.S. Если кому нужно - могу выложить эти замены в виде макроса для Notepad++
Прикрепленные файлы:
IgorXml; Totoro; Armando; +3 Ответить
20. Dr.ZIG 27 28.06.16 06:34 Сейчас в теме
В своих разработках использую все рекомендации из статьи, только допёр до них самостоятельно. Дополню:
1) Во многих типовых конфигурациях в процедуре "ПриСозданииНаСервере" часто используется вызов какой-либо процедуры из общих модулей, куда передаётся "ЭтотОбъект" или "ЭтаФорма", например, ОбщегоНазначения.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка). Я добавил в вызов из этой процедуры вызов своей процедуры "ПриСозданииНаСервере" в своём общем модуле, где в зависимости от переданой формы (определяется по ЭтотОбъект.ИмяФормы) вношу свои изменения на форме, например программно добавляю реквизиты формы, меняю условное оформление, добавляю кнопки, переопределяю стандартные действия и прочее. Соответственно изменений в самой форме нет, даже нет необходимости снимать с поддержки.
2) для добавления предопределённых элементов можно использовать дополнительный справочник "ПредопределённыеЭлементы", с одним лишь реквизитом "Значение", имеющий тип значения "Любая ссылка", соответственно можно к нему и через код и через запросы обращаться, получая значение из соответствующего реквизита, например, "Справочники.ПредопределённыеЭлементы.Контрагенты_ОсновнойКонтаргент.Значение" - вернёт заранее заданный элемент справочника контрагенты Или в запросе через соединение с этим справочником используя конструкцию "Значение()" в условиях к справочнику "ПредопределённыеЭлементы".
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

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

22.04.2020    3297    23    infostart    2    

Программная работа с настройками СКД

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

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

27.01.2020    15371    0    ids79    26    

[СКД] Программное создание схемы компоновки данных

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

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    15864    0    John_d    22    

Последовательности событий. Шпаргалка

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    10982    0    kuzyara    33    

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    34276    0    unichkin    45    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    12822    0    YPermitin    72    

Таблица значений. Нюансы

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

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

01.10.2019    25604    0    Yashazz    45    

[Шпаргалка] Программное создание элементов формы

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

Программное создание практически всех популярных элементов формы.

06.09.2019    35149    0    rpgshnik    62    

Вспомогательные инструкции в коде 1С Промо

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

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

15.10.2018    26284    0    tormozit    100    

Агрегатные функции СКД, о которых мало кто знает

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

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    37312    0    ids79    52    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    21852    0    YPermitin    24    

Три костыля. Сказ про фокусы в коде

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

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    21925    0    YPermitin    80    

Оформление и рефакторинг сложных логических выражений Промо

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

В сложных логических выражениях нередко самому автору спустя какое-то время тяжело разобраться, не говоря уже о других программистах. Предлагаемая методика позволяет повысить наглядность таких выражений путем оформления в виде И-ИЛИ дерева и одновременно выполнять их рефакторинг.

20.09.2012    73789    0    tormozit    129    

Отслеживание выполнения фонового задания

Практика программирования Универсальные функции Разработка v8 1cv8.cf Бесплатно (free)

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    25859    0    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

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

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    56774    0    ids79    37    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    26612    0    avalakh    21    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    44847    0    tormozit    38    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    17355    0    json    12    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

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

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    43059    0    ids79    11    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    28766    0    ids79    27    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    40658    0    tormozit    72    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    21628    0    YPermitin    13    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    16519    0    SeiOkami    50    

Работа с настройками системы компоновки данных

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

Варианты отчетов, работа с настройками вариантов: структура группировок, поля отчета, отборы, сортировка, условное оформление, другие настройки, настройки отображения диаграмм.

02.07.2019    34343    0    ids79    10    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    14239    0    m-rv    2    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    42557    0    ids79    20    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    21522    0    dmurk    144    

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

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

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

16.05.2019    35566    0    YPermitin    30    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    17835    0    m-rv    17    

Выполнение внешней обработки в фоновом задании

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    24375    0    Eret1k    23    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    29546    0    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    23392    0    ellavs    86    

Как сделать запрос на изменение данных Промо

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

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    27502    0    m-rv    21    

Трюки с внешними источниками данных

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

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    26629    0    YPermitin    53    

Ошибки при работе с хранилищем конфигурации и способы их решения

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

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

01.03.2019    31109    0    Смешной 1С    27    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    18511    0    Vladimir Litvinenko    27    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    25794    0    itriot11    34    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

Практика программирования БСП (Библиотека стандартных подсистем) Роли и права v8 v8::Права Бесплатно (free)

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    31678    0    ids79    9    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    71247    0    Serginio    108    

EnterpriseData – часть 2. Процесс выгрузки данных

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    22954    0    ids79    31    

Новый подход к обмену данными EnterpriseData

Практика программирования Обмен через XML v8 v8::УФ Россия Бесплатно (free)

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

14.12.2018    35262    0    ids79    72    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    31950    0    ids79    32    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    30723    0    ids79    40    

Программное заполнение пользовательских параметров и отборов СКД

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

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

13.11.2018    37807    0    Unk92    21    

Произвольный код в фоновом режиме

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

Задача: реализовать выполнение произвольного кода в фоновом режиме без изменения конфигурации, т.е. во внешней обработке.

03.09.2018    24075    0    nikita0832    42    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

Математика и алгоритмы Практика программирования v8 Россия Бесплатно (free)

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

23.08.2018    34984    0    Rain88    46    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    26346    0    grumagargler    26    

Работаем с дополнительными реквизитами на форме

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

Пара полезных процедур для работы с дополнительными реквизитами на форме. Далее в статье: 1. Как называются дополнительные реквизиты на форме и в какой момент они появляются на форме? 2. Как проверить до записи корректность заполнения пользователем дополнительного реквизита? 3. Как заполнить значение дополнительного реквизита по другому событию и обновить данные на форме? 4. Как расположить дополнительный реквизит в указанном месте на форме?

15.07.2018    29630    0    papche    37    

Повышаем эффективность разработки правил обмена

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    26208    0    olegtymko    47    

Введение в механизм представлений в ЗУП ред. 3

Практика программирования v8 v8::СПР ЗУП3.x Бесплатно (free)

В нашей организации на первом же телефонном собеседовании на должность разработчика по ЗУП ред. 3 вас обязательно спросят о том, что такое "Представления".

04.06.2018    34330    0    xrrg    82    

Строим графы средствами 1С (без GraphViz)

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

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    22925    0    slozhenikin_com    20