CRM PROF 1.4. Практика доработки

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

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

CRM ПРОФ

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

ПРЕДИСЛОВИЕ.
Данная статья пылится на Инфостарте с 2017 года, и на данный момент скорее всего является устаревшей. Но еще может пригодиться тем, кто использует конфигурацию CRM PROF предыдущего поколения (на обычных формах) от фирмы Рарус. Пользователи данной программы из статьи могут узнать про то как можно расширить функционал, программисты - про некоторые особенности механизмов конфигурации.

ПОЕХАЛИ.
Итак, мой "живой клиент" это реальная организация, которая продает программное обеспечение и оказывает услуги по его настройке.  Все как в мире 1С, с одним отличием, что предприятие занимается не 1С. 

Структура предприятия такова:

 - Отдел продаж.

 - Отдел обслуживания (Корп. отдел).

 - Отдел тех. поддержки.

 - Бухгалтерия. 

Немного о каждом отделе:

Отдел продаж - это классический кол. центр по "подогреву" холодных контактов. Основной задачей отдела является получить базу с контактными данными о клиенте и выполнить ее обзвон. Целью обзвона является встреча с потенциальным покупателем для презентации. После того как договоренность о встрече достигнута,  информация передается начальнику отдела, а от него - консультанту, который проводит презентацию и доводит процесс до продажи. В отделе продаж потенциальные клиенты делятся на 2 категории: Холодные и горячие.

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

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

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

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

Тем временем отдел обслуживания и бухгалтерия работают в программе 1С:Бухгалтерия 8, которая была некоторым образом доработана для удобства обслуживания действующих клиентов. Менеджеры отдела обслуживания работают по следующей методике:

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

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

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

Сначала решили объединить отдел продаж и отдел обслуживания. Т.е. работу отдела продаж перевести в 1С: Бухгалтерию 8, предварительно ее доработав.  Зная потребности отдела продаж в разных фильтрах и прочих плюшках,  было решено использовать Рарус CRM ПРОФ.  

На этом вступление заканчивается и начинается история.  

1) Было решено "правильно" объединить в 1С: Бухгалтерию 8 и CRM. Под словом "правильно" подразумевается, что после процесса объединения двух конфигураций все чужеродные, по отношению к бухгалтерии, объекты и программный код, должны иметь префикс  CRM. Основной целью такого требования, разумеется, было, поддержание простоты процесса обновления бухгалтерии. Процесс занял 130-140 часов и был успешно завершен.

2) Для работы отдела продаж было решено использовать блок  бизнес-процессов и задач.  Для регистрации заявок, переносов и т.д. был разработан новый бизнес-процесс "Заявка" на основании существующего «Поручение». Для удобства работы пользователей была разработана специфическая форма для объекта «Задача». Эта форма открывается только для тех задач, которые сформированы новым бизнес-процессом «Заявка».

 Схема бизнес-процесса

3) После запуска нового бизнес-процесса пользователи начали работать в форме "Рабочего стола". В программе CRM существует автоматизированное рабочее место (АРМ), которое называется «Рабочий стол (CRM)». Это обработка, которая может открываться автоматически, при входе пользователя в программу. Рабочий стол состоит из двух форм. Левая – это «Панель управления», правая – сам рабочий стол. Панель управления отвечает за ввод новых объектов, рабочий стол – за работу с существующими объектами. Для более удобного представления данных рабочий стол разбит на участки/блоки при помощи закладок. На закладках отображаются списки различных объектов (контакты, контрагенты, задачи и т.д.), а так же элементы для установки произвольных фильтров. Оказалось, что пользователям очень не хватает наглядности при работе с данными фильтрами. А именно, пользователи попросили сделать так, что бы было видно, сколько бизнес-процессов попадает в тот или иной фильтр.

  Фильтр.

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

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

Теперь немного технической информации.

В конфигурации CRM ПРОФ. за данную возможность отвечает обработка CRM_Фильтры. В эту обработку передается форма списка бизнес-процессов, т.е. элемент формы, содержащий список бизнес-процессов. Как потом оказалось, это была не форма списка бизнес-процесса, а форма списка записей регистра сведений  CRM_ БизнесПроцессы - но об этом позже. Так же, в обработку CRM_Фильтры передаются установленные пользователем фильтры, которые определяются только из тех, которые возможны для данной формы. Поначалу я думал, что механизм фильтров работает через запрос, который формируется динамически, на основании выбранных, пользователем полей, но оказалось что все намного проще. Пользователь для настройки фильтров может использовать только те поля, которые присутствуют в форме списка и для которых существует возможность установить стандартный отбор.  

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

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

Особенность данного процесса в том, что для хранения данных новых реквизитов я не создавал новые справочники или другие хранилища. Все оказалось проще. Я проанализировал реквизиты документов из конфигурации CRM. (События, Телемаркетинг, Анкета, Маркетинговая кампания и пр.) и оказалось то, что если в бизнес-процесс добавить некоторые из этих реквизитов (понятно без фанатизма), то это охватит намного больше вариантов, из тех которые хотели пользователи. Например: если пользователь говорил что ему нужен будет фильтр по тем бизнес-процессам (заявкам), которые участвуют в некоторой акции, то я добавил в бизнес-процесс и регистр сведений реквизит содержащий ссылку на документ "Маркетинговая компания", и кроме того еще и на реквизит этого документа "Вид кампании" который ссылается на «родной» справочник "Виды кампаний". и т.д. Вот собственно результат:

Регистр

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

  Доп. фильты

5) Но и этого оказалось недостаточно. Пришлось еще раз расширить варианты фильтрации данных. Представьте себе: менеджер отдела продаж ведет большое количество проектов (заявок). За месяц их число может достигать сотни, за год – тысячи. В постоянном обороте у менеджера, который проработал около года, всегда находится порядка 300 заявок, т.е. потенциальных интересов. Из этих 300 заявок, порядка 100 очень горячих, т.е. тех, которые уже готовы к следующему этапу отношений - встрече. Так вот, работая на закладке рабочего стола "Бизнес-процессы", менеджеру достаточно часто приходится производить поиск заявок, по контрагенту. Но если по самому контрагенту можно настроить фильтр, хотя это не очень удобно: нужно открывать форму настройки отбора/фильтра, там искать реквизит бизнес-процесса "Контрагент", вводить значение и т.д., то выполнить поиск или фильтрацию заявок по реквизитам контрагента вообще не возможно. 

Штатный механизм конфигурации CRM предполагает, что для этих целей нужно перейти на закладку «Контрагенты» - ввести искомое значение в поисковую строку - получить некоторый результат в виде списка отфильтрованных контрагентов. Далее, нужно найти подходящего контрагента - открыть его карточку - перейти на закладку бизнес-процессы и получить собственно список процессов, в моем случае – заявок. А для того что бы перейти на последнюю, не выполненную задачу, нужно постараться еще больше. Но не будем о грустном… Было решено подключить стандартный механизм поиска, к списку бизнес-процессов.

Стандартный механизм поиска в списках представляет собой одно поле для ввода значений поиска и еще одно - для выбора варианта/настройки поиска. Такой механизм используется во множестве типовых конфигураций от 1С, это: УТ 10, УПП, КА и других.  Как правило, данных механизм используется для поиска номенклатуры или контрагентов. Он хорошо масштабируется, поэтому его легко можно «прикрутить» к любому справочнику и выполнять поиск элементов данного справочника не только по реквизитам самого справочника, но и по любым другим реквизитам, любой таблицы, которая имеет ссылку на данный справочник. Центральным ядром данного механизма является обработка УниверсальныйПоискОбъектов. В данную обработку передается искомое значение и настройка, а обработка сама строит, если нужно динамический запрос к различным таблицам базы данных, находит нужные значения и отображает их пользователю в виде фильтра/отбора элементов некоторого справочника.

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

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

 

6) Но и это оказалось не последней каплей.  Проблема появилась в планировании даты завершения бизнес-процесса и связана она с методикой, заложенной в CRM. Проблема в том, что для того чтобы узнать когда по плану завершится бизнес-процесс, нужно в карточке бизнес процесса, вручную, устанавливать планируемую дату завершения. Но существуют процессы, которые не позволяют узнать заранее планируемую дату завершения. Мой процесс «Заявка» оказался именно таким. Дело в том, что после очередного контакта с клиентом, процесс может быть перенесен на неопределенный срок – это регистрируется и планируется задачей с этапом «Перенос». В этом случае планируемой датой завершения процесса выступает планируемая дата выполнения задачи «Перенос». Проблема возникает там, где менеджеру необходимо отфильтровать бизнес-процессы «Заявки» именно по дате переноса. Для этого необходимо после выполнения переноса заходить в карточку бизнес-процесса и сдвигать дату до даты переноса, и так каждый раз. Либо же пользоваться стандартным механизмом и смотреть на закладку «Задачи». Но на один процесс может приходиться несколько задач, кроме того в задачах нет возможности поиска по контрагенту, потому что реквизит «Контрагент» там просто отсутствует. Да и вообще, со списком задач работать не так удобно, потому что их много, их нужно постоянно фильтровать и группировать,  В общем, типовой механизм оказался не удобным и не эффективным. Было решено изменить данный механизм так, что бы при создании задачи, в регистр сведений CRM_ БизнесПроцессы записывалась дата переноса. В итоге, в стандартном фильтре бизнес-процессов появилась возможность фильтровать заявки и другие процессы по плановой дате последней задачи.

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

Как я писал в начале, для бизнес-процесса "Заявка" была разработана отдельная форма задачи. За основу была взята доработанная ранее, форма элемента справочника контрагенты. Это было сделано для унификации, что бы менеджеры из разных отделов при необходимости могли быстро с ориентироваться. Вот скриншоты первых двух закладокОсновные:

Принадлежность

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

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

Оставьте свое сообщение

См. также

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

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

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

10.12.2016    37579    unichkin    74    

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

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

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

27.01.2020    28166    ids79    26    

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

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

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

15.01.2020    24829    John_d    22    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

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

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

30.12.2019    19095    kuzyara    33    

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

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

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

15.10.2018    30611    tormozit    100    

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

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

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

02.12.2019    17304    YPermitin    72    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    8608    Sibars    19    

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

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

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

01.10.2019    34243    Yashazz    50    

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

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

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

20.09.2012    78238    tormozit    131    

О программе Postman для тестирования API и для чего она нужна 1С-нику

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

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    12258    budidich    28    

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

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

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

06.09.2019    52111    rpgshnik    63    

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

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

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

05.09.2019    50649    ids79    54    

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

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

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

11.07.2007    48711    tormozit    41    

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

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

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

05.09.2019    29226    YPermitin    24    

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

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

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

03.09.2019    25763    YPermitin    80    

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

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

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

17.08.2019    31974    ids79    16    

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

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

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

10.09.2017    45057    tormozit    74    

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

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

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

08.08.2019    85737    ids79    49    

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

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

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

02.08.2019    36650    avalakh    22    

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

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

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

31.07.2019    24659    json    14    

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

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

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

25.04.2019    16134    m-rv    2    

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

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

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

26.07.2019    61919    ids79    11    

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

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

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

17.07.2019    36425    ids79    27    

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

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

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

09.07.2019    26416    YPermitin    14    

Как настроить правильную техподдержку (helpdesk, service desk на коленке) Промо

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени v8 УУ Бесплатно (free)

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

24.04.2019    18472    siddy    0    

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

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

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

04.07.2019    19800    SeiOkami    50    

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

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

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

02.07.2019    48286    ids79    17    

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

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

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

25.06.2019    53749    ids79    25    

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

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

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

16.04.2019    20392    m-rv    17    

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

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

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

11.06.2019    25435    dmurk    145    

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

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

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

16.05.2019    44059    YPermitin    30    

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

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

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

07.04.2019    35768    ellavs    126    

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

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

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

01.06.2018    30906    m-rv    21    

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

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

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

28.03.2019    27622    ellavs    90    

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

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

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

14.03.2019    31727    YPermitin    53    

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

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

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

01.03.2019    40432    Смешной 1С    28    

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

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

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

05.12.2017    28363    itriot11    34    

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

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

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

26.02.2019    22429    Vladimir Litvinenko    27    

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

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

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

27.01.2016    76727    Serginio    108    

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

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

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

03.02.2019    40607    ids79    9    

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

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

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

26.12.2018    27190    ids79    31    

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

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

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

10.11.2018    35228    ids79    40    

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

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

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

14.12.2018    42107    ids79    72    

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

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

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

16.11.2018    37677    ids79    42    

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

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

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

13.11.2018    48911    Unk92    25    

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

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

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

25.07.2018    29395    grumagargler    28