Основы тестирования доработок

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

Разработка - Математика и алгоритмы

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

Во вложении находится документ Word, в нем приведен краткий курс к тестированию принимаемой доработки.

 

Тестирование доработок

15 августа

2012

Описание приемов тестирования частых ошибок

    

     

 


 

Оглавление

1. Факторы, определяющие сценарий тестирования

 2. Совокупности ошибок и их признаки

 3. Подготовка к тестированию 

 4. Разбиение доработки на блоки проверки

 5. Сценарии тестирования доработок

 5.1 Проверка алгоритмов расчета

 5.2 Проверка соответствию приложениям технического задания

 5.3 Проверка объектов метаданных, использованных разработчиком

 5.3.1 Справочник

 5.3.2 Независимый регистр сведений

 5.3.3 Документ

 5.3.4 Отчет

 5.3.5 Обработка

 6. Проверка быстродействия

  

Факторы, определяющие сценарий тестирования

Сценарий тестирования доработки определяется следующей совокупностью факторов:

  1. Алгоритмами расчета
  2. Соответствием приложениям технического задания
  3. Набором объектов метаданных, использованных разработчиком
  4. Быстродействием и отсутствием избыточных блокировок

Совокупности ошибок и их признаки

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

 

Подготовка к тестированию

Что входит в подготовку тестирования доработки

  1. Обязательно клиент-серверная база данных для тестирования доработок
  2. Подтверждение от разработчика о реализации последней версии доработки в базе данных
  3. Список объектов метаданных, использованных в доработке разработчиком
  4. Распечатанный экземпляр технического задания
  5. Тестирование под фокус-пользователем

Разбиение доработки на блоки проверки

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

Сценарии тестирования доработок

Теперь более подробно рассмотрим сценарии тестирования доработок, определяющиеся выше описанными факторами. Ниже будут приведены принципы тестирования и описаны некоторые приемы проверки доработки.

Проверка алгоритмов расчета

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

Выглядят такие таблицы примерно так:

Шаг / Переменная

Комментарий к шагу

Параметр1

Параметр2

...

ПараметрN

Начальные даннные

Инициализация параметров

 

 

 

 

Шаг 1

Расчет параметра X1

 

 

 

 

....

 

 

 

 

 

Шаг i

Расчет параметра Xi

 

 

 

 

.....

 

 

 

 

 

Шаг m:

Расчет параметра Xm

 

 

 

 

Итоговые данные

Выводимые в форму данные

 

 

 

 

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

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

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

 

Частые ошибки:

Ошибка

Комментарий по проверке

1

Деление на ноль

Ввести в систему нулевые данные, являющиеся делителем в формулах

2

Погрешность вычислений

Ввести минимальные, средние и максимальные значения вычислений. Таким образом, чтобы они давали небольшой результат вычислений или слишком большой результат вычислений. Проверяется в этом случае общий итог по табличной части, и верное отображение в строке данных в числовых колонках. Например в колонке "Сумма" в 1С не будет отображаться значение 0,004. В колонке количество не будет отображаться значение 0,0004.

3

Неверная формула

Ввести таблицу трассировки и проверить расчеты

4

Использование недопустимых значений

Если значение переменных формулы должны быть только положительные или только отрицательные, или входить в интервал от А до Б и т.п.. То нужно проверить на значения не входящие в область определения. Например, если 0 < Коэффициент

 

Проверка соответствию приложениям технического задания

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

Частые ошибки:

Ошибка

Комментарий по проверке

1

Не соблюдены шрифты

Если это критично, то выводиться печатная форма. Выделяется ячейка и по кнопке свойства проверяются шрифты.

2

Не соблюден состав и названия колонок

 

3

Не соблюден состав блоков печатной формы

 

 

Проверка объектов метаданных, использованных разработчиком

                Опишем каждый объект и этапы его проверки

Справочник

Действие по проверке

Комментарий по проверке

1

Открытие в интерфейсе с набором ролей фокус-пользователя

Заходим под фокус-пользователем, находим в его интерфейсе объект, открываем

2

Проверить наличие всех необходимых колонок в форме списка

 

3

Проверить наличие всех необходимых реквизитов в форме элемента

Проверить Владелец, Родитель, Код, Наименование

4

Соблюдена похожесть форм на типовые справочники 1С

Код, наименование, владелец, родитель сверху, все остальные реквизиты ниже

5

Пометить на удаление, Снять пометку на удалений, Скопировать. Не должно быть доступно интерактивное удаление.

Проверить для элемента и группы. Часто бывает ошибка при создании Группы, так как в коде прописаны проверки реквизитов элемента, а они недоступны для группы.

6

Должна быть доступна кнопка "Перейти" к связанным объектам.

Должна быть в формах верхних командных панелях форм

7

Наличие справки

 

 

Независимый регистр сведений

Действие по проверке

Комментарий по проверке

1

Открытие в интерфейсе с набором ролей фокус-пользователя

Заходим под фокус-пользователем, находим в его интерфейсе объект, открываем

3

Периодичность регистра (год, месяц, день)

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

4

Состав измерений

Уникальность записи, нельзя создать более одной записи с одни набором измерений.

1) Проверить, что если, например, в тех задании указана детализация регистра по Организации, Подразделению и Номенклатуре, то нельзя ввести более одной записи с таким сочетанием измерений (т.е. отсутствует 4-ое измерение).

2) Проверить, что можно ввести, например 2 записи с одинаоквой Организацией, Подразделением, но разными номенклатурами.

5

Состав ресурсов

Вычисляемые поля

6

Состав реквизитов

Дополнительные реквизиты

7

Наличие всех необходимых полей в форме списка

 

8

Наличие всех необходимых полей в форме элемента

 

9

Наличие справки

 

 

Частые ошибки и недочеты:

Ошибка

Комментарий

1

Не выведен в интерфейс

 

2

Не дано право фокус-пользователю на работу с объектом

Нет возможности создания и удаления записи регистра

3

Не соблюдается периодичность справочника

 

4

Неверно определен состав измерений

 

5

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

У измерения должен назначаться признак Ведущий

6

Справка от другого регистра сведений

 

 

Документ

Действие

Комментарий

1

Открытие в интерфейсе с набором ролей фокус-пользователя

Заходим под фокус-пользователем, находим в его интерфейсе объект, открываем

2

Форма списка, Форма выбора

 

 

В списке документов, должны отображаться все необходимые колонки. Список должен быть удобочитаем.

 

 

В списке пробуем действия создание документа, копирование, пометка на удаление, снятие пометки на удаление, проведение, отмена проведения, повторное проведение

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

 

В списке должно быть доступно по кнопке "Перейти" структура подчиненности и движения документа.

 

 

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

 

 

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

 

3

Форма документа

 

 

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

 

 

Форма должна иметь вид приближенный к типовым формам 1С документов. Т.е. сверху вниз: Командная панель действий формы, Номер и Дата документа, реквизиты шапки, панель с табличными частями, итоги, ответственный и комментарий, Основная панель формы с кнопками печати, записи, проведения и закрытия.

 

 

В командной панели действий формы должно быть доступно по кнопке "Перейти" структура

 

 

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

 

 

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

 

 

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

 

 

У полей реквизитов должны быть стандартные кнопки открытия и выбора. Кнопка очистки необязательна, лучше чтобы отсутствовала.

 

 

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

 

4

Печатные формы

 

 

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

Изменить существующий документ и попробовать распечатать

 

Печатная форма должна соответствовать приложению к тех заданию

Визуально сравнить с приложением тех задания

 

Должен быть выдержан шрифт и оформление согласно тех заданию

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

 

Все нужные поля должны быть заполнены исходя из данных документа.

Проверить заполнение полей согласно тех заданию. Проверить верно ли они взяты из документа.

 

Сохранение параметров печати

Нажать кнопку Файл - Параметры печати, настроить параметры, сделать предварительный просмотр.

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

 

 

 

5

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

 

 

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

Выводятся сообщения в окно служебных сообщений.

 

Движения документа должны удаляться при отмене проведения документа

 

 

Движения документа должны меняться при проведении документа

Попробовать изменить количество строк, состав полей. Сравнить

 

При нажатии кнопки "Записать" проведенного документа, должны переформировываться движения документа

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

6

Ввод на основании

 

 

Проверить создание документа на основании других документов

Могут быть синтаксические ошибки кода, вылетающие в конфигуратор- это недопустимо.

 

Проверить создание других документов на основании текущего

Могут быть синтаксические ошибки кода, вылетающие в конфигуратор- это недопустимо.

 

 

 

 

Отчет

Действия по тестированию:

Действие

Комментарий

1

Открытие в интерфейсе с набором ролей фокус-пользователя

Заходим под фокус-пользователем, находим в его интерфейсе объект, открываем

2

Сохранение и восстановление настроек с возможностью, использования настроек с разных компьютеров

Есть два варианта сохранения настроек: 1) Доступные только на это м компьютере только под данным пользователем в данной базе 2) Доступные всем пользователям в данной базе на разных компьютерах

3

Наличие в форме отчета всех полей, описанных в тех задании

Тестирование на совпадение с приложениями.

4

Установка параметров

При открытии должна заполняться организация и период

5

Группировки

Все группировки учеты. Например от организации до документа движения.

6

Сортировка

Переформировать с другой сортировкой

7

Отборы

Переформировать с другими отборами

8

Просчитать данные в строке отчета на примере разных вариантов поведения, описанных в техническом задании

Это тестирование алгоритмов, см выше.

9

Проверить формат вывода чисел или других полей

Например, суммы выводятся с двумя знаками после запятой.

10

Проверить наличие и правильную работу расшифровки отчета

Правой клавишей на строке, сформировать расшифровку

11

Наличие справки

 

 

Частые ошибки и недочеты:

Ошибка

Комментарий

1

Не выведен в интерфейс

 

2

Не дано право фокус-пользователю на работу с объектом и\или объектами, к которым с запросами обращается отчет.

 

3

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

 

4

Не происходит установки параметров при первом открытии

 

5

Изменение параметров не влияет на результат отчета

Параметры выведены на форму, но не передаются в запросы, которые использует отчет

6

Не выдержаны форматы оформления полей Округления

В полях могут быть числа с большим количеством знаков после запятой

7

Данным в поле не хватает места и они не видны

Не установлен перенос строк или для поля установлена маленькая длина.

8

Отображаются неверные остатки на дату отчета, или не зависят от изменения данных отчета

 

9

Отсутствует справка к объекту

 

10

Отсутствует расшифровка или неверная или выдает ошибку

 

11

Не выводиться какая-либо из группировок, описанных в тех задании

 

12

Отчет формируется очень долго

Неправильна я схема реализации запроса

13

Отсутствуют некоторые колонки отчета

 

14

Колонки называются не как в тех задании

Возможно не хватает места для вывода отчета на одном экране без прокрутки

15

Описание в справке от другого отчета

Копируют другие отчеты

16

Неправильное наименование отчета в форме

 

 

Обработка

Действия по тестированию:

Действие

Комментарий

1

Открытие в интерфейсе с набором ролей фокус-пользователя

Заходим под фокус-пользователем, находим в его интерфейсе объект, открываем

2

Аналогично отчету должна иметь сохраняемые настройки

 

3

Справка

 

4

Юзабилити оформление

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

5

Изменять данные системы корректно, повторно, не вываливаться в конфигуратор

 

6

Пользователю даны права доступа на сам объект и объекты используемые обработкой

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

 

 

 

 

Проверка быстродействия и отсутствия избыточных блокировок

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

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

            Или например, пользователь-оператор должен за рабочий день 8 часов, оформить 80 документов. Т.е. по 10 документов в час, т.е. по 1 документу в 6 минут. Если это по каким, то причинам не удается (долго заполнять документ или долгое проведение документа), то данный документ коммерчески не обоснован - Заказчику не подойдет.

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

 

 

 

79

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

Наименование Файл Версия Размер
Основы тестирования доработок
.docx 43,94Kb
20.08.12
107
.docx 43,94Kb 107 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. pumbaE 627 21.08.12 10:24 Сейчас в теме
А где-же обработка? Дайте обработку, которая будет проделывать эти рутинные операции с прописанными правилам...

p.s.: эти слова не воспринимайте всерьез, это просто плач Ярославны.
2. sapervodichka 21.08.12 15:09 Сейчас в теме
(1) pumbaE, Попробуй Автоматическое тестирование конфигураций 1С ) может доума доведешь. Она под 8.1 платформу на сайте, но конвертируется под 8.2. В принципе может потянуть большую часть проверок. Плюс еще есть обработка от 1С открытия всех форм, я её допилил для автоформирования всех отчетов и создания и проведения копий документов и вывода всех печтаных форм.... так и проверяю. Не плач!
3. Belomor 96 21.08.12 15:36 Сейчас в теме
(1)Вот посмотри, у Артура есть и более свежая версия http://infostart.ru/public/15492/
4. pumbaE 627 21.08.12 16:19 Сейчас в теме
(3) Belomor, Артур все никак не может/хочет провести webinar по TDD . Надо будет его по доставать по этому поводу. Про его обработку я знаю, но думал, а вдруг что-нибудь новенькое сделали, пока я тут со снегопатом развлекаюсь.
6. Totoro 548 21.08.12 22:19 Сейчас в теме
Идея хорошая, но некоторые требования должны быть описаны в ТЗ, иначе нет смысла их проверять и требовать работоспособности
7. musatov1c.ru 22.08.12 07:42 Сейчас в теме
Смотрится важным. Оставляю себе памятку :)
8. strenuus 22.08.12 10:45 Сейчас в теме
Полезно как памятка неопытному разработчику. Чтобы не давать ему потом подзатыльников за "детские" ошибки и недоработки. Распечатаю подопечным. Спасибо.
romankoav; POLGA; +2 Ответить
9. Модератор раздела artbear 22.08.12 15:12 Сейчас в теме
Как описание необходимых действий подойдет.
для реального использования нет.
вручную никто такую работу выполнять не будет, проверено не один раз :)
будет выполняться только малая часть, наиболее важные действия
10. AlexO 127 22.08.12 15:33 Сейчас в теме
Т.к. это чей-то курсовой, то поставил плюс за труды.
Также подойдет франчайзи как шаблон для отчета по сделанному ТЗ (и для отчета заказчику).
Ну, и последний абзац зело хорош...
Только вот про него тру-1сники как-то забывают с появлением денег...
11. sapervodichka 22.08.12 15:46 Сейчас в теме
(10) AlexO, Это не курсовой :-)))) Мой курсовой был, например: использование нейронных сетей в прогнозировании производства или движение фигур в реперном пространстве - а это скорее как выше заметили - памятка новичкам для проверки доработок.
12. awk 692 24.08.12 21:35 Сейчас в теме
Замечания к статье:

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

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

3. Быстродействие понятие эфемерное. Т.к. скорость человека 5 км/час. Но сдается мне, что это быстрее чем ползает черепаха. То есть нет условий в т.з. нет и предмета для разговора. Да и вообще, что не указано в т.з. тестированию не подлежит.
13. sapervodichka 27.08.12 12:03 Сейчас в теме
Яркий ответ "разработчика"! С нуля пробегать по тест кейсам = Платить консультанту. Тестировать под всеми "затронутыми" ролями = наверное ближе к ОПЭ (проще на живых людях допроверять). А то что не указано в т.з. тестированию не подлежит = Гуд! Остается пустяк сдать клиенту и выбить бабло, а если проект крупняк не опозориться и не получить от руководства.
14. awk 692 27.08.12 22:54 Сейчас в теме
(13)
Платить консультанту
Скорее держать на штате тестировщика.
проще на живых людях допроверять
Скорее проще договориться об отдельном проекте/задаче по разграничению прав.
Гуд!
Не сложно оговорить в ТЗ, что формы должны открываться не более 3-5 секунд, отчеты с оперативной информацией (глубиной 1-2 месяца) не более 1 минуты на среднеофисном компе и т.д. (за эталон можно взять любой современный комп за 6 - 9 т.р.).
Остается пустяк сдать клиенту и выбить бабло, а если проект крупняк не опозориться и не получить от руководства.
Это зависит не от качества реализации, а от качества втирания.
sapervodichka; +1 Ответить
15. sapervodichka 27.08.12 23:32 Сейчас в теме
(14) awk, согласен ) спасибо за комменты
16. kot30688 3 02.04.14 08:46 Сейчас в теме
Отчет, который формируется 24 часа - это пять! Вообще заметил в табличке требований к документам, по форме списка при удалении не должно появляться никаких диалогов и предупреждений. Получается, должно молча ставить пометку удаления? Или я что-то не так понял?
17. sapervodichka 1703 11.06.19 11:11 Сейчас в теме
Проверить доработки быстро можно так https://infostart.ru/public/1056811/
Оставьте свое сообщение

См. также

Рекомендательный сервис на основе коллаборативной фильтрации на 1С. Расширение формы подбора для УТ 11.4 29

Инструменты и обработки Программист Расширение (cfe) v8 ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m) Оптовая торговля Розничная торговля Практика программирования Математика и алгоритмы

В данной разработке реализован механизм рекомендаций товаров по принципу схожести товаров в корзине на основе алгоритма Item-to-Item от Amazon. Разобран алгоритм с демо базой и сделано расширение для УТ11.4 которое добавляет в форму подбора таблицу рекомендаций. Протестировано на 8.3.13.1865 на Управление торговлей, редакция 11 (11.4.8.63)

3 стартмани

25.09.2019    1737    5    informa1555    21       

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

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

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

3 стартмани

04.09.2019    4659    10    Stepa86    35       

Еще раз о рабочих днях. Быстрый способ расчета в запросах 4

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

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

1 стартмани

20.06.2019    1663    Alxby    3       

Функциональное программирование в 1С 6

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

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

1 стартмани

28.03.2019    5474    alexey.kutya    26       

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

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

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

1 стартмани

04.03.2019    2515    Alxby    4       

Жизненный цикл управляемой формы. Шпаргалка разработчика 233

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

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

1 стартмани

29.06.2018    21151    51    stas_ganiev    22       

Принципы ООП в 1С на примере реализации pattern Decorator 18

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

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

1 стартмани

21.06.2018    7801    4    lazarenko    6       

Строим "фасады" в 1С 60

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

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

1 стартмани

04.05.2018    14392    3    ktb    41       

Нечеткое сравнение строк. Метод Джаро-Винклера на 1С 128

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

Схожесть строк. Метод Джаро-Винклера. В обработке реализован алгоритм нечеткого сравнения строк.

3 стартмани

20.04.2018    14097    66    Serg1701    19       

"Взлом" теста "1С:Профессионал" методом машинного обучения 83

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

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

12.03.2018    15067    88    ildarovich    18       

Случайность, совпадение, закономерность. Генератор случайных чисел 6

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

Объект ГенераторСлучайныхЧисел удобно выдает случайные числа в заданном интервале значений. Исследование особенностей, рассуждения на тему случайных чисел, практика применения. Увлекательно в игровой форме можно исследовать работу генератора случайных чисел.

1 стартмани

20.01.2018    15548    2    Ликреонский    58       

Github и 1С. Пошаговая инструкция на конкретном примере 219

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

Статья для тех, у кого есть неудержимое желание программировать и хочется доработать какую-то конфигурацию (или проект на 1С), выложенный на Github, но останавливают незнакомые слова Git, Github, Fork, Commit, Pull request, Merge, Issue.

1 стартмани

26.10.2017    34229    5    BlizD    51       

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

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

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

26.05.2017    38306    166    DarkAn    86       

Планы обмена. Скрестить ужа с ежом ... миссия выполнима =) 16

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

Небольшое исследование возможности улучшить работу планов обмена 1С средствами SQL Server: view and triggers. Результаты имеют больше теоретическое, чем практическое значение. Однако тем, кто ищет нестандартные решения, статья может понравиться =)

1 стартмани

10.01.2017    10567    3    zhichkin    4       

Многопоточная выгрузка одного сообщения обмена 15

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8

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

1 стартмани

05.12.2016    11904    2    zhichkin    24       

1С+Классы. Версия-0 52

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

Разработано ООП-расширение языка 1С, включающее (но не ограничивающееся): Классы как абстрактные типы данных с элементами «переменная», «свойство», «функция», «процедура»; Интерфейсы как абстрактные классы без элементов состояния («переменная») и без привязки к реализации методов (свойств, процедур, функций) при определении; Имплементация (реализация) интерфейсов классами; - одиночное открытое наследование; Области видимости «внутренняя» (private), «экспорт» (public), «защищенная» (protected); Статические элементы классов (общие для всех экземпляров класса); Замещение (переопределение реализации) методов при наследовании – «виртуальные методы, свойства»; Сокрытие (затенение) обычных (не замещаемых) элементов при наследовании; Перегрузка процедур и функций по количеству и типам данных аргументов; Конструкторы класса; Деструктор класса; Слабые ссылки; Делегаты.

1 стартмани

28.10.2016    16405    14    IntelInside    68       

Генетический алгоритм для решения простой задачки 5

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

Генетический алгоритм в решении задачи: Необходимо расставить правильно (по другому) скобки, чтобы получилось 850 (1 + 2) (3 + 4) (5 + 6) (7 + 8) (9 + 10) (11 + 12) (13 + 14) + 15

1 стартмани

26.09.2016    7589    4    eugeniezheludkov    4       

Объектные блокировки 25

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

При работе с объектными данными (справочники, документы, планы счетов и т.д.) система «1С:Предприятие» обеспечивает два вида объектных блокировок: пессимистическую и оптимистическую. Они позволяют выполнять целостные изменения объектов при одновременной работе нескольких пользователей.

1 стартмани

17.08.2016    21675    7    Ranis1286    5       

Использование методов глобального контекста в системе компоновки данных или недокументированные возможности СКД 160

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

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

1 стартмани

05.08.2016    30357    27    klinval    39       

Еще один способ расчета остатков на каждый день в запросе 128

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 Абонемент ($m) Математика и алгоритмы Практика программирования

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

1 стартмани

24.04.2016    28401    46    ildarovich    21       

Пример рекурсивной выгрузки иерархической структуры в XDTO 21

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

Решил реализовать иерархию в пакете XDTO и выгрузить ее рекурсивно. Задача оказалась нетривиальной, хотя и весьма простой. Изысканиями решил поделиться с народом, чтобы не пропадало народное добро.

1 стартмани

26.02.2016    29183    14    starik-2005    3       

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига 39

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

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

1 стартмани

13.10.2015    14825    22    dusha0020    5       

Пример сериализации объектов в 1С 8.3 и их восстановления из сериализованных данных 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Математика и алгоритмы Обмен через XML Перенос данных из 1C8 в 1C8

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

1 стартмани

05.07.2015    22319    78    katkov_a    29       

Степень сходства двух наименований справочника 13

Статья Программист Внешний отчет (ert,erf) v7.7 v8 Windows Абонемент ($m) Математика и алгоритмы

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

1 стартмани

25.02.2015    17455    etmarket    33       

Написание простой обработки через тестирование 66

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

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

1 стартмани

24.02.2015    23406    16    Alien_job    40       

Парсинг сайта без использования встроенного браузера для начинающих 115

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Математика и алгоритмы WEB

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

1 стартмани

20.11.2014    34411    176    angernaughts    34       

Куайн (Программа, выводящая свой исходный код на экран) 1

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

Обработка позволяет насладится реализацией этой интересной, и совершенно бесполезной с практической точки зрения задачей.

1 стартмани

25.08.2014    7920    atridis    7       

Определение кратчайших путей, критических путей одним запросом 104

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

Еще два примера применения алгоритма каскадного матричного умножения, впервые описанного в статье «Транзитивное замыкание запросом» http://infostart.ru/public/158512/

1 стартмани

07.04.2014    33796    58    ildarovich    31       

Пророк в своем отечестве или Читаем XML с помощью XDTO 188

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

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

1 стартмани

29.01.2014    39740    86    majmyl    53       

Полная методичка к курсу "Программирование 8.2" 203

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

580 страниц знаний! Публикую методичку, а точнее стенограмму курса по подготовке программистов 8.2.

10 стартмани

09.01.2014    47820    1366    GROOVY    100       

Включаем звук в 1С. Доступно и всерьез. 52

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

Как сделать воспроизведение звука в 1С без внешних компонентов? Решаем средствами интернета. Для тонкого, толстого и web-клиента.

1 стартмани

30.12.2013    72996    257    sikuda    27       

Методический материал. Работа с запросами 42

Инструменты и обработки Программист Курс v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

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

1 стартмани

23.12.2013    16022    283    rayastar    27       

Определитель матрицы 12

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Практика программирования Математика и алгоритмы

Представлена программная реализация вычисления определителя матрицы посредством языка запросов 1С. Даны два метода: 1) прямой, на основе определения 2) метод Гаусса, приведение к диагональному виду с вычислением произведения диагональных элементов. В обновленной версии в случае целочисленных элементов для метода Гаусса проводится полная факторизация всех чисел, участвующих в вычислениях.

1 стартмани

28.11.2013    10775    6    zaxarovsky    8       

Квадратный корень в запросе 1С 51

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

Язык запросов 1С не позволяет вычислить квадратный корень 1С. Квадратный корень может пригодиться при вычислении среднеквадратического отклонения или геометрических вычислениях.

1 стартмани

24.10.2013    24036    10    Elisy    53       

Агрегатное суммирование строк в запросе – сложно, но не невозможно 105

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

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

1 стартмани

09.09.2013    67842    59    ildarovich    53       

Задачи о 5 и 9 ферзях 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Математика и алгоритмы

Задача о ферзях-часовых. На шахматной доске надо расставить 5 ферзей, чтобы они держали под боем все клетки доски. Задача В. Франгена, расставить на шахматной доске 10 “белых” и 9 “чёрных” ферзей так, чтобы ни один из них не находился под ударом противника

1 стартмани

31.08.2013    17330    1    scientes    5       

АЦРК: Многовариантный автоматический запрет редактирования (для конфигурации УТ 10.3) 9

Статья Системный администратор Программист Бухгалтер Пользователь Нет файла v8 УТ10 Закрытие периода Абонемент ($m) Математика и алгоритмы Администрирование данных 1С

В этой статье описывается усовершенствованная технология автоматической установки даты запрета редактирования Во-первых, можно определить несколько стратегий запрета редактирования с разными параметрами. Например, запрет в днях, запрет доступа в предыдущие месяцы кварталы и т.п., с указанием отступа от текущей даты. То есть для некоторых пользователей (рядовых менеджеров) при входе в базе будет устанавливаться запрет по вчерашний день, для других (старших менеджеров) на 5 дней назад, для третьих (администраторов базы или руководителей отдела) - запрет предыдущего месяца с отступом в 10 дней.. Во-вторых, запрет будет устанавливаться для ВСЕХ без исключения пользователей базы данных. Для самых привилегированных это будет максимальная глубина, но запрет будет установлен. Управление этой системой осуществляется через механизм дополнительных прав пользователей. При необходимости пользователь с полными правами может открыть для себя закрытый период, но только на текущий сеанс работы.

1 стартмани

22.07.2013    18969    26    acrk    9       

Демо связи веб сервисов 1С и php 26

Статья Программист Нет файла v8 1cv8.cf Абонемент ($m) Практика программирования Математика и алгоритмы WEB

Демонстрация обращения к веб сервису 1С из php. Пример простейший, уровня hello world. Дана одна страница и информационная база 1С с одним справочником и одним веб сервисом. Веб сервис выдаёт содержимое справочника по запросу странички.

1 стартмани

19.07.2013    29551    153    Трактор    20       

Разработка многоязычной системы 31

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

В статье затронуты некоторые аспекты многоязычности системы с точки зрения их технической реализации

1 стартмани

20.06.2013    18839    55    YOr!k    54       

Передача аргумента, полученного по ComConnector, на сервер 4

Статья Программист Нет файла v8 Абонемент ($m) Математика и алгоритмы

С точки зрения инкапсуляции, данные, переданные по COMConnector, следует обрабатывать в базе-приемнике. И тут возникает проблема, малопонятная для новичка из-за сложностей в отладке модуля внешнего соединения. Аргументы попросту не передаются в серверные модули.

1 стартмани

20.03.2013    5087    7    asved.ru    3       

Расчет SHA-1 хеша средствами 1С. Битовые операции в 1С или урок двоичной математики 61

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

Расчет хеша SHA-1 без использования каких-либо внешних компонет - возможно ли это в 1Cv8? Оказывается вполне возможно!

1 стартмани

13.03.2013    27166    138    Антон Ширяев    40       

Автоформатирование кода 54

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Сервисные утилиты Обработки Чистка базы Справки Производительность и оптимизация (HighLoad) Инструментарий разработчика Практика программирования Универсальные обработки Решение задач на 1С:Специалист Математика и алгоритмы Администрирование данных 1С Разработка Тестирование и исправление Стартеры 1С

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

1 стартмани

19.12.2012    35421    179    Sibars    57       

Анализ цикломатической сложности кода 95

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

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

1 стартмани

13.12.2012    21403    199    Spitfire    30       

Подсистема допроведения документов 0

Инструменты и обработки Программист Конфигурация (md, cf) v8 БП2.0 УТ10 УПП1 Россия Windows Абонемент ($m) Практика программирования Математика и алгоритмы

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

1 стартмани

01.10.2012    12443    30    SergAn    40       

Конспект лекций по курсу «Автоматизированные информационные системы» 31

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

Конспект лекций по курсу «Автоматизированные информационные системы» составлен на основании требования Государственного образовательного стандарта среднего профессионального образовании к содержанию и уровню подготовки выпускника по специальности 230103 «Автоматизированные системы обработки информации и управления». В конспекте есть общие сведения о методике 1С:Профкейс. Конспект лекций разработал: канд. техн. наук, доцент Космачев С.Н.

1 стартмани

07.06.2012    21405    183    ksnik    19       

Простая и элегантная форма выбора из ТЗ 3

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

Простая в использовании форма выбора из ТЗ. Можно использовать как общюю форму (весь код в модуле формы).

1 стартмани

31.05.2012    9588    32    mozz    3