Обработка выполнена в качестве тестового задания для проверки навыков программирования в одной из компаний, которая предоставляет ссылку на скачивание этой обработки.
Здесь представлена такая обработка с кодом(компания предоставляет "пустую" обработку) по условиям задания(ниже) предоставляемым компанией вместе с обработкой, которое нужно решить добавив нужный код в обработку.
Задание на общие навыки программирования
Описание:
Задание предоставляется в виде стандартной обработки.
Обработка не зависит от структуры данных информационной базы. Все необходимые данные вшиты в обработку в виде макетов.
Обработка построена на управляемых формах.
Каждое задание размещено на своей “странице”. Для выполнения задания необходимо написать “код”, который выполняется при нажатии кнопки “Выполнить задание <Номер задания>” после комментария следующего вида
//Старт
Если задание предусматривает некие входные данные, то они размещаются перед тегом //Старт и сопровождаются необходимым комментарием.
Вот таким образом:

Задание 1
Вы имеете таблицу следующего вида(Исходные данные находятся в переменной тзДанные)

Как видно, эта таблица содержит данные по истории изменения цен.
Задание 1.1(ВыполнитьЗадание1)
Необходимо с помощью запроса вывести в таблицу “ТаблицаЗаданиеРезультат1” по каждому товару только последнюю цену
Задание 1.2(ВыполнитьЗадание11)
Необходимо с помощью запроса вывести в таблицу “ТаблицаЗаданиеРезультат1” по каждому товару только предпоследнюю цену.
Задание 2(кнопка ВыполнитьЗадание2)
На вход вы имеете массив который содержит в себе несколько массивов с разным количеством элементов (при этом все элементы массивов однотипные и содержат в себе структуру с полями “Дата и Представление(представление этой даты)”.
Массив выглядит следующим образом:

Необходимо на выходе получить такую же коллекцию массивов, но содержащую одинаковое количество элементов.
Количество элементов необходимо привести к максимальному из имеющихся в массиве.
Те мы имеем на входе массивы с 2,5 и 9ю элементами, на выходе должно быть 3 массива с 9. элементами.
Дополняющие элементы массива должны логически продолжать предыдущие элементы.
В качестве упрощения предположим, что интервал между элементами массива одинаковый в рамках массива.
Пример. Массив с 3-мя элементами, необходимо добить до 5-ти элементов
05.01.2019 / 5 января 2019
06.01.2019 / 6 января 2019
07.01.2019 / 7 января 2019
08.01.2019 / 8 января 2019
09.01.2019 / 9 января 2019
Итоговые массивы необходимо вывести в виде дерева значений в реквизит “Задание2Дерево”.
Где исходным узлом будут массивы с элементами, а подчиненными сами элементы.
Задание 3(кнопка ВыполнитьЗадание3)
Исходная таблица содержит таблицу цен с детализацией по номенклатуре и продавцам вот в таком виде:

Необходимо при нажатии кнопки отобразить форму(новое, блокирующее окно) с таблицей, в которой будут первые 10 продавцов, у которых больше всего цен на товары (топ продавцов с самым большим ассортиментом).
Таблица должна содержать 2 колонки “Продавец” и “Количество цен”.
При двойном клике на строку с продавцом форма со списком продавцов должна закрыться и мы должны увидеть на форме “Исходная” только предложения от выбранного даблкликом Продавца (см. ниже.
На этой форме мы должны отфильтровать предложения выбранного продавца):

Обработка тестировалась на версии платформы 1С:Предприятие 8.3 (8.3.27.2130).
Вступайте в нашу телеграмм-группу Инфостарт