Тестирование (внешняя обработка)

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

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

57
Тестирование - это поиск ошибок. Однако 1С в этом плане практически не предоставляет никаких инструментов.

Искал долго что-то, что помогло бы ответить на вопрос: "То что я делаю работает верно?", но все решения меня чем-то, да не устраивали. Я даже почти нашел на этом сайте то что искал, но... Мне потребовалось что-то доработать, я залез в код и волосы встали "дыбом". В итоге я написал свой инструмент. Не менее кривой :) но более мне понятный (расширяемый).

Возможности:

1. Создание справочников.

2. Создание документов.

3. Проверка документа.

4. Проверка форм.

5. Установка/Проверка констант.

6. Добавление записей в регистр сведений.

7. Выполнение произвольного кода.

8. Выполнение произвольного запроса.

9. Выполнение произвольного скрипта JScript/VBScript.

10. Выполнение запроса к базе данных.

11. Выгрузка ветвей дерева теста в файл.

12. Выгрузка теста в файл.

13. Добавление теста в дерево тестов из файла.

14. Добавление ветви тестов в дерево тестов из файла.

15. Запуск тестов в автоматическом режиме (/execute/С)

Если кому-то мао функционала:

1. Изменяем макет о программе (добавляем себя как автора изменений) - мое лицензинонное требование.

2. Добавляем форму с обязательными реквизитами:

1. Параметры

2. ПараметрыТестов

и Функциями (Процедурами):

Процедура КнопкаВыполнитьНажатие(Кнопка)

// Вставить содержимое обработчика.

СтруктураТеста = СоздатьСтруктуру();

Если МодальныйРежим Тогда 

Закрыть(СтруктураТеста);

Иначе

СтрокаТеста.Описание = СтруктураТеста.Описание;

СтрокаТеста.Тест = ЗначениеВСтрокуВнутр(СтруктураТеста);

Закрыть(СтруктураТеста);

КонецЕсли;

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

Функция СоздатьСтруктуру()
Тест = Новый Структура;
Тест.Вставить("Описание", ЭлементыФормы.ПТДОписание.ПолучитьТекст());
Тест.Вставить("Параметры", Параметры);
Тест.Вставить("ФормаРедактирования", "Уникальное название формы");
Возврат Тест;
КонецФункции
Процедура ЗаполнитьИзСтруктуры(Тест) Экспорт
Если Тест.Свойство("Описание") Тогда
ЭлементыФормы.ПТДОписание.УстановитьТекст(Тест.Описание);
КонецЕсли;


Если Тест.Свойство("Параметры") Тогда
Параметры = Тест.Параметры;
КонецЕсли;

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

В основной форме, добавляем открытие формы. 

Процедура ТестыПередНачаломИзменения...
 			СписокВыбора.Добавить(ПолучитьФорму("Уникальное название формы"),"Уникальное название формы",,КартинкаVBS);

И в модуле обработки добавляем обработку в функцию ВыполнитьТест.

Кратко о том, что такое алгоритмы: 

Есть таблица с тремя колонками: "Имя", "Тип"(Px,Qx,Fx), "Текст". 
Есть функция: ВыполнитьКод(Имя, Параметры) - возвращающая массив Результаты 

У функции три модели поведения в зависимости от типа (Px,Qx,Fx) текста, проименованного в колонке "Имя". 

Функция по имени (переменная №1 переданная в функцию) отбирает строки таблицы и последовательно их выполняет. 

Если тип Qx то выполняется запрос и в Результаты добавляется результат запроса (при этом Параметры пытаются передаться как "Параметры запроса") 

Если тип Px то Выполняется Текст и ничего не добавляется. 

Если тип Fx то Текст вычисляется а в массив добавляется результат вычислений. 

17.03.2011 Добавлены транзакции

18.03.2011

Изменения:

1. Добавлены возможности прикрепления к тестам файлов

2. Добавлены возможности сравнения файлов

Интерфейс работы и сравнения с файлов:

Функция ПолучитьФайлыПоИмени(Имя) Экспорт

Возвращает массив двоичных данных из таблицы файлов, где имя совподает с "Имя"

Функция ПолучитьФайлПоID(ID) Экспорт

Возвращает ДвоичныеДанные по ID.

Функция СравнитьДанные(Источник, Приемник, СпособСравнения = Неопределено, ПараметрыСравнения = Неопределено)

Возвращает результат сравнения (истина/ложь) файлов.

Параметры:

-Источник/Приемник:

-Тип: Строка или ДвоичныеДанные

Описание:

Если тип строка, то функция проверяет существование файла, если его нет ищет в табице файлов по ID.

Если ДвоичныеДанные, то сохроняет на диск

-Способ сравнения:

СпособСравненияФайлов по умолчанию: СпособСравненияФайлов.Двоичное

- ПараметрыСравнения

-Тип Структура

ИгнорироватьПустоеПространство

УчитыватьРазделителиСтрок

УчитыватьРегистр

По умолчанию все свойства структуры Ложь

Обновлена до версии 0.98.1

Отличия от версии 0.98

  1. Добавлена возможность создания релиза. Меню: Утилиты - Создание релиза.
  2. Добавлена новая форма тестирования форм. Она позволяет выполнить заранее определенный код на языке 1С. В коде доступны объекты:
    1. ТекущаяФорма
    2. ЭлементыФормы
    3. ГлобальныеПараметры
    4. Алгоритмы
    5. Файлы
57

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

Наименование Файл Версия Размер
Тестирование.epf
.epf 189,26Kb
19.09.16
447
.epf 189,26Kb 447 Скачать
Пример теста
.epf 158,84Kb
19.09.16
88
.epf 158,84Kb 88 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. detec 129 15.03.11 18:50 Сейчас в теме
2. afedorov 116 15.03.11 22:31 Сейчас в теме
- При нажатии кнопки "Сохранить и закрыть" в форме записи нового документа ошибка:
{Форма.Документ_Запись.Форма(183)}: Значение не является значением объектного типа (Родитель)
Вычислять = ?(ТекущиеДанные.Родитель = Неопределено, ТекущиеДанные.Вычислять,ТекущиеДанные.Родитель.Вычислять);
Документ созданый по умолчанию конфигуратором.
- В форме записи нового справочника поле описания "скукожено".
- В большинстве форм заголовки не совсем правильные.

Хорошо, что для 8.2. Еще бы управляемые формы.
4. awk 694 16.03.11 09:06 Сейчас в теме
(2) Исправил:
- При нажатии кнопки "Сохранить и закрыть" в форме записи нового документа ошибка:
{Форма.Документ_Запись.Форма(183)}: Значение не является значением объектного типа (Родитель)
Вычислять = ?(ТекущиеДанные.Родитель = Неопределено, ТекущиеДанные.Вычислять,ТекущиеДанные.Родитель.Вычислять);
Документ созданый по умолчанию конфигуратором.
- В форме записи нового справочника поле описания "скукожено".

А про:
- В большинстве форм заголовки не совсем правильные.
Можно поподробнее?
afedorov; +1 Ответить
5. afedorov 116 16.03.11 10:29 Сейчас в теме
(4) Например, для формы Справочник_Запись, Документ_Запись, Документ_ПроверкаРеквизитов, заголовок "Обработка Шаблонное тестирование".
Заголовок "Обработка Запрос к базе" подходит по смыслу к Форма_SQL, но помоему не к Форма_Запроса и Форма_VBS.
12. awk 694 16.03.11 12:25 Сейчас в теме
(5) Исправлю, но с низким приоритетом.
(6) Спасибо, посмотрю.
(7) К сожалению, сейчас спонсируется (оплачивается мне лично) только разработка на 8.2 найдется спонсор - буду писать под 8.1 и т.д.
(8)
1. Со временем в планах (время правда дефицит).
2. То есть нужно добавить: "Уровень детализации отчета" - думал над этим, но руки пока не дошли. Сделаю с высоким приоритетом.
(9) Подчистка пока идет на уровне самих тестов. Хотя добавить процедуры ПередВыполнениемТестирования, ПередВыполнениемТеста, ПослеВыполненияТеста, ПослеВыполненияТестов - мысль хорошая. НачатьТранзакцию(), ЗафиксироватьТранзакцию(), ОтменитьТранзакцию() вставлять можно туда будет.
(10) По алгоритмам я расписал в справке.
Но кратко о том что это:

Есть таблица с тремя колонками: "Имя", "Тип"(Px,Qx,Fx), "Текст".
Есть функция: ВыполнитьКод(Имя, Параметры) - возвращающая массив Результаты

У функции три модели поведения в зависимости от типа (Px,Qx,Fx) текста, проименованного в колонке "Имя".

Функция по имени (переменная №1 переданная в функцию) отбирает строки таблицы и последовательно их выполняет.

Если тип Qx то выполняется запрос и в Результаты добавляется результат запроса (при этом Параметры пытаются передаться как "Параметры запроса")

Если тип Px то Выполняется Текст и ничего не добавляется.

Если тип Fx то Текст вычисляется а в массив добавляется результат вычислений.


(10) При записи отчет сохраняется вместе с тестом. Между тестами можно передавать данные через переменную ГлобальныеПараметры. И сравнивать соответственно. Что бы зафиксировать ошибку достаточно выполнить ДобавитьОшибку("Описание", "Подробное описание", Расшифровка).

Сохранить так же можно ЗначениеВФайл.

Или что-то более конкретное имеется ввиду?
3. awk 694 16.03.11 00:08 Сейчас в теме
Есть на управляемых, но не обработка, а проект, может выложу (если от специфики написания очищу). Ошибки подправлю - выложу новую версию (за сообщения отдельное спасибо).
6. artbear 1171 16.03.11 11:13 Сейчас в теме
Для тестировщиков рекомендую посмотреть систему чистого юнит-тестирования SnowTest
http://www.1cpp.ru/forum/YaBB.pl?num=1267016427/0
fez в Рарусе ее активно юзает
7. artbear 1171 16.03.11 11:19 Сейчас в теме
(0) Жаль, конечно, что код для 8.2, на 8.1 еще немало народу работает :(
8. artbear 1171 16.03.11 11:28 Сейчас в теме
(0) 1. Предлагаю сделать какой-нибудь файл с набором универсальных тестов, не зависящих от конфигурации.
ИМХО это удобно для демонстрации работы обработки.
2. Тестированием занимаюсь давно и в 77 и в 8.0/8.1/8.2, из опыта знаю, что неудобно выдавать данные прохождения тестов по всем тестам.
Если все тесты прошли, достаточно вывести зеленую полосу или просто написать ОК.
Если не все тесты прошли, инфу нужно показывать только по непрошедшим тестам.
Любое другое решение просто будет показывать абсолютно ненужную подробную инфу.
Максимум, что еще можно позволить - показать общее количество тестов и количество прошедших тестов.
9. artbear 1171 16.03.11 11:38 Сейчас в теме
(0) Не обозначена инфа о выполнении кода в транзакции или без нее.
Выполнение кода теста в транзакции, которая по завершении теста откатывается обратно, удобно юзать для автоматической и простой очистки данных, которые меняет тест.
Тест сам должен подчищать данные или это сделает обработка-браузер тестов ?
10. artbear 1171 16.03.11 11:43 Сейчас в теме
(0) 1. По Алгоритмам непонятен тип Px,Qx и т.д.
Поясни, что это означает?
2. Есть ли возможность сохранять ожидания тестов и сверять их при выполнение тестов
11. artbear 1171 16.03.11 12:16 Сейчас в теме
(0) Сравнение данных теста с заранее сохраненными тестовыми данными очень удобно.
Например, я использую эту фичу на своей системе тестирования (сильно устаревшей, конечно) для тестирования печатных форм объектов, данных информационной базы (вдруг задним числом важные данные исправили), при разработке правил конвертации и переноса данных и т.п.
Без этой фичи придется в КАЖДОМ тесте вручную решать вопрос хранения тестовых данных, с которыми сравниваем работу теста.
13. CheBurator 3404 16.03.11 12:26 Сейчас в теме
Поясните, плиз, неграмотному в тестировании - каким образом вообще происходит генерация эталонных данных и сравнение результата с эталоном?
14. artbear 1171 16.03.11 15:22 Сейчас в теме
(13) В сабже, похоже, этого в чистом виде нет.
А ведь это очень важная задача. в (11) я привел примеры использования.
(12) 1. ИМХО было бы очень удобно автоматически хранить ожидаемые данные теста в данных самого теста и при выполнении сверять ожидаемые данные и данные теста. Это можно сделать спец.параметров в данных теста.
В этом случае твоя обработка сможет решать сразу 2 задачи - и юнит-тестирование в чистом виде, и тестирование/сравнение с образцом.
2. По отмене транзакций ИМХО самый простой вариант - это добавить доп.параметр типа ИспользоватьТранзакцию, по умолчанию он включен.
Т.е. если он задан, тест выполняется в транзакции и затем транзакция отменяется. А специальные тесты могут убирать этот флаг и самим выполнять нужный вариант.
Но нужно подумать, что делать с вложенными тестами, т.к. вложенные транзакции не поддерживаются :(
15. awk 694 16.03.11 15:58 Сейчас в теме
(14)

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

Пример(не из головы):

Мне нужно проверить, что в результате импорта пользователю присылается письмо с ответом.
В текущем варианте это делается:

1. Создаем тест генерирующий входные данные.
2. Создаем тест который вызывает обработку импорта данных.
3. Создаем тест проверяющий почтовый ящик.

+ 0. тесты установки значений по умолчанию.

1.1 Хранить ожидаемые данные теста в данных самого теста - не вариант, а вот именованные двоичные данные - это идея. Их в любом тесте можно преобразовать в таблицу, структуру и т.д., а алгоритм преобразования занести в алгоритмы. Как наберется пара алгоритмов, можно внести в обработку. (Это мое мнение, готов обсудить, т.к. результат теста понятие очень размытое).


2. Я сначала хотел включить флаг: "Выполнять в транзакции", но не стал, так как посчитал, что проще добавить обработчики ПередЗаписью ПослеЗаписи, где можно если нужно поставить НачатьТранзакцию(); ОтменитьТранзакцию(); Есть мысль, флаг "Выполнять в транзакции" добавить к каждому тесту и верхний уровень перекроет нижний. Но надо подумать, пока решаю вопрос с "уровнем сообщений для вывода в отчет" + рефакторинг.
16. artbear 1171 16.03.11 18:05 Сейчас в теме
(15) 2. По транзакции - из моего опыта я знаю, что 95% тестов удобнее делать с автотранзакцией, и только оставшие 5% можно делать с собственной обработкой транзакции и чисткой данных.
Например, при тестирования серверного кода на 8.1 транзакции уже не помогут :)
Если заставить тестировщика КАЖДЫЙ раз прописывать условие ввода транзакций, это будет очень неудобно и пользователь будет часто забывать это делать :)
1. А как сделать тест, генерирующий данные? это и будет основная сложность.
НАМНОГО проще каким-то образом добавить к тесту эталон в любом виде - хоть таблица, хоть двоичные данные, и уже этот эталон сравнивать с результатом.
Опять же из своего опыта - мной юзается всего 2 вида тестов - юнит-тесты (чистые тесты с подготовкой данных, выполнением над ними неких действий, проверки и очистка данных) (юзаю SnowTest) и функциональные тесты(сравнение с эталоном) (юзаю свою сильно устаревшую систему FuncTest.v8 (есть в профиле) - наследника от FuncTest для 77)
У тебя юнит-тесты вполне можно организовать, а вот сравнение с эталоном пока ОЧЕНЬ НЕУДОБНО :( т.е. в реальной работе тестировщика использовать обработку будет трудновато :(
17. awk 694 16.03.11 18:59 Сейчас в теме
(16) Тогда план развития, в порядке реализации:
1. Заголовки (3) третье замечание
2. Транзакции ??? Надо ответить на вопрос "Быть или не быть?": "Транзакция на тест" или "Транзакция на тесты".
3. Сравнение с эталоном.
3.1 Добавление двоичных данных в тест.
3.2 Прикрутить обработку "Сравнение данных" (она может сравнивать две таблицы и результат в скд выводить, а таблицы можно ввести вручную или из источника (SQL, 1C запрос, Запрос к внешней базе 1С, 1С Код));
4???
20. artbear 1171 17.03.11 17:24 Сейчас в теме
(17) 1. По заголовкам не понял. в (3) вроде ничего не говорится, только об ошибках
несложно ИМХО
2. Транзакции - преимущество имеют транзакции у группы тестов
чуть сложнее
3. Эталон обязательно нужен.
Самое сложное

ИМХО, решив 2 и 3, закроем большинство потребностей в тестировании !
21. awk 694 17.03.11 17:32 Сейчас в теме
(20)
- В большинстве форм заголовки не совсем правильные.
Действительно - не сложно. Подправил, но пока не выложил.
2. Транзакции - преимущество имеют транзакции у группы тестов
чуть сложнее
Просто, так что в ближайшее время.

Третье да сложно, но есть наработки в отдельном отчете.
23. artbear 1171 18.03.11 09:02 Сейчас в теме
(21) Как только добавишь сравнение с эталоном, я могу встроить в твою обработку готовый код/форму
1. для тестирования внешних печатных форм.
правда, придется менять конфу, иначе отловишь показ табличного документа :(
Но ИМХО это того стоит.

2. для тестирования подготовленных произвольных отчетов
В модуле отчета должны быть служебные методы, с помощью которых могут быть получены данные отчета.
Интерфейс у меня давно разработан и используется в моем Functest.v8

Очень удобно юзать при разработке и доработке отчетов и печатных форм.
24. awk 694 18.03.11 17:50 Сейчас в теме
25. artbear 1171 23.03.11 16:17 Сейчас в теме
(24) Пока некогда смотреть, работы навалилось. В субботу посмотрю.
18. lustin 17.03.11 10:13 Сейчас в теме
artbear пишет:

Для тестировщиков рекомендую посмотреть систему чистого юнит-тестирования SnowTest

http://www.1cpp.ru/forum/YaBB.pl?num=1267016427/0

fez в Рарусе ее активно юзает


ОФФ: вроде ж не в Рарусе, а в Яндексе.
19. artbear 1171 17.03.11 17:21 Сейчас в теме
(18) Упс, конечно, Яндекс :) Откуда взялся Рарус??
22. support 4456 18.03.11 08:16 Сейчас в теме
Перспективный проект! Даешь юнит тесты для конфигураций.
26. romansun 190 23.03.11 16:23 Сейчас в теме
8.2 - чорт, чорт, чорт... )))

awk пишет:
К сожалению, сейчас спонсируется (оплачивается мне лично) только разработка на 8.2 найдется спонсор - буду писать под 8.1 и т.д.


Мда, даунгрэйд уже как-то нелогичен, наверное, будет. Но так хотелось бы...


А что по поводу стандартной 1С-ной тестировочной конфигурации? Её юзает народ, какие впечатления?
27. romansun 190 23.03.11 16:53 Сейчас в теме
По теме:

Функция ПолучитьИмяФайла(ФайлЗначение) может пересечься с типовой глобальной функцией, в случае если на соответствующем общем модуле установлена галка "Глобальный".

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

Не критично, но возможно имеет смысл переименовать функцию
28. awk 694 23.03.11 18:29 Сейчас в теме
(27) Спасибо, Надо себе на заметку кинуть - рефакторинг (префиксы).
(26)
1. Ответ почему не 8.1 в комменте (12).
2. Да был опыт, но как-то не очень понравилась. Как проверка того, что изменения не внесли в старый функционал ошибки - отлично. Но создать произвольный эталон для сравнения - сложновато. Да и цена 35 000 (для простых смертных). 35 000 Стоит Test Complete 8, правда на 1С его сложно натравить, но если функционал сравнивать, то он в разы превосходит 1С Сценарное тестирование.
29. romansun 190 23.03.11 19:24 Сейчас в теме
(28)

у нас есть сценарное тестирование, велосипедики на иконках там супер, ага :)

Таки да - сложно, сложно и сложно. Съедает очень много времени выделенного человека.
Чуть изменилась структура базы - тесты посыпались, изменилась форма элемента - тесты посыпались. Хорошо работает, когда ничего не меняется )). Но только зачем тогда тестировать?

Сравнение с эталоном помогает протестить всю цепочку. К примеру, рождение, жизнь и смерть основного средства. В картинках. Но набивание и отладка такого теста - ого-го по времени :(.

Но тестировать надо, поэтому смотрю вот какие есть еще варианты для 1С..
30. awk 694 23.03.11 22:03 Сейчас в теме
(29) А какая версия? У меня была 1.2.3.4, но вроде как сейчас 2.х.х.х.
31. afedorov 116 24.03.11 11:21 Сейчас в теме
(29) Если для 8.1, то можете попробовать мою обработку "Шаблонное тестирование", которую можно найти на этом сайте. Там есть сравнение с эталоном, и его просто создавать или изменять.
32. romansun 190 24.03.11 18:50 Сейчас в теме
ага, спасибо, обязательно гляну.
33. Nur 20.09.11 15:11 Сейчас в теме
34. s_ryabov 28.09.11 09:41 Сейчас в теме
35. KliMich 18.05.12 22:16 Сейчас в теме
36. boggonzikov 390 01.08.12 11:30 Сейчас в теме
Где посмотреть пример?.
В файлах "Пример теста", качается Тестирование.epf
37. awk 694 01.08.12 17:00 Сейчас в теме
(36) boggonzikov, Раньше это был пример. Сейчас не знаю где взять.
38. Serg O. 181 05.12.16 12:52 Сейчас в теме
в типах значений... почему то нет типа СписокЗначений
Оставьте свое сообщение

См. также

Вам нравятся запросы в 1С?
14

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

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    12641    1    m-rv    79       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

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

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

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

1 стартмани

30.06.2019    5430    1    vadim1980    3       

Безопасная работа с транзакциями во встроенном языке
192

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    19637    8    tormozit    44       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

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

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

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

2 стартмани

23.01.2019    13659    169    ROL32    28       

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

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

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

5 стартмани

09.01.2019    28038    231    informa1555    198       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

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

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

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

3 стартмани

28.10.2018    19890    207    ROL32    62       

Работа с публикациями "Инфостарт"
15

Инструменты и обработки Программист Архив с данными v8 УУ Абонемент ($m) Практика программирования О сообществе WEB

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    11755    12    RocKeR_13    16       

Перенос данных УТ 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 руб.

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

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

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

5 стартмани

09.08.2018    18510    23    informa1555    26       

Работа с данными выбора
44

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

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

1 стартмани

17.07.2018    26887    15    kalyaka    16       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 17 февраля по 13 марта 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар")
105

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

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    21868    86    m-rv    57       

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному
244

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования БСП (Библиотека стандартных подсистем)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    31764    30    dsdred    36       

Базовый курс по разработке мобильных 1C-приложений для Android-устройств. Третий поток. Онлайн-интенсив с 11 февраля по 05 марта 2020 г. Промо

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

7500 рублей

Как выполнить отчет на СКД через COM и получить данные отчета?
86

Статья Программист Архив с данными v8 УПП1 Россия Windows Абонемент ($m) Практика программирования

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    19990    10    wowik    3       

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

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

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

1 стартмани

24.04.2018    31991    77    kalyaka    34       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

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

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

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

10 стартмани

15.03.2018    12468    28    33lab    0       

Заполняем по шаблону (по умолчанию)
70

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

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

1 стартмани

08.02.2018    19678    20    mvxyz    17       

Открыто голосование за доклады на INFOSTART MEETUP Krasnodar Промо

Выбирайте и голосуйте за самые интересные доклады, лучшие из них попадут в окончательную программу митапа. Голосование продлится до 30 января 2020 года.

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов
125

Статья Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    27593    63    rpgshnik    48       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула
9

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

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    26356    25    agent00mouse    0       

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

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

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП
26

Инструменты и обработки Программист Расширение (cfe) v8 БП3.0 Абонемент ($m) Практика программирования Универсальные печатные формы

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    20397    52    kwazi    6       

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

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

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

1 стартмани

18.11.2017    22424    27    bonv    6       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Расширения конфигураций 1С: учимся перехватывать методы
117

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

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

1 стартмани

30.05.2017    93950    14    signum2009    45       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов
179

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    41514    168    DarkAn    86       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.12.х и УТ 11.4.11.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

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

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

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

1 стартмани

22.05.2017    26451    99    Silenser    33       

Простой способ индексирования интервалов
185

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

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

1 стартмани

28.09.2016    34087    39    ildarovich    22       

Базовый курс для начинающих 1С-программистов. Пятый поток. Онлайн-курс с 12 февраля по 15 апреля 2020 г. Промо

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

4500/9500 рублей

Конструктор-тестер http запросов в 1С
216

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

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

3 стартмани

19.08.2016    35941    302    hlopik    16       

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут
61

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 Windows Абонемент ($m) Практика программирования

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    40575    35    Demanoidos    60