Набор подсистем "Умные таблицы"

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

Разработка - Инструментарий разработчика

умные таблицы произвольные таблицы прикладная библиотека бюджеты уведомления уведомления по электронной почте транспортные расходы статусы алгоритмы MongoDB Postgre SQL MS SQL постобработка

64
Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.
  1. Основные вопросы
  2. Введение
  3. Системные требования
  4. Описание подсистем проекта и задач, которые они решают
    1. Статусы объектов
    2. Алгоритмы
    3. Уведомления
    4. Умные таблицы
    5. Коммерческая политика
    6. Определение рабочих баз
    7. Внешние хранилища данных
    8. Постобработка (Новое)
  5. Цель проекта
  6. Примеры использования подсистем
  7. Видеоролики и прочие полезные ссылки

Основные вопросы

  1. Что это за продукт? Продукт представляет собой самостоятельный набор универсальных подсистем для решения ряда распространенных задач хозяйственной деятельности предприятий. По своей сути – это инструмент, который позволяет решать ваши проблемы, внедрив его в вашу базу 1С быстрее.
  2. Для кого он предназначен? Продукт создан программистом для программистов. Его основная задача – помочь решить ряд типовых вопросов автоматизации гораздо быстрее, чем это происходит обычно, когда вы создает код с нуля. Продукт имеет ряд реализованных концепций, которых нет в других продуктах.
  3. Какие задачи продукт позволяет решать? Продукт предназначен для широкого круга предприятий, которые в рамках своей деятельности используют продукты фирмы 1С и которым дополнительно нужно решать такие задачи как:
    1. Ведение статусов объектов и настройка уведомлений, доступности и областей переходов в зависимости от текущего статуса.
    2. Отправка уведомлений пользователям системы и произвольным лицам по электронной почте в определенное заранее запланированное время.
    3. Ведение бюджетных таблиц (план продаж, бонусы В2В, В2С, КАМ, расчет коммерческой политики) с возможностью настраивать вид данных таблиц в широком диапазоне возможностей с возможностью ручного редактирования, с учетом отложенных затрат более поздними периодами (бонусы КАМ, транспортные затраты).
    4. Ведение произвольных расчетных таблиц на основании данных из базы 1С.
    5. Хранение и расчет результатов коммерческой политики.
    6. Исполнение алгоритмов, код которых хранится в информационной базе.
  4. Каковы системные требования? Программа написана под 1С 8.3 (гарантирована работа на версии платформы 1С 8.3.9.1850), без использования модальности, под интерфейс 1С Такси, без использования режима совместимости.
  5. Какова стоимость? На текущий момент продукт бесплатен. Если вы захотите внедрить его на своем предприятии, то можете получить лицензионный ключ полной версии на год бесплатно.
  6. Есть ли планы по доработке? Планы по доработке существующих или созданию новых подсистем появляются по мере возникновения задач в реальной жизни, на текущий момент они такие:
    1. Доработать подсистему Постобработка с тем, чтобы выполнять не только модификацию измененных данных, но и выполнение произвольного алгоритма по расписанию.
    2. Реализовать подвид обмена РИБ, который бы позволял интерактивно настраивать правила миграции данных по некоторым условиям, основанным на данных. Подобная задача будет актуальна при создании так называемых "белых" баз, в которые будет сливаться доступная информация для проверки, в то время как управленческая база в критической ситуации будет отключена.
  7. Есть ли поддержка? Поскольку продукт планируется развивать и внедрять, поддержка есть, она доступна через форум на сайте проекта. Поддержка так же пока бесплатна.

Введение

Довольно часто нам приходится сталкиваться с решением однотипных задач для разных конфигураций, в том числе, и самописных. Каждый раз нам приходится писать код заново, т.к. конфигурации для которых мы пишем код, отличаются друг от друга и код, написанный для одной конфигурации, может не подходить для другой, т.к. использует ту программную среду, в рамках которой он написан. Но что, если написать прикладную библиотеку, которую можно было бы встраивать в современные типовые или самописные конфигурации и которая уже содержала бы код решения довольно распространенных задач, при том, что ее настройка была бы довольно простой? Очевидно, это существенно бы сэкономило время разработчика, т.к. ему не пришлось бы делать из раза в раз одни и те же действия, писать похожий код, который бы отличался в деталях. Это позволило бы ему сконцентрировать свои усилия на тех задачах, которые действительно заслуживают его внимания, т.к. являются достаточно специфичными. Набор подсистем «Умные таблицы» (далее УмТ) и есть одна из таких библиотек.  

Системные требования

  • Платформа 1С 8.3.9.1850
  • Интерфейс Такси
  • Использование модальности - нет
  • Режим совместимости - нет

Описание подсистем проекта и задач, которые они решают

Ведение статусов объектов. Подсистема "УмТ_Статусы".

Очень распространённая задача, когда нам нужно вести статусы объектов системы, менять их доступность для разных групп пользователей в зависимости от текущего статуса, уведомлять определенных пользователей о факте смены статуса, вести историю статусов и автора их изменения, запрашивать дополнительные комментарии от пользователя при установке статуса. Все это умеет подсистема УмТ_СтатусыОбъектов. Настройка подсистемы в режиме конфигуратора занимает несколько минут, вам нужно внести тип объекта, для которого нужно вести статусы в определяемый тип и внести изменения в форму объекта, для которого нужно вести статусы, вставив в несколько мест код вызова интерфейсных процедур подсистемы. После этого в режиме «предприятие»  вам нужно настроить граф перехода статусов, списки уведомлений, списки доступа и необходимость комментирования статусов и система готова к работе. Суммарно, настройка статусов с графом переходов в 10 дуг и 6 статусов может занять до 30 минут, при том что по мере освоения механизма скорость будет повышаться. Если же вам потребуется изменить граф переходов, списки уведомлений или доступность, то для этого не нужно будет снова пользоваться конфигуратором, все настройки можно будет сделать интерактивно на работающей системе.

Исполнение алгоритмов, код и параметры которых хранятся в базе 1С. Подсистема УмТ_Алгоритмы.

Хранение и исполнение кода, хранящегося в объектах базы 1С – довольно распространенная задача. Очень часто для своих разработок мы используем такой вид доработок системы, потому что при всех своих недостатках, он позволяет нам менять некоторые параметры системы в процессе ее работы без перезагрузки. Подсистема алгоритмов позволяет вызывать на исполнение алгоритмы из клиентского или серверного контекста, задавать контекст исполнения и параметры в настройках алгоритма, задавать дополнительные параметры при вызове алгоритма на исполнение, а также – вызывать другие алгоритмы, созданные ранее, что позволяет создавать библиотеку алгоритмов для типовых процедур. Данная подсистема тесно интегрирована с основной подсистемой УмТ и используется в ней для создания произвольных группировок и обработки таблиц.

Отправка почтовых уведомлений в определенное время. Подсистема УмТ_Уведомления.

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

Произвольные таблицы. Подсистема "УмТ_ОсновнойФункционал".

Как часто вам приходилось слышать: А можно я в отчете циферку введу и система мне отчет пересчитает, ну как в Excel’е? Можно мне табличку быстренько сделать, где будут данные, а я введу процентик и 1С мне сумму вознаграждения посчитает? Думаю, довольно часто. Ведение произвольных таблиц, которые могли бы получать свои данные из базы 1С, которые можно было бы редактировать интерактивно, сохранять и загружать – извечная мечта бухгалтера или финансиста. Данная подсистема – основная, в части своей функциональности, именно ее предназначение и дало название всему набору подсистем – Умные таблицы. Подсистема довольно сложна в понимании, но и задачи, которые она призвана решать тоже не простые: расчет бюджетов, ведение экспертной оценки, как суррогата фактических данных, при невозможности получить данные факта в текущем периоде бюджетирования, построение бюджетов на основании источников данных из базы 1С, закрытие экспертной оценки фактическими данными и применение коммерческой политики к бюджетной таблице. Подсистема предлагает несколько иную концепцию ведения бюджетных таблиц: тогда как обычно мы вносим документы, меняющие бюджет, вручную и настраиваем бюджеты только лишь в части цифр, не выходя за определенные рамки, в данной же подсистеме вы сами выбираете как будет выглядеть ваша бюджетная таблица, какие ее колонки вы будете менять, а всю работу по созданию нужных документов для отражения изменений в базе система возьмет на себя. Данный раздел заслуживает отдельного большого описания, которое будет опубликовано отдельными статьями позже.

Применение и хранение коммерческой политики. Подсистема "УмТ_КоммерческаяПолитика".

Основное предназначение подсистемы – хранение информации о коммерческой политике организации. Обычно основной сутью коммерческой политики является стимулирование продаж посредством возврата части от уплаченной контрагентом суммы. Максимальный процент возврата регламентируется законодательством и на текущий момент он равен 5% (в программе данное ограничение никак не регламентировано, система считает так, как вы ее настроили). Тем не менее, вы можете настроить систему на произвольный процент возврата и как-то обработать это при формировании документов на выплату. Данная подсистема только хранит коммерческую политику, применяет ее – основная подсистема.

Определение рабочих баз

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

Внешние хранилища данных

Основное предназначение данной подсистемы – хранение файлов и изображений во внешних СУБД. На текущий момент времени в подсистеме реализовано 2 интерфейса:

  1. ODBC – интерфейс доступа к СУБД SQL типа, таким как MS SQL или Postrge SQL.
  2. RESTHeart API (Документация доступна на сайте http://restheart.org) – RESTFul API, предоставляющий полноценный REST интерфейс к СУБД NoSQL типа – MongoDB.

При использовании данной подсистемы вы не храните данные в виде ХранилищеЗначения в реквизитах объектов метаданных, вы указываете в объекте ссылку на настройку внешнего хранилища и идентификатор, для поиска данных во внешнем хранилище, а подсистема, в зависимости от настроек, возвращает вам данные из внешней СУБД. Так же подсистема умеет очищать внешние хранилища от файлов, ссылки на которые были удалены из базы 1С.

Постобработка

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

  1. Регистрация изменений в объектах, за которыми следит подсистема, производится с помощью плана обмена УмТ_ИзмененныеОбъектыДляПостобработки. Регистрация изменений производится автоматически.
  2. С некоторой периодичностью запускается регламентное задание УмТ_ПостобработкаОбъектов, которое считывает изменения и по типу измененного объекта ищет соответствие в справочнике УмТ_СоответствиеОбъектаПостобработкиАлгоритму по наименованию.
  3. Если в справочнике не удалось найти нужный вид данных, то изменения в плане обмена по объекту очищаются.
  4. Если найти изменения удалось, то выполняется алгоритм, который указан в справочнике соответствия алгоритмов и типов данных. При этом в алгоритм передается ссылка на измененный объект с ключом «Ссылка». После этого алгоритм запускается на исполнение. Если, по завершению алгоритма, в параметрах ключ «ОтложитьИзменения» равен истине, то очистка регистрации изменений для данной ссылки не производится. Если ключа нет или он не равен истине, то производится очистка изменений.

Цель проекта

Коллеги, безусловно данная программа имеет ряд недостатков и ошибок, от этого не застрахован ни один проект. Есть известная шутка разработчиков: если вам удалось с первого раза без ошибок написать большую программу, обратитесь к системному программисту, чтобы он переписал компилятор. Безусловно, ошибки, которые будут найдены, будут исправляться не сразу, т.к. у автора есть основная работа. Но они будут исправляться, как только я пойму, что другие разработчики заинтересованы в этом проекте и помогут мне, выступив в роли бета-тестеров, довести этот продукт до коммерческой версии. Основная задача этого ролика – дать общее описание проблематики, с которой я сталкивался сам и понять, сталкивались с ней остальные, иными словами – прощупать рынок.

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

Сайт проекта доступен по этой ссылке - https://www.cltabs.ru, общаться, сообщать об ошибках, ругать и хвалить автора, можно на форуме проекта, т.к. на форуме это сделать несколько проще. Однако и в комментариях к данной публикации я постараюсь отвечать на вопросы. При регистрации на форуме, вступите в группу бета-тестеры в профиле, это даст вам доступ ко всем разделам форума. Самые активные бета-тестеры, в случае коммерческого успеха проекта, получат лицензии на год бесплатно. Тестовая (функционал не включает коммерческую политику и групповой расчет таблиц, а так же имеет ограничение на 5 активных сессий и срок использования до 27го августа) база прикреплена к данной публикации, как и инструкция пользователя.

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

Пример использования подсистемы УмТ_СтатусыОбъектов

Речь в данной статье пойдет о том, каким образом можно реализовать достаточно распространенную задачу ведения статусов объектов с помощью набора подсистем «Умные таблицы»  (далее – УмТ). В качестве примера мы возьмем типовую конфигурацию «Управление Торговлей 11» с внедренным в нее УмТ и, на примере документа «Возврат товаров поставщику», я покажу, как реализовать данную задачу за 15-20 минут.
Давайте для начала обрисуем задачу. Нам необходимо в некоторый ссылочный объект (справочник, документ, бизнес-процесс, задача) добавить некий атрибут его состояния. В зависимости от его текущего состояния объект может менять доступность, список состояний в которые его можно переводить, список уведомляемых лиц и запрашивать комментарий от пользователя при переводе объекта в новый статус. Так же нам необходимо иметь возможность смотреть историю состояний объекта. Для примера, рассмотрим граф с такой областью переходов:

Дуги и их направления показывают возможность перехода от статуса к статусу, изначальный статус, в который можно перевести документ – «Создан». Значки в виде конверта сигнализируют о том, что при переходе в данный статус нужно уведомить определенных пользователей, под значком указаны те, кого нужно уведомлять. Значок в виде листка с ручкой говорит о том, что необходимо запросить у пользователя комментарий. Доступность объекта по статусам приведена в следующей таблице:

Доступность объекта по статусам

Статус Все пользователи Руководство
Создан Да Да
В работе Да Да
На проверке Нет Да
Проверка контролером Нет Да
Утвержден Нет Да
Сдан в архив Нет Нет

Обычно такая задача решается несколько дней. Более того, многие из нас решали ее не один раз с разными небольшими вариациями. Сейчас я покажу, как решить такую задачу с использованием УмТ менее чем за полчаса.

Для примера возьмем типовую Управление торговлей 11 с внедренной в нее УмТ и настроим вышеописанную систему статусов для документа «Возврат товаров поставщику».

Первая часть наших изменений должна быть выполнена в Конфигураторе:

  1.  Добавим наш документ в переопределяемый тип УМТ_ТипыОбъектовСтатусов.
  2. В форму объекта добавим 2 реквизита:  КомментарийКСтатусу (Строка) и Статус (СправочникСсылка.УмТ_СтатусыОбъектов).
  3. Реквизит Статус перенесем на форму, укажем для него режим выбора из списка и определим для него 2 события: ПриИзменении и ПриОткрытии.
&НаКлиенте
Процедура СтатусПриИзменении(Элемент)
	УмТ_РаботаСоСтатусамиОбъектовКлиент.ПриСменеСтатуса(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура СтатусОткрытие(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка = Ложь;
	ТабДок = УмТ_РаботаСоСтатусамиОбъектовСервер.ПолучитьОтчетОбИсторииСтатусов(Объект.Ссылка);
	УмТ_ПереопределяемыйКлиент.НапечататьДокумент(ТабДок);
КонецПроцедуры

  1. Теперь нам нужно добавить интерфейсные вызовы подсистемы статусов в предопределенные обработчики событий формы:
    1. ПриСозданииНаСервере :
      УмТ_РаботаСоСтатусамиОбъектовСервер.ПередОткрытием(ЭтотОбъект);
      
    2. ПередЗаписью :
      УмТ_РаботаСоСтатусамиОбъектовКлиент.ПередЗаписью(ЭтотОбъект, Отказ);
      
    3. ПриЗаписиНаСервере :
      УмТ_РаботаСоСтатусамиОбъектовСервер.ПриЗаписи(ЭтотОбъект);
      

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

  1. Создаем список пользователей – Руководство, добавляя в него нужных нам лиц.
  2. Создаем группу справочника «Статусы объектов» - контейней для наших статусов, указав в качестве наименования наш документ. Статус по умолчанию пока оставляем пустым.
  3. Теперь последовательно создаем все статусы из нашего графа, указывая пока только наименования, все настройки оставляем пустыми.

  1. Возвращаемся в созданную группу и указываем наш начальный статус «Создан» как статус по умолчанию.
  2. Начинаем последовательно заполнять наши статусы:
    1. Создан: в параметры перехода добавляем «В работе».
    2. В работе: в параметры перехода добавляем «На проверке», в параметры уведомления строку «Менеджер».
    3. На проверке: в параметры доступа добавляем «Все пользователи, отключив доступ, и список пользователей Руководство, включив доступ, в параметры перехода – «В работе», «Проверка контролером», «Утвержден», в параметры уведомления – Руководство.
    4. Проверка контролером: ставим признак необходимости комментария,  в параметрах доступа Всем пользователям отключаем доступ, а Руководству – включаем, в параметры перехода добавляем «В работе» и «Утвержден».
    5. Утвержден: в параметрах доступа отключаем доступ Всем пользователям и даем доступ Руководству, в параметры перехода добавляем «Сдан в архив» и «В работе».
    6. Сдан в архив: в параметры доступа отключаем у Всех пользователей доступ, в параметры уведомления добавляем строку Менеджер и список пользователей Руководство.

На этом – все, система настроена и готова к эксплуатации.  На все манипуляции у нас ушло менее получаса!

Какие преимущества использования подсистемы:

  1. Настроив форму объекта в конфигураторе один раз, вы вольны менять параметры доступа, уведомления и области перехода при работающей системе.
  2. Вы сокращаете объем кода, который нужно писать, высвобождая свое время на другие задачи.
  3. Вы используете универсальный механизм, а не множество различных механизмов для разных объектов, что существенно упрощает поддержку системы.
  4. За счет широких возможностей интерактивной настройки системы вы можете оперативно реагировать на изменение бизнеса и перестраивать свою систему более оперативно.


Обновление 26 мая 2017 г. Релиз 0.3

  1. Из набора подсистем была исключена подсистема УмТ_Блокировки. Подсистема признана устаревшей, ее функционал заменен типовым.
  2. В основной подсистеме в справочнике УмТ_СценарииПоПодразделениям поле подразделение более не является обязательным, что позволяет собирать данные по всем организации без отбора по подразделению.
  3. В основной подсистеме при запуске мастера таблиц под правами обычного пользователя исправлена ошибка обработки данных лицензии.
  4. В подсистеме УмТ_Алгоритмы реализован механизм досрочного прерывания исполнения алгоритма посредством установки параметра _ЗавершитьВыполнение_.
  5. В подсистеме УмТ_СтатусыОбъектов исправлена ошибка в функции получения списков пользователя для определения доступности формы и необходимости уведомления при смене статуса.

Обновление 2 июля 2017 г. Релиз 0.4

  1. Добавлена подсистема «Определение рабочих баз». Ее предназначение — определять по строке соединения является ли текущая база рабочей или тестовой. Это поможет оградить от исполнения в тестовых базах бизнес-критичные части кода, которые должны выполняться только в рабочих базах.
  2. Добавлена подсистема «Внешние хранилища данных». Данная подсистема призвана хранить файлы во внешних СУБД. Для этого в ней реализовано 2 интерфейса:
    • ODBC — для хранения данных в СУБД для которых есть драйвер, реализующий API Microsoft ODBC. Например: Postgre SQL и MS SQL. Обе СУБД были проверены в ходе тестирования программы, результат — положителен.
    • RESTHeart API — RESTFul интерфейс для доступа к MongoDB, сайт проекта — http://restheart.org/. MongoDB — это СУБД NoSQL вида, она документоориентирована и имеет иную концепцию, но для хранения файлов во внешних базах подходит отменно.
  3. Внесены изменения в инструкцию пользователя.

Обновление 26 сентября 2017 г. Релиз 0.5

Добавлена подсистема "Постобработка". Ее предназначение выполнять произвольный код после изменения ссылочного объекта вне транзакции его изменения. Например, вы провели документ, часть его проводок необязательно делать в рамках транзакции проведения и расчет этих проводок может занять продолжительное время, а так же доступность этих проводок не обязательна сразу по факту проведения, тогда данная подсистема вполне подойдет. Она сохранит факт изменений в плане обмена и выполнит ассоциированный с данным типом данных алгоритм.

Обновление 24 ноября 2017 г. Релиз 0.5

  • В Мастер таблиц при работе с внутренней таблицей добавлены адаптированные индексы по Статье, Измерениям и Измерениям + Статья. Это существенно увеличивает скорость пересчета формул и статей на больших объемах таблиц (более 2000 строк).
  • Осуществлена глобальная проверка модулей. Исправлены найденные ошибки. Заменены модальные вызовы.
  • В форму ввода кода 1С добавлена возможность форматирования и выделения цветом ключевых слов.

Обновление 7 апреля 2018 г. 

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

64

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

Наименование Файл Версия Размер
Выгрузка демонстрационной базы набора подсистем "Умные таблицы"
.zip 1,27Mb
07.04.18
60
.zip 0.5 1,27Mb 60 Скачать
Инструкция пользователя
.pdf 2,87Mb
21.05.17
39
.pdf 0.5 2,87Mb 39 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. МимохожийОднако 129 24.05.17 07:35 Сейчас в теме
Это замена Excel и макросов?
2. Silenser 510 24.05.17 08:49 Сейчас в теме
(1) Нет. Полноценную замену Excel внутри 1С реализовать сложно, да и смысла нет: проще купить, если конечно не нужно этот функционал в веб тащить. Если брать основную подсистему, создающую произвольные таблицы, то ее основная особенность - возможность наполнения таблицы данными из базы, которые формируются на основании произвольных запросов. К каждой таблице можно прикрутить бантики в виде формул и группировок, так же некоторые колонки можно дать менять пользователям, таблица при этом будет пересчитываться. Изначально система создавалась под ведение бюджетных таблиц и в нее заложена некоторая парадигма, которую в 2х словах не опишешь, по бюджетам я сниму отдельные ролики. Я попытался максимально отвязать подсистему от первоначальной задачи, чтобы она была более универсальной и подходила для широкого круга задач. Например, для ведения простого сравнительного отчета план-факт, если по его результатам нужно выполнять некоторый расчет.
3. МимохожийОднако 129 24.05.17 11:08 Сейчас в теме
(2) Механизмы СКД здесь используются? Там тоже есть возможность настройки структуры отчета и выбора различных вариантов оформления
4. Silenser 510 24.05.17 13:22 Сейчас в теме
(3)Используются, но не в части представления данных, для этого в системе используется отдельный справочник. СКД используется только в части расчета статей таблиц (колонок таблицы).
5. rtnm 580 25.05.17 17:09 Сейчас в теме
Для того, чтобы этого не происходило, программисты могли сразу вызывать функцию Заблокировать() при открытии формы объекта, если вызов не удавался, потому, что объект уже был заблокирован, то форму открывали только для чтения. Теперь же, с переходом на управляемые блокировки, это стало невозможно, т.к. в таком режиме блокировок эта функция не работает


Пессимистические блокировки есть и в управляемых формах:
- ЗаблокироватьДанныеФормыДляРедактирования()
- ЗаблокироватьДанныеДляРедактирования(<Ключ>, <ВерсияДанных>, <ИдентификаторФормы>)
- РазблокироватьДанныеФормыДляРедактирования()
- РазблокироватьДанныеДляРедактирования(<Ключ>, <ИдентификаторФормы>)
Silenser; +1 Ответить
6. Silenser 510 25.05.17 20:28 Сейчас в теме
(5)Понятно, спасибо. Уберу эту подсистему, а блокировки справочников перепишу на типовые функции.
ПС: Печально даже не то, что я упустил и замечал эти функции несколько лет, а то, что многие вещи делал не совсем оптимально. Чтож, будем исправляться.
7. Silenser 510 03.06.17 23:16 Сейчас в теме
Добавлен пример использования подсистемы статусов объектов.
8. Silenser 510 02.07.17 22:19 Сейчас в теме
Добавлены подсистемы:
- определения рабочих баз на основе строки соединения,
- хранения файлов во внешних СУБД двумя способами: ODBC (MS SQL, Postgre SQL и т.п.) и RESTHeart (MongoDB)
9. user679689_redbull4561 13.09.17 14:39 Сейчас в теме
(8) Алексей, скажите в каком формате вы передаете в RESTHeart (MongoDB) файлы на пример pdf. преобразовываете его в текст?
а обратно наоборот
10. Silenser 510 14.09.17 11:42 Сейчас в теме
(9)Да, велосипед изобретать не стал.
11. user679689_redbull4561 14.09.17 12:28 Сейчас в теме
(10) можете не много подсказать
	Режим = РежимДиалогаВыбораФайла.Открытие;
	ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
	ДиалогОткрытияФайла.ПолноеИмяФайла = "";
	//Фильтр = НСтр("ru = 'Документ PDF'; en = 'PDF'")
	//    + "(*.pdf)|*.pdf";
	//ДиалогОткрытияФайла.Фильтр = Фильтр;
	ДиалогОткрытияФайла.МножественныйВыбор = ЛОЖЬ;
	ДиалогОткрытияФайла.Заголовок = "Выберите файл";
	Если ДиалогОткрытияФайла.Выбрать() Тогда
	    МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;
	    Для Каждого ИмяФайла Из МассивФайлов Цикл
	        ВыбФайл= Новый Файл(ИмяФайла);			
	    КонецЦикла;
	Иначе
		Возврат;
	    Предупреждение(НСтр("ru = 'Файл(ы) не выбран!'; en = 'File(s) not selected!'"));
	КонецЕсли;

	ИмяВременногоФайлаZIP = ВыбФайл.ПолноеИмя;
    ЗаголовокHTTP = Новый Соответствие(); 
    //ЗаголовокHTTP.Вставить("Content-Type", "multipart/form-data; boundary=My1cV8bNdr");
    ЗаголовокHTTP.Вставить("Authorization", "Basic " + ХэшАвторизации("admin1", "2wsx2wsx"));
	ЗаголовокHTTP.Вставить("Content-Type", "application/json");

    СодержимоеZIP = Base64Строка(Новый ДвоичныеДанные(ИмяВременногоФайлаZIP));
    ИмяФайлаОтправки = КаталогВременныхФайлов() + "upload.txt";
    ФайлОтправки = Новый ЗаписьТекста(ИмяФайлаОтправки, КодировкаТекста.ANSI);

    ФайлОтправки.ЗаписатьСтроку("--My1cV8bNdr");
    ФайлОтправки.ЗаписатьСтроку("Content-Disposition: json; name=""filezip""; filename=""" + ИмяВременногоФайлаZIP + """");
    ФайлОтправки.ЗаписатьСтроку("Content-Type: text/plain" + Символы.ВК + Символы.ПС);
    ФайлОтправки.ЗаписатьСтроку(СодержимоеZIP);
    ФайлОтправки.ЗаписатьСтроку("--My1cV8bNdr");
    
 
    ФайлОтправки.ЗаписатьСтроку("--My1cV8bNdr");
    ФайлОтправки.ЗаписатьСтроку("content-disposition: form-data; name=""mode""" + Символы.ВК + Символы.ПС);
    ФайлОтправки.ЗаписатьСтроку("post");
    ФайлОтправки.ЗаписатьСтроку("--My1cV8bNdr");
    ФайлОтправки.Закрыть();    

    Прокси = Новый ИнтернетПрокси;
    Прокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
    АдресСкрипта = "/FileBase/FileTable/" + Заявка.Ссылка.УникальныйИдентификатор();
	СерверПриемник =  "127.0.0.1";
	
	HTTPСоединение = Новый HTTPСоединение(СерверПриемник, 8080, "admin1", "2wsx2wsx",,	10);
 	HTTPЗапрос = Новый HTTPЗапрос("/FileBase/FileTable/" + Заявка.Ссылка.УникальныйИдентификатор() + "?id_type=STRING", ЗаголовокHTTP);
	
	
	ИмяФайлаОтвета = ПолучитьимяВременногоФайла("txt");
	Ответ = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос,ИмяФайлаОтвета);
Показать


После выполнения процедуры файл ответа содержит такую информацию.
"{"http status code":405,"http status description":"Method Not Allowed","message":"mentod POST not allowed","_links":{"self":{"href":"/FileBase/FileTable/82a5ccfd-8a3c-11e7-811f-002590fc8137"}}}"

Или может я вообще не правильно передаю файл?
Прикрепленные файлы:
12. Silenser 510 14.09.17 16:42 Сейчас в теме
(11)Для передачи файла я использовал другой метод - УстановитьТелоИзСтроки, и сейчас точно не помню почему, но я использовал метод PUT.
HTTPЗапрос 	= Новый HTTPЗапрос(БазоваяСтрока, ЗаголовокЗапроса);
		Данные 		= Новый ДвоичныеДанные(парПутьКФайлу);
		врСоотв 	= Новый Соответствие;
		врСоотв.Вставить(СтрВХ.СтолбецРазделителяСУБД, СтрВХ.ИмяБазы1С);
		врСоотв.Вставить(СтрВХ.СтолбецДатыОбновленияСУБД, ТекущаяДата());
		врСоотв.Вставить(СтрВХ.СтолбецФайлаСУБД, Base64Строка(Данные));
		врСоотв.Вставить("desc", парПутьКФайлу);
		
		ЗаписьJSON.УстановитьСтроку();
		ЗаписатьJSON(ЗаписьJSON, врСоотв);
		врСтр = ЗаписьJSON.Закрыть();
		HTTPЗапрос.УстановитьТелоИзСтроки(врСтр);
		
		Ответ 		= Соединение.ВызватьHTTPМетод("PUT", HTTPЗапрос);
Показать
user679689_redbull4561; +1 Ответить
13. user679689_redbull4561 15.09.17 07:22 Сейчас в теме
14. user679689_redbull4561 15.09.17 08:29 Сейчас в теме
(12)

врСоотв = Новый Соответствие;
врСоотв.Вставить(СтрВХ.СтолбецРазделителяСУБД, СтрВХ.ИмяБазы1С);
врСоотв.Вставить(СтрВХ.СтолбецДатыОбновленияСУБД, ТекущаяДата());
врСоотв.Вставить(СтрВХ.СтолбецФайлаСУБД, Base64Строка(Данные));
врСоотв.Вставить("desc", парПутьКФайлу);



Поясни немного

что хранит в себе структура "СтрВХ"?
Я так понял это структура внеш. хранилища?
Можешь расшифровать?
15. Silenser 510 15.09.17 11:40 Сейчас в теме
(14)Да, это структура, которую нужно записать в коллекцию. Ключ соответствия - это название поля, а значение соответствия - значение, которое нужно положить во внешнюю базу. ИД файла, по которому идентифицируется запись идет в адресе самого запроса PUT перед "?id_type=STRING".
17. user679689_redbull4561 15.09.17 12:00 Сейчас в теме
(15)Может с заголовками беда?
16. user679689_redbull4561 15.09.17 11:58 Сейчас в теме
Соединение 	= Новый HTTPСоединение("localhost", 8080, "admin1", "2wsx2wsx",,	60);
	ЧтениеJSON = Новый ЧтениеJSON;
	ЗаписьJSON = Новый ЗаписьJSON; //http://localhost
	ЗаголовокЗапроса = Новый Соответствие;
	ЗаголовокЗапроса.Вставить("Content-Type", "application/json; charset=utf-8");
	ЗаголовокЗапроса.Вставить("Authorization", "Basic " + ХэшАвторизации("admin1", "2wsx2wsx"));
	
	парПутьКФайлу = "C:\Data\ObmenMongo\dsfs.png";
    
	HTTPЗапрос     = Новый HTTPЗапрос("/FileBaseDB/FileTable/" + Заявка.Ссылка.УникальныйИдентификатор() + "?id_type=STRING", ЗаголовокЗапроса);
    Данные         = Новый ДвоичныеДанные(парПутьКФайлу);
    врСоотв     = Новый Соответствие;
    //врСоотв.Вставить("Base", "1CBase");
    //врСоотв.Вставить("Date", ТекущаяДата());
    врСоотв.Вставить("File", Base64Строка(Данные));
    //врСоотв.Вставить("desc", парПутьКФайлу);
    
    ЗаписьJSON.УстановитьСтроку();
    ЗаписатьJSON(ЗаписьJSON, врСоотв);
    врСтр = ЗаписьJSON.Закрыть();
    HTTPЗапрос.УстановитьТелоИзСтроки(врСтр);
    
    Ответ         = Соединение.ВызватьHTTPМетод("PUT", HTTPЗапрос);
Показать


Сделал вот такое простенький код возвращает код состояния 406 из-за чего может быть?

Так же добавлял заголовок
ЗаголовокЗапроса.Вставить("Content-Length", 66000);


С ним выходит ошибка 400
18. Silenser 510 15.09.17 13:05 Сейчас в теме
(16) Проверьте, чтобы Заявка.Ссылка.УникальныйИдентификатор() возвращала нормальную строку. Так же нужно смотреть структуру базы и файлы настройки REST Heart, может у admin1 нет доступа к сервису. Вы пользователя как создавали? Через Робомонго или командой? Лучше командой, Робомонго их как-то неверно создает.
19. user679689_redbull4561 15.09.17 14:29 Сейчас в теме
(18) Создавал командой через Shell

Файлы файлы настройки REST Heart настраивал с помощью вашей статьи http://1c-soft.it-terminal.ru/public/642927/

Заявка.Ссылка.УникальныйИдентификатор() в каком плане нормальная? возвращается стандартный набор символом в переменной заявка содержится документ к которому будет привязан файл.


По коду критичных ошибок нету? и проблема скорей всего в настройка сервера?


Добавил файл ответа. в нем такое содержание.

{"_exceptions":[{"exception":"org.bson.json.JsonParseException","exception message":"Invalid JSON input. Position: 6. Character: '\ufeff'."}],"http status code":406,"http status description":"Not Acceptable","message":"Invalid JSON"}
Прикрепленные файлы:
20. Silenser 510 15.09.17 16:14 Сейчас в теме
(19)
в каком плане нормальная?
На выходе там объект УникальныйИдентификатор, я имел ввиду, что нормально ли он в строку переводится. По скрину вижу, что нормально.
По коду проблем не вижу, похоже на то, что делал я. Структура базы нужная, соответствует REST запросу? (база, коллекция с правильными наименованиями). Пользователь админ базы?
21. user679689_redbull4561 17.09.17 10:30 Сейчас в теме
Смотри вот такая структура, пользователь есть. Фигня какая то.(
Прикрепленные файлы:
22. Silenser 510 19.09.17 13:22 Сейчас в теме
(21)Это в корневой базе, а в FileBase? Разверните группы.
23. user679689_redbull4561 19.09.17 17:01 Сейчас в теме
(22)Вот таблицы в FileBaseDB
А user тут разве нужен пользователь?

Отчет возвращает 406 ошибку
А как гласит великая Википедия ошибка
406 Not Acceptable — запрошенный URI не может удовлетворить переданным в заголовке характеристикам. Если метод был не HEAD, то сервер должен вернуть список допустимых характеристик для данного ресурса. Появился в HTTP/1.1.

Может все таки заголовки не правильные?
Какие указывали в своем коде?
Прикрепленные файлы:
24. Silenser 510 20.09.17 11:26 Сейчас в теме
(23)Я почему спрашиваю, потому что сам долго мучался с правами. Заголовок такой же, как и на сайте RESTHeart, ИмяБазы\ИмяКоллекции\ИД
СтрШаблон("/%1/%2/%3?id_type=STRING", СтрВХ.ИмяБазыСУБД, СтрВХ.ИмяТаблицыСУБД, парУникальныйИдентификаторФайла)

В моем случае это работало. Но и СУБД и REST сервер запускались локально.
Если у вас уж совсем ничего не получится, напишите, поставлю все заново и проверю (а то уже снес монгу за ненадобностью). Как вариант, скачайте эту конфу, вытащите из нее подсистему работы с внешними хранилищами и попробуйте мой код. Сам я в Mongo профан, разбирался по книжке и методом научного тыка.
25. user679689_redbull4561 21.09.17 10:13 Сейчас в теме
(24)
Но и СУБД и REST сервер запускались локально.

Тоже локально запускаю.


(24)
Как вариант, скачайте эту конфу, вытащите из нее подсистему работы с внешними хранилищами и попробуйте мой код. Сам я в Mongo профан, разбирался по книжке и методом научного тыка.

к сожалению нету монет(
Если только куда нибудь её зальете буду очень благодарен.
26. Silenser 510 21.09.17 14:06 Сейчас в теме
(25)Поскольку продукт бесплатный, то есть его копия на сайте проекта.
32. teratekco 14.05.19 18:21 Сейчас в теме
33. Silenser 510 15.05.19 09:26 Сейчас в теме
(32)Нету, т.к. сайта больше нет.
27. user679689_redbull4561 28.09.17 09:25 Сейчас в теме
Александр, Вообщем понял почему не работает.
Режим совместимости стоял 8.2.13 в нем не корректно работает метод "ВызватьHTTPМетод"
повысил до 8.3.7 все отлично работает.

Но словил ошибки по самой конфе связанные с тем что изменил режим, кое что отвалилось))

Может знаешь чем можно заменить метод для работы в режиме 8.2.13?
28. Silenser 510 28.09.17 13:17 Сейчас в теме
(27)Не в курсе. Но 8.2 все же довольно старая платформа, рекомендую обновиться.
29. user679689_redbull4561 28.09.17 14:28 Сейчас в теме
(28) Да это понятно стоит более новая платформа стоит, в КА 1.1 режим совместимости стоит с 8.2.13 ) Ладно спасибо большое за помощь)
30. anig99 2702 17.05.18 01:06 Сейчас в теме
Спасибо огромное! Очень помогла подсистема хранения во внешней базе!
31. Silenser 510 17.05.18 17:59 Сейчас в теме
Оставьте свое сообщение

См. также

CF & SQL : конструктор прямых запросов к БД 1С 144

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия MS SQL Абонемент ($m) Инструментарий разработчика Администрирование СУБД

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

1 стартмани

02.10.2019    5299    104    dmitrydemenew    29       

Конвейер проверки качества кода 122

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования Математика и алгоритмы Разработка

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    6092    11    Stepa86    35       

Просмотр и анализ структуры базы данных (отчет на СКД) 103

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

5 стартмани

24.07.2019    6253    80    YPermitin    25       

Модель объекта 7

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    3426    1    vadim1980    0       

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD 138

Инструменты и обработки Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика Jenkins

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    10819    1    ripreal1    86       

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером 193

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

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

1 стартмани

13.05.2019    17074    93    Diversus    38       

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

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

2 стартмани

05.05.2019    7536    66    sapervodichka    23       

Расширение "Быстрая проверка кода" для конфигурации 1С:Автоматизированная проверка конфигураций 92

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

Расширение для конфигурации "1С:Автоматизированная проверка конфигураций", позволяющее проверять произвольный код.

1 стартмани

26.03.2019    10126    42    Bazil    25       

Настройка отладки на сервере 1С 93

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для настройки отладки на сервере, включение отладки COM-соединений и отладки Web-сервисов.

1 стартмани

26.03.2019    11642    49    frkbvfnjh    32       

Методика оптимизации программного кода 1С: проведение документов 84

Инструменты и обработки Программист Архив с данными v8 v8::УФ Абонемент ($m) Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    14934    13    dmitrydemenew    83       

Отчет по подпискам на события 83

Отчеты и формы Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

18.02.2019    5205    44    tomvlad    8       

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

Инструменты и обработки Программист Пользователь Архив с данными v8 v8::УФ Россия Windows Абонемент ($m) Пользователю системы Инструментарий разработчика

Прототип дружелюбного и эффективного инструмента для написания пользовательских экспресс-инструкций. Задействована штатная утилита Windows, о существовании которой многие не знают и которая умеет делать огромную работу по логированию действий и снятию скриншотов на всех ПК с Windows (начиная с версии Win7). "Инструктор" не требует никакой установки и дополнительных библиотек! Это означает, что инструмент будет работать и на домашнем ПК и на "чужом ноутбуке" и на терминальном win-сервере у заказчика, где ваши права сильно ограничены. Вы просто подключаете легкую файловую базу 1С и получаете инструмент по снятию скриншотов с интересной функциональностью...

1 стартмани

15.02.2019    7209    37    ROM_NN    8       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 532

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    27982    264    bonv    109       

Редактор объектов информационной базы 8.3 40

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРОбъектУпр) для редактирования реквизитов и табличных частей объектов информационной базы, редактирование движений документов. Доступ ко всем реквизитам объектов, есть возможность выгрузки и загрузки данных (объекты и движения документов) через XML. Платформа 8.3, управляемые формы. Версия 1.1.0.31 от 02.10.2019

2 стартмани

23.01.2019    10303    143    ROL32    24       

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) 174

Инструменты и обработки Программист Архив с данными v8 v8::Mobile БУ УУ Android Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Абонемент ($m) Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    22628    223    informa1555    172       

Управление задачами в 1С - готовая подсистема с открытым кодом и широким базовым функционалом. Версия 1.0.6 93

Инструменты и обработки no Архив с данными v8 Абонемент ($m) Инструментарий разработчика Управление бизнес-процессами (BPM) Управление проектом

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

2 стартмани

17.12.2018    10735    73    for_sale    36       

Навигатор по конфигурации базы 1С 8.3 106

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика Универсальные обработки

Универсальная внешняя обработка (СДРНавигаторУпр) для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Небольшой набор сервисных функций для повседневной работы. Для программистов и пользователей. Платформа 8.3, управляемые формы. Версия 1.1.0.45 от 08.11.2019

3 стартмани

28.10.2018    16813    196    ROL32    47       

Go. Разбор лога технологического журнала. Достойная альтернатива perl'у 85

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Сервисные утилиты Инструментарий разработчика

Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в "кроличью нору" ....

1 стартмани

24.10.2018    10890    4    lazarenko    39       

HTTP Сервисы: Путь к своему сервису. Часть 4 102

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 3». В предыдущих частях мы уже о многом поговорили. В этой части поговорим про размер сообщений, о файлах, о порциях и немножко, о регламентах.

1 стартмани

28.09.2018    13517    15    dsdred    11       

Консоль Внедренца v.3.4 116

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы.

1 стартмани

27.08.2018    10559    244    evvakra    27       

HTTP Сервисы: Путь к своему сервису. Часть 3 134

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    16559    32    dsdred    13       

HTTP Сервисы: Путь к своему сервису. Часть 2 120

Статья Системный администратор Программист Расширение (cfe) v8 1cv8.cf ERP2 УТ11 КА2 Абонемент ($m) Инструментарий разработчика Практика программирования

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 1». В этой части будет "Микс" из OData+HTTP-Сервис(Get)+СКД. Наш пример будет работать как в браузере, так и в написанной нами обработке. Работать будем с разными версиями платформ.

1 стартмани

13.08.2018    17842    17    dsdred    0       

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

Инструменты и обработки Программист Бизнес-аналитик Приложение (apk) v8 Windows Абонемент ($m) Инструментарий разработчика Практика программирования

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

5 стартмани

09.08.2018    15974    23    informa1555    26       

Расширение для БСП 3.0 - Хранение файлов во внешней СУБД (MS SQL) 10

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

Данное расширение есть пример реализации механизма хранения файлов во внешней СУБД, расширение совместимо с типовой конфигурацией БСП (Библиотека Стандартных Подсистем) 3.0.1.220, версия платформы 8.3.12, режим совместимости не используется. Основа программного кода была взята из ранее написанного набора подсистем Умные таблицы.

2 стартмани

07.08.2018    4490    7    Silenser    0       

Консоль HTTP-запросов с генерацией кода 165

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Консоль запросов

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    15587    219    leongl    15       

Работа со схемой запроса 176

Статья Программист Конфигурация (md, cf) v8 v8::Запросы Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

24.04.2018    28818    74    kalyaka    34       

Тестирование: пример создания сценарного UI теста для платформы 1С 88

Статья Программист Архив с данными v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать сценарный UI-тест. Опишем последовательность действий и покажем, как это сделать с использованием инструментария. Рассмотрим пример, максимально приближенный к боевому, покажем на примере конфигураций УТ11/ERP проверку бизнес-процесса "Продажа". Вы сможете убедиться, что создание сценарных тестов для платформы 1С на самом деле относительно быстрый и простой процесс.

1 стартмани

17.04.2018    14322    36    ivanov660    11       

Регистры правил [Расширение] 14

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 v8::Права УТ11 Абонемент ($m) Инструментарий разработчика Информационная безопасность

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

10 стартмани

15.03.2018    11113    28    33lab    0       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 106

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    20499    2    kraynev-navi    40       

Универсальный генератор отчетов СКД (Управляемые формы, тонкий клиент) 77

Отчеты и формы Программист Внешний отчет (ert,erf) v8 v8::УФ v8::СКД 1cv8.cf Россия Windows Абонемент ($m) Инструментарий разработчика

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

3 стартмани

20.11.2017    16995    199    Boneman    17       

Программное формирование форматированной строки в стиле html+inline CSS 53

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    20184    25    bonv    6       

Макет в СКД - пример всех возможных типовых вариантов 95

Инструменты и обработки Программист Архив с данными v8 v8::СКД 1cv8.cf Абонемент ($m) Практика программирования Инструментарий разработчика

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    17066    79    freelancer    4       

Полезный код для программистов 1С (часть 1). Управление свойствами элементов формы. Хранение копии данных реквизитов 142

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

У каждого программиста за время работы накапливается полезный инструментарий, которым он привык пользоваться. Естественно и у меня он тоже имеется. И вот решено было немного поделиться с сообществом. Возможно идеи не новые. Более того, допускаю, что реализованы они не самым оптимальным образом. Но ведь для этого сообщество и существует, чтобы делиться с ним, получая обратную связь.

1 стартмани

24.09.2017    32424    17    vandalsvq    79       

Тестирование: пример из семи шагов создания Unit-теста для платформы 1С 104

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Абонемент ($m) Инструментарий разработчика

В этой статье мы расскажем, как создать Unit-тест. Опишем как это сделать с использованием Фреймворка xUnitFor1C. Рассмотрим пример максимально приближенный к боевому, покажем процесс отладки теста, поделимся советами и приложим несколько обработок-примеров. Вы сможете убедиться, что создание тестов на самом деле это относительно быстрый и простой процесс.

1 стартмани

29.08.2017    22540    17    ivanov660    46       

"Исследователь" планировщика 1С 80

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика

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

1 стартмани

10.08.2017    22660    110    new_user    32       

Редактор встроенного языка на управляемой форме 63

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Инструментарий разработчика

Вариант решения проблемы редактирования текста (раскрашивание текста) на управляемой форме так же, как и во встроенном редакторе кода 1С.

1 стартмани

31.07.2017    14228    66    Pistolierro    23       

Экспертная оценка: учет отложенных расходов в бюджете 6

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

Статья предлагает методику учета фактических расходов организации в бюджете в том случае, когда документы подтверждающие стоимость этих расходов приходят в организацию с запозданием (документы от транспортных компаний) или порциями (документы от железной дороги). Это не попытка описать что-то каноническое, не описание Best Practice, а попытка решить одну из проблем, с которой мне пришлось столкнуться при автоматизации бюджетирования и построении бюджетных таблиц в паре компаний, где я работал, ну и приглашение к дискуссии, разумеется ;) Статья не имеет отношения к бюджетированию в УПП, БИТ Финанс или другим методикам бюджетирования.

21.07.2017    9223    Silenser    41       

1С и MongoDB: дружба начинается с RESTHeart'а 44

Статья Программист Архив с данными v8 Windows Абонемент ($m) Внешние источники данных

Краткое описание того, как подружить MongoDB и 1С: Предприятие используя один из предлагаемых на официальном сайте RESTFul сервисов - RESTHeart.

1 стартмани

03.07.2017    37002    6    Silenser    8       

Трансформатор 1С - SQL 235

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    27721    321    Synoecium    47       

OneStyle. Улучшенное форматирование кода в конфигураторе 120

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

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

1 стартмани

19.06.2017    18289    24    Stepa86    45       

"Конвертация данных" + Git. Решение проблемы различий в файлах 112

Инструменты и обработки Программист Конфигурация (md, cf) v8 КД Абонемент ($m) Инструментарий разработчика Обмен через XML

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

1 стартмани

08.06.2017    17131    32    stas_ganiev    13       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    18205    144    Bassgood    10       

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений 181

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования

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

1 стартмани

13.03.2017    23158    112    romasna    47       

Добавляем http-ссылки на самописную систему учета задач 87

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования

Захотелось мне, чтобы в удаленном git репозитории можно было указывать ссылки на задачи и переходить по ним. Но не очень хотелось тратить на это много времени.

1 стартмани

09.02.2017    15854    5    Stepa86    22       

1С: Gitter 1.1 (Хранилище 1С => Git) 115

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика

Развитие проекта gitter http://infostart.ru/public/273126/ . Позволяет выгружать хранилище 1С в репозиторий GIT.

1 стартмани

01.02.2017    20070    41    Stepa86    20       

Анализ сложности обновлений 8.3 87

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП3.0 Россия Абонемент ($m) Инструментарий разработчика

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

2 стартмани

23.01.2017    10496    72    PavelLapin    26       

Сценарное тестирование в помощь программисту 1С 186

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика

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

1 стартмани

11.11.2016    22795    63    grumagargler    47       

Отладка/доработка модуля менеджера "на лету" 90

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    23661    19    json    22       

Несколько шаблонов для доработки типовых конфигураций 174

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Практика программирования Инструментарий разработчика

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

1 стартмани

03.10.2016    28511    102    json    25       

Управление задачами: Канбан доска 244

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Инструментарий разработчика БСП (Библиотека стандартных подсистем)

Конфигурация "Управление задачами" с использованием БСП. Канбан доска. Открытый код.Загрузка изменений из хранилища конфигураций 1С и связь с задачами. Проект выложен на github (ссылка в публикации). Управляемые формы. Рассылка уведомлений.

1 стартмани

02.10.2016    49459    474    BlizD    286