Black Friday: Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU

О Unit-тестах замолвите слово. Часть 2

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

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

Unit-тесты

28
Пара практических примеров написания Unit-тестах с использованием фреймворка Vanessa-ADD.

Подготовка

Тесты будем писать с использованием фреймворка Vanessa-ADD.

Самый простой путь к его установке - менеджер пакетов OneScript. Скачать его можно тут: http://oscript.io/.

После того как будет установлен OneScript нам будет достаточно открыть командную строку и выполнить:

opm install add

После выполнения команды в папке с библиотеками OneScript (C:\Program Files (x86)\OneScript\Lib\) появится папка add. В ней будут лежать компоненты фреймворка Vanessa-Add.

Нас прежде всего интересуют файлы, относящиеся к части xUnit (фреймворк для Unit-тестирования):

  • Внешняя обработка xddTestRunner.epf - обработка для запуска Unit-тестов
  • Набор плагинов, который располагается в папке add/plugins

Подробнее о запуске тестов и использовании плагинов можно почитать в документации тут.

Организация хранения тестов и состав набора тестов

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

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

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

-- модуль менеджера/модуль объекта либо функциональная область

Например, такая структура файлов и папок:
- Документ.Заказ клиента

-- Тест_ЗаказКлиентаОбъект.epf

-- Тест_ЗаказКлиентаМенеджер.epf

Каждая внешняя обработка состоит из следующих частей:

Инструментарий

В основном в тестах мы будем использовать следующие плагины:

  • ТекучиеУтверждения - плагин предоставляющий методы для проверки утверждений
// Пример проверки значения
// Ожидаем - плагин ТекучиеУтверждениея
// Что() - передаем плагину значение для проверки
// Равно() - вызываем процедуру сравнения переданного значения с эталоном
Ожидаем.Что(ПроверямоеЗначение).Равно(1);

// Пример проверки метода
// Что() - передаем плагину расположения проверяемого метода
// Метод() - передаем плагину имя метода и его параметры
// ВыбрасываетИсключение() - провермя, что метод выбросил определенное исключение
Ожидаем.Что(ОбщийМодуль).Метод(ИмяМетода).ВыбрасываетИсключение("Наше исключение");
  • Данные - плагин для генерации данных, необходимых для теста

// Данные - плагин
// НачатьСоздание() - Объявляем какой объект нужно создать Справочник, Документ, Набор записей регистра накопления  или сведений
// Реквизит() - объявляем, что у нашего объекта будет заполнен реквизит определенным значением
// ШапкаТабличнойЧасти() - объявляем, что у создаваемого объекта будет заполнены табличная часть и некоторые из её колонок
// СтрокаТЧ() - описываем какими именно значениями будет заполнена строка табличной части
// Создать() - завершаем создание объекта, по умолчанию объект записывается в базу и возвращается ссылка на него
Данные.НачатьСоздание("Документ.ДокументСДвижениями")
	.Реквизит("РеквизитПростойСправочник")
	.ШапкаТабличнойЧасти("ТЧ","Реквизит1", "РесурсЧисло")
		.СтрокаТЧ("Элемент1", 10)
		.СтрокаТЧ("Элемент2", 15).Создать();

Более подробно о плагинах можно прочитать на страницах документации.

К сожалению не для всех плагинов есть документация, но в них можно легко разобраться, открыв сами плагины в каталоге add/plugins =)

Пример теста: Распределение значений по базе

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

Рассмотрим пример проверки функции распределения:

	// Создадим тестовые подразделения первичных затрат
	Подразделение1 = Данные.СоздатьЭлементСправочника("СтруктураПредприятия");
	Подразделение2 = Данные.СоздатьЭлементСправочника("СтруктураПредприятия");
	
	// Тут мы подготавливаем описание колонок таблиц, которые будут передваться нашей функции
	Колонка_АналитикаДоходовРасходов = Данные.ОписаниеКолонкиТЧ("АналитикаДоходовРасходов", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"));
	Колонка_Ресурс1 = Данные.ОписаниеКолонкиТЧ("Ресурс1", Новый ОписаниеТипов("Число"));
	Колонка_Ресурс2 = Данные.ОписаниеКолонкиТЧ("Ресурс2", Новый ОписаниеТипов("Число"));
	Колонка_АналитикаРасходов = Данные.ОписаниеКолонкиТЧ("АналитикаРасходов", Новый ОписаниеТипов("СправочникСсылка.СтруктураПредприятия"));
	Колонка_Коэффициеннт = Данные.ОписаниеКолонкиТЧ("Коэффициент", Новый ОписаниеТипов("Число"));

	// Создадим тестовые подразделения, на которые необходимо распределить затраты
	ПодразделениеРаспределения3 = Данные.СоздатьЭлементСправочника("СтруктураПредприятия");
	ПодразделениеРаспределения4 = Данные.СоздатьЭлементСправочника("СтруктураПредприятия");
	
	// Формируем таблицу первоначальных затрат
	ИсходнаяТаблица = Данные.НачатьСоздание("ТаблицаЗначений")	
		.ШапкаТабличнойЧасти(, Колонка_АналитикаДоходовРасходов, Колонка_Ресурс1, Колонка_Ресурс2)
		.СтрокаТЧ(Подразделение1, 10, 10)
		.СтрокаТЧ(Подразделение2, 20, 10).Создать();
	 
	// Формируем таблицу коэффициентов
	ТаблицаКоэффицентов = Данные.НачатьСоздание("ТаблицаЗначений")	
		.ШапкаТабличнойЧасти(, Колонка_АналитикаРасходов, Колонка_Коэффициеннт)
		.СтрокаТЧ(ПодразделениеРаспределения3, 0.4)  
		.СтрокаТЧ(ПодразделениеРаспределения4, 0.6).Создать(); 

	// Формируем таблицу эталон, для проверки результата работы функции
	Эталон = Данные.НачатьСоздание("ТаблицаЗначений")	
		.ШапкаТабличнойЧасти(, Колонка_АналитикаДоходовРасходов, Колонка_Ресурс1, Колонка_Ресурс2, "АналитикаДоходовРасходовИсточник")
		.СтрокаТЧ(ПодразделениеРаспределения3, 4, 4, Подразделение1)
		.СтрокаТЧ(ПодразделениеРаспределения4, 6, 6, Подразделение1)
		.СтрокаТЧ(ПодразделениеРаспределения3, 8, 4, Подразделение2)
		.СтрокаТЧ(ПодразделениеРаспределения4, 12, 6, Подразделение2).Создать();
	

	// Выполняем функцию
	Справочники.ИсточникиДанныхБюджета.РаспределитьПоКоэффициентам(ИсходнаяТаблица, ТаблицаКоэффицентов);

	// Сравниваем эталон и результат работы нашей функции
	СравнениеТаблиц.ПроверитьРавенствоТаблиц(Эталон, ИсходнаяТаблица);

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

Пример теста: разбор информации об обновлениях мобильного приложения

На складе компании используется приложение на мобильной платформе 1С. Из-за политики безопасности мы не можем распространять обновления через GooglePlay. Поэтому мы написали приложение, которое проверяет наличие обновлений на сервере (сравнение версии установленного приложения с настройками, хранящимися на сервере) и устанавливает обновление, если оно есть. 

Мы рассмотрим тест на разбор файла настроек, которые загружаются с сервера:


Процедура Тест_ЧтениеИнформациисСервера_НесколькоНастроек() Экспорт
	
		
	Настройка = ШаблонНастройки("version_несколько_настроек");

    // Процедура читает файл переданной настройки и заполняет справочник "Конфигурации" 
	ОбновлениеКонфигурацийВызовСервера.ЗагрузитьОписаниеВерсийССервера(Настройка, Ложь);	
	
    // Проверяем, что настройка прочитана корректно
	ЗагруженнаяНастройка = Справочники.Конфигурации.НайтиПоНаименованию("ru.yarvet.mw");
	Ожидаем.Что(ЗагруженнаяНастройка.ИмяФайлаОбновления).Равно("тест")
		.Что(ЗагруженнаяНастройка.ВерсияСервера).Равно("2.1.0");
	
	ЗагруженнаяНастройка = Справочники.Конфигурации.НайтиПоНаименованию("ru.yarvet.launcher");
	Ожидаем.Что(ЗагруженнаяНастройка.ИмяФайлаОбновления).Равно("тест2")
		.Что(ЗагруженнаяНастройка.ВерсияСервера).Равно("1.1.0");
	
КонецПроцедуры

// Функция возвращает путь до файла с тетсовой настройки
Функция ШаблонНастройки(Настройка)

    // ИспользуемоеИмяФайла - путь до обработки теста, стандартный реквзит внешней обработки
	ОписаниеТеста = Новый Файл(ИспользуемоеИмяФайла);	
	Возврат ОписаниеТеста.Путь + ПолучитьРазделительПути() + Настройка+".json";

КонецФункции 

Собственно сам файл настройки выглядит так:

[
    {
        "application": "ru.yarvet.mw",
        "version":"2.1.0",
        "updateFile":"тест"
    },
    {
        "application": "ru.yarvet.launcher",
        "version":"1.1.0",
        "updateFile":"тест2"
    }
]

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

P.S.

Рассуждение о том, в каких случаях лучше писать unit-тесты было тут.

28

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

Наименование Файл Версия Размер
Шаблон обработки для написания Unit-теста
.epf 5,12Kb
15.08.19
0
.epf 5,12Kb Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. artbear 1164 22.07.19 15:45 Сейчас в теме
(0) Хорошая статья, живые примеры!

Спасибо!
2. artbear 1164 22.07.19 15:45 Сейчас в теме
мелкая опечатка бросилась в глаза

>путь до файла с тетсовой настройки
3. artbear 1164 22.07.19 15:58 Сейчас в теме
(0) В примере теста Тест_ЧтениеИнформациисСервера_НесколькоНастроек() не видно, что проверяемые данные (Спр.Конфигурации) предварительно очищены. Без этой очистки боевой код может переиспользовать существующие элементы :(

Для примера это неважно, а вот в разработке важно.
4. Сурикат 275 22.07.19 18:44 Сейчас в теме
(3) Спасибо, за замечание =)

В других случаях можно делать параметризуемые шаблоны и формировать наименование случайным образом во избежании проблем с совпадением данных =)
5. ImHunter 163 23.07.19 10:00 Сейчас в теме
Не видел, чтобы кто-то упоминал про расширения, создаваемые в помощь тестированию.
А ведь это круто - расшаривать приватные методы в специальном расширении и писать авто-тесты для того, что скрыто за кадром.
artbear; Сурикат; +2 Ответить
6. Сурикат 275 23.07.19 11:14 Сейчас в теме
(5)
Очень здоровский комментарий! Спасибо!

Еще ведь можно заменять вызов каких-то процедур, например обращение к файловой системе или выполнение сложного запроса с помощью расширения
8. artbear 1164 23.07.19 11:51 Сейчас в теме
(6)Да, расширения и для мокирования вполне удобно использовать, давно об этом думаю.
7. artbear 1164 23.07.19 11:50 Сейчас в теме
(5) Писать тесты для приватных методов - это зло.

если вдруг появилась такая потребность, подумайте, возможно, АПИ системы немного неверно :) и стоит его доработать.

Но идея с расширениями, конечно, полезная и уже есть примеры реализаций.
9. ImHunter 163 23.07.19 11:58 Сейчас в теме
(7) Да ладно - зло:))

Как протестировать работу какого-то достаточно сложного метода? Правильно! Написать интеграционный тест!
Но блин, в 50% случаев, нужно потратить на это кучу времени. А если приватные составляющие не протестированы - можно ведь и вообще надолго залипнуть.

В общем-то, я тоже сначала размышлял - заниматься ли таким хаком. Практика показала, что так спокойнее процесс проходит.
12. artbear 1164 23.07.19 12:16 Сейчас в теме
(9) А может быть, не делать сложные методы ? :)

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

как раз и получится и чистый ТДД по отдельным модулям/классам.
13. ImHunter 163 23.07.19 12:28 Сейчас в теме
(12) Не всегда ведь нужно публиковать составляющие какого-то метода. Ибо нефиг.
А так, пользуясь хаком, "приколачиваю" внутреннее поведение к заданным паттернам. Если кто-то что-то переделает - будет детальная картина, где сломались механизмы.
10. ImHunter 163 23.07.19 12:02 Сейчас в теме
И еще трюк:) Иногда пишу самотестируемые внешки.

Т.е., это целевая функциональная внешка. В ней еще дописан интерфейс для xUnit/ADD.
11. artbear 1164 23.07.19 12:12 Сейчас в теме
(10) я с этого начинал много лет назад. По ТДД создавал тесты и код в одной обработке.

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

так легче и разрабатывать, и сопровождать.

приходится придумывать и реализовывать более точное АПИ.
14. for_sale 808 28.07.19 16:14 Сейчас в теме
Очень хорошая статья, большое спасибо!
Вопрос - можно ли где-то со всем этим функционалом ознакомиться более детально?
Ведь для данных примеров просто взяты некоторые функции, но их там, по идее, в разы больше. Где-то (кроме сурскода) можно почитать описание возможностей? Плагины, инициализация и т.п.
15. Сурикат 275 28.07.19 21:22 Сейчас в теме
(14)

https://github.com/silverbulleters/add/tree/master/doc/xdd - для части плагинов есть описание. Для части только читать исходники =(

Также можно поизучать тесты на модули - https://github.com/silverbulleters/add/tree/master/tests/xunit/Plugins. Тесты даже лучше, чем документация =)
for_sale; +1 Ответить
16. for_sale 808 29.07.19 16:20 Сейчас в теме
(15)
Спасибо за ссылки! По поводу документации - давно присматриваюсь и к АДД, и к ВА, первое время просто не мог поверить, что такие титанические труды не имеют никакой официальной документации!
17. artbear 1164 29.07.19 18:14 Сейчас в теме
(16) Документация есть, но, конечно, ее очень не хватает.
Кодить мы все любим, а с документацией не дружим.
18. artbear 1164 29.07.19 18:16 Сейчас в теме
По Vanessa-ADD есть уже немало статей.
И здесь на Инфостарте есть цикл статей,
и в документации на гитхабе Vanessa-ADD https://github.com/silverbulleters/add/blob/master/doc/README.mdе сть первые же ссылки - "почитать статьи, посмотреть видео"
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

02.10.2019    6351    110    dmitrydemenew    30       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

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

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

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

3 стартмани

04.09.2019    7244    13    Stepa86    37       

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

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

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

5 стартмани

24.07.2019    8351    92    YPermitin    25       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

О Unit-тестах замолвите слово.Часть 1 23

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

Последнее время в контексте 1С очень много говорят о функциональном тестировании, BDD. А Unit-тестирование обходят стороной. Попробуем разобраться, для чего Unit-тестирование применять стоит.

22.07.2019    3050    Сурикат    27       

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

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

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

1 стартмани

30.06.2019    4156    1    vadim1980    0       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

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

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

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

1 стартмани

03.06.2019    11615    1    ripreal1    86       

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

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

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

1 стартмани

13.05.2019    18121    93    Diversus    38       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

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

Инструменты и обработки Программист Внешняя обработка (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    8149    70    sapervodichka    23       

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

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

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

1 стартмани

26.03.2019    10801    42    Bazil    25       

Cashback 35% при покупке 1С лицензий на счет INFOSTART.RU с 27.11 по 04.12 Промо

Оформляете заказ на 1С лицензии или конфигурации. Получаете 35% от стоимости на счет в профиле INFOSTART.RU. Выбираете сервисы и продукты на сумму кэшбэка.

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

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

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

1 стартмани

26.03.2019    12647    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    15456    13    dmitrydemenew    83       

1С:Предприятие через Интернет. 1С:Fresh Промо

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

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

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

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

1 стартмани

18.02.2019    5555    44    tomvlad    8       

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

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

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

1 стартмани

15.02.2019    7732    37    ROM_NN    8       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

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

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

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

1 стартмани

31.01.2019    30522    273    bonv    116       

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

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

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

2 стартмани

23.01.2019    11521    153    ROL32    28       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

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

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

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

5 стартмани

09.01.2019    24464    225    informa1555    174       

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

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

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

2 стартмани

17.12.2018    11403    82    for_sale    38       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

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

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

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

3 стартмани

28.10.2018    18077    198    ROL32    47       

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

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

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

1 стартмани

24.10.2018    11780    4    lazarenko    39       

Перенос данных БП 2.0 => УТ 11 / КА 2 / ERP 2 (перенос остатков, документов и справочников из "1С:Бухгалтерия предприятия 8", ред. 2.0 в "1С:Управление торговлей 8", ред.11 / КА 2 / ERP 2). Обновлено до УТ 11.4.10.х, КА 2.4.10.х, ERP 2.4.10.х! Промо

Перенос позволяет загрузить в УТ 11 / КА 2 / ERP 2 документы за выбранный период, справочную информацию и остатки по счетам бух. учета. Переносятся остатки денежных средств, взаиморасчетов, остатки товаров и материалов на складах. Переносятся девятнадцать основных видов документов за выбранный период и вся нормативно-справочная информация. Есть фильтр по организации. Если нужно переносить что-то дополнительно, то обычно бесплатно дорабатываю правила (перед покупкой согласуйте необходимые доработки).

29700 руб.

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

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

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

1 стартмани

28.09.2018    14379    17    dsdred    12       

Пользовательское определение языка 1С для Notepad++ и пример использования списка функций для навигации под свои нужды 66

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

Позволяет редактировать bsl-модули (или просто текст из буфера обмена, как на скриншоте) с традиционной для 1С подсветкой синтаксиса. Рисует список функций слева в 3-х вариантах: 1. Просто список функций 2. Список функций с группировкой по областям 3. Список вызовов 4. Язык запросов

1 стартмани

10.09.2018    7922    43    albert.goncharov    23       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Консоль Внедренца v.3.5 126

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

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

1 стартмани

27.08.2018    11687    263    evvakra    32       

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

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

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

1 стартмани

27.08.2018    17949    32    dsdred    13       

Вакансия Программист, аналитик, эксперт 1С Промо

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

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

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

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

1 стартмани

13.08.2018    18956    20    dsdred    0       

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

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

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

5 стартмани

09.08.2018    16918    23    informa1555    26