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

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

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

CRM ПРОФ

1
Статья описывает реальный опыт внедрения и доработки 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

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

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

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

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

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

05.09.2019    9323    ids79    42       

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

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

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

03.09.2019    7513    YPermitin    67       

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

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

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

17.08.2019    7804    ids79    14       

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

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

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

08.08.2019    9680    ids79    22       

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

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

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

02.08.2019    9527    avalakh    21       

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

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

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

26.07.2019    8755    ids79    6       

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

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

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

17.07.2019    8264    ids79    24       

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

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

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

04.07.2019    6086    SeiOkami    48       

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

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

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

25.06.2019    16862    ids79    16       

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

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

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

11.06.2019    11250    dmurk    134       

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

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

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

16.05.2019    16852    YPermitin    27       

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

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

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

11.05.2019    9498    Eret1k    22       

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

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

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

25.04.2019    4648    m-rv    2       

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

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

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

24.04.2019    6998    siddy    0       

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

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

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

16.04.2019    7161    m-rv    16       

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

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

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

07.04.2019    16039    ellavs    122       

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

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

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

28.03.2019    12478    ellavs    83       

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

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

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

14.03.2019    12575    YPermitin    52       

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

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

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

03.02.2019    15056    ids79    9       

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

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

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

26.12.2018    12462    ids79    27       

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

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

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

14.12.2018    20970    ids79    72       

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

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

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

16.11.2018    18443    ids79    20       

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

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

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

13.11.2018    19108    Unk92    18       

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

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

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

10.11.2018    20557    ids79    40       

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

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

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

15.10.2018    20200    tormozit    100       

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

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

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

03.09.2018    14385    nikita0832    41       

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

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

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

23.08.2018    20870    Rain88    42       

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

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

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

25.06.2018    19108    olegtymko    43       

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

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

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

04.06.2018    24083    xrrg    82       

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

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

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

01.06.2018    21011    m-rv    21       

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

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

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

23.05.2018    16801    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11201    Rustig    9       

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

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

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

24.04.2018    23939    avfed@rambler.ru    19       

Минимализмы 3 350

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35249    ildarovich    44       

Этюды по программированию. Взаимодействие с Microsoft Word 108

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

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

11.12.2017    25667    milkers    23       

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

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

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

05.12.2017    21150    itriot11    34       

1С: Конвертация данных 3. Инструкции и примеры. EnterpriseData (универсальный формат обмена) 717

Статья Программист Нет файла v8 КД Бесплатно (free) Перенос данных из 1C8 в 1C8 Практика программирования Обмен через XML

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

19.11.2017    136379    MaxS    251       

Заполнение данных по ИНН контрагента с помощью альтернативного сервиса огрн.онлайн 131

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

Код для заполнения данных по ИНН контрагента из ЕГРЮЛ с сайта огрн.онлайн.

01.11.2017    22476    slava_1c    49       

Программные перечисления, ч.2: приемы кэширования при разработке 65

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

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

30.10.2017    20904    unichkin    17       

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

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

Краткая шпаргалка по программной работе с настройками СКД

29.10.2017    23850    json    9       

Работа с Excel 287

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Загрузка и выгрузка в Excel

Собрал различные полезности для работы с Excel из 1С. Иногда приходится форматировать документ Excel программно из 1С. Так вот, чтобы не искать постоянно на просторах интернета как сделать левое выравнивание в ячейке Excel из 1С и т.п. решил опубликовать это...

23.10.2017    24248    arakelyan    39       

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35) 143

Статья Программист Нет файла v8 v8::БУ БП3.0 Россия Бесплатно (free) Печатные формы документов Практика программирования БСП (Библиотека стандартных подсистем)

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    46313    bugtester    43       

Отказ от работы с временными файлами при работе с двоичными данными или Потоки как простая замена ADODB.Stream и временным файлам 126

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

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

12.09.2017    18043    vardeg    31