Тестовое задание по 1С на собеседовании. Часть 4

Довелось собеседоваться в крупную торговую сеть. Выдали задание. Интересное. Реализовал двумя способами)

Тестовое задание
Есть периодический регистр сведений с ценами товаров: — Товар, — Цена
Напишите запрос для получения 2-х последних различных цен по всему списку товаров с указанием даты начала действия цены.
Если предыдущая цена не установлена, то выводить 0 и пустую дату.
Должна получиться таблица:
Товар, Цена_1, Дата_1, Цена_2, Дата_2

Тестовые данные
КодТовара Дата Цена
117105 01.02.2022 55
117105 01.08.2022 50
117105 01.09.2022 55
117105 01.10.2022 55
124106 01.06.2022 380
124106 15.06.2022 400
124106 01.07.2022 400
124106 01.08.2022 390

Результат
КодТовара Цена_1 Дата_1 Цена_2 Дата_2
117105 55 01.09.2022 50 01.08.2022
124106 390 01.08.2022 400 15.06.2022

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

Загрузить базу с реализацией тестового задания

Тестовое задание по 1С на собеседовании. Часть 3

Поток собеседований не остановить)

«Прилетело» свежее задание, аж из пяти заданий. Реализовал.

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

Задание 1

Добавить справочник «Номенклатура» с числовым кодом.
Написать запрос по получению минимального свободного числового кода справочника «Номенклатура».

Требования

1. Данные должны получаться из справочника «Номенклатура».
2. Запрос всегда должен возвращать только одну запись.
3. Запрос всегда должен возвращать только одно поле «Код».

Пример

Если в справочнике имеются записи с кодами {1, 2, 3, 5, 6, 9, 10}, то запрос должен вернуть запись с кодом 4.

Задание 2

Необходимо программно на общую форму добавить реквизит и элемент:
1. Добавить реквизит формы «ВыводитьСообщение» (тип — Булево).
2. Добавить поле флажка и связать его с добавленным выше реквизитом.

Задание 3

Добавить документ «Акт об оказании услуг»

Документ содержит следующую информацию:

Организация
Контрагент
Статус — принимает три значения «Новый», «На согласовании», «Согласован»
Автор — пользователь, создавший документ
Список оказанных услуг (номенклатура) с количеством, ценой и суммой

В форме документа необходимо организовать подбор номенклатуры (возможность выбора нескольких позиций в форме выбора справочника номенклатура)

При переводе документа в статус «Согласован» должна фиксироваться информация о пользователе и времени согласования

Задание 4

Добавить две роли «Руководитель отдела», «Менеджер»

Запретить редактирование документа «Акт об оказании услуг» в статусе «Согласован» для пользователей с ролью «Менеджер»
Пользователя с ролью «Менеджер» в статусе «На согласовании» разрешить редактирование только колонки «Количество».
Пользователям с ролью «Руководитель отдела» в статусе «На согласовании» разрешить редактирование только колонок «Количество» и «Цена».

Задание 5

Написать отчет с применением СКД, который выводит список услуг с количеством и суммой по данным документов «Акт об оказании услуг» за выбранный период.
В отчете должна быть возможность фильтра по авторам документов, по номенклатуре, по статусу документа, по контрагентам.

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

Загрузить базу с реализацией тестового задания

Очередное тестовое задание по 1С

Тестироваться, тестироваться и еще раз и тестироваться)
На самом деле интересно и познавательно.
Вот очередное задание:

Тестовое задание
Существует регистр накопления «Остатки Номенклатуры» (структура ниже).

Наполнение регистра:

Данные представлены в тестовой базе в архиве ниже.

Суть задачи:

Требуется вычислить количество дней присутствия товаров на складах в разрезе склад/номенклатура за период с 01.01.2021 по 10.01.2021 (сколько дней каждый товар, присутствовавший за заданный интервал на складах, находился на них). Днем присутствия считается любой день из периода, в который товар находился на складе, без ограничения полный день или часть дня.

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

Ограничения:

1. Использование платформы 1С:Предприятие 8.3 любого релиза
2. Решение должно быть выполнено одним запросом, без циклов в коде. Допускается и приветствуется использование временных таблиц. Допускается использование дополнительных источников данных, указать в решении каких.
3. СКД в решении использоваться не должен
4. Оценка решения производится с точки зрения производительности на больших объемах данных.

Структура регистра «Остатки Номенклатуры»:

Регистраторы: Приходная накладная (вид движения приход), Расходная накладная (вид движения расход)

Измерения: Номенклатура (Справочник.Номенклатура), Склад (Справочник.Склады).

Ресурсы: Количество (Число(15,3)).

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

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

Загрузить данные и запрос с реализацией тестового задания

Центр управления телеграм-ботами в 1С

В процессе экспериментов с Telegram Api, получилась конфигурация по управлению ботами на платформе 1с.

Простой и интуитивно понятный интерфейс позволит быстро осуществить обратную связь с пользователями Telegram.

Загрузить конфигурацию центра управления ботами

Недавно занимался Api HeadHunter, а вот теперь другая интеграция

Тестовое задание по 1С на собеседовании

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

Тестовое задание
Выполняется в пустой конфигурации 8.X. В конфигурации создать справочники: «Менеджеры», и «Склады», регистр сведений и обработку (см. их описание ниже). Форма обработки —  управляемая (в крайнем случае, обычная).
 
Создать обработку для быстрого заполнения регистра сведений «ПраваМенеджеровПоПродажамНаСклады»
 
Регистр сведений «ПраваМенеджеровПоПродажамНаСклады» содержит измерения: Менеджер и Склад (без ресурсов, не периодический).
 
Если в РС присутствует строка «Менеджер = Иванов», «Склад = Восточный», это значит, что Иванов имеет право продавать товар с данного склада.
 
Если в РС присутствует строка «Менеджер = Иванов», «Склад = Пустая ссылка», это значит, что Иванов имеет право продавать товар с любого склада.
 
Необходимо сделать обработку, в форме которой есть 2 «таблицы». Верхняя таблица – «шахматка», в строках которой – «менеджеры»,  отобранные по фильтру из справочника «Менеджеры»,  а в колонках – «Склады», отобранные по фильтру из справочника «Склады». Т.е. у пользователя обработки должна быть возможность указать условия отбора пользователей и складов.
 
Нижняя таблица – список РС «ПраваМенеджеровПоПродажамНаСклады».
 
Если у менеджера есть право на какой либо склад (согласно записям в РС), то в шахматке в соответствующей колонке напротив склада и менеджера выводится «x» (или ячейка выделяется цветом). При двойном щелчке на ячейку:
1.    Если в ячейки был «x», то удаляется соотв. запись из РС и ячейка очищается;
2.       Если в ячейке на было «x», то добавляется соотв. запись в РС и «x» появляется в ячейке.
Если пользователь активизирует некоторую строку шахматки, то в нижней таблице показываются записи РС с фильтром по выбранному менеджеру. Если при этом пользователь изменяет данные в нижней таблице, то шахматка должна автоматически пересчитываться БЕЗ полного пересчета и обращений к серверу.

Сразу решить не удалось, т.к. невнимательно почитал задание)

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

Пришлось изворачиваться с табличным документом…

Загрузить конфигурацию с реализацией тестового задания

Умный дом по-вологодски. Промежуточные итоги

Первая часть рассказа о автоматизации домашнего хозяйства

Несколько изменил формат изложения информации)

На текущий момент имеем умный дом под управлением Home Assistant на Raspberry Pi 4 Model B с устройствами экосистем Xiaomi и Sonoff.
Все объекты так же можно отследить в облачных приложениях Mi Home, eWeLink, Yeelight.

ИТОГИ:

  • Умный дом — это по-прежнему удобно! Привыкаешь к мелочам
  • Удобства за разумные деньги.

Продолжение следует…

Умный дом по-вологодски. Как все начиналось

Как-то к лету купил себе велосипед. Форму поддержать да удовольствие получить.
Несколько лет беспроблемно его эксплуатировал и бед не знал.
Но одним летним вечером из общего коридора пропал соседский двухколесный друг.

Стал перед выбором: хранить в квартире свой аппарат или организовать охранные мероприятия.
Свободного места в квартире немного…

На Аliexpress заказал самую дешевую Xiaomi Mijia Smart Camera 720P HD Wireless Wifi.
Не «взлетит», так и ладно…

Оказалось, что это вполне рабочий вариант. Установил на смартфоне Mi Home, выставил регион Chinese mainland. Все подключилось и заработало.

Получил:

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

Дальше больше. Стал изучать Mi Home и думать, как можно применить в жизни его функционал.
Решил заменить предустановленный душераздирающий входной звонок на устройства Xaomi.
Купил шлюз Xiaomi Gateway 2 Smart Control Center Smart Home Kit и кнопку Xiaomi Mijia Aqara Smart Wireless Switch Smart.

Получил:

  • Приятную мелодию звонка с возможностью регулировки громкости
  • Ночную подсветку в месте установке шлюза
  • Базу для дальнейшей автоматизации, т.к. шлюз является «мозгом» умного дома.

Процесс было уже не остановить.
Решил автоматизировать освещение дома с коридора.
Приобрел потолочный светильник Xiaomi Yeelight Smart Ceiling Light Lamp Remote APP WIFI Bluetooth, датчик открытия двери Aqara Outlets Original Xiaomi Aqara Smart Window Door Sensor, датчик движения и освещенности Xiaomi Aqara Mijia Smart Human Body Sensor Home, кнопку Xiaomi Mijia Wireless Switch House Control Center.

Получил:

  • При открытии входной двери автоматически включается свет
  • Выключатель (беспроводную кнопку) можно расположить в любом удобном месте на любой высоте
  • Автоматическое выключение света при отсутствии движения в коридоре

Хотел автоматизировать ночную подсветку в коридоре, но решил, что лучше подсвечивать свой путь снизу. Для этих целей купил неавтоматизируемый ночник с датчиком движения PIR Infrared Motion Sensor USB Rechargeable 12 LED Nightlight.

Из минусов:

  • Необходимость периодически заряжать устройство по USB, но это не критично.

В местах дома, где не хотелось менять потолочные светильники по эстетическим соображениям, использовал выключатель Xiaomi Aqara Wall Switch Smart Light Control Mijia Single Double Key ZigBee Version.
Из минусов:

Из минусов:

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

Дети часто засиживались у телевизора. Приобрел розетку Xiaomi Aqara Wall Socket PVC ZigBee Wifi.

Получил:

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

Из минусов розеток и выключателей от Xaomi:

  • необходимость в «китайском» подразетнике.

Аквариумные рыбы попросили отрегулировать режим освещения.
Купил удлинитель Xiaomi Smart Power Strip 2 Socket Outlet Plug Mi Smart socket.

Получил:

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

Продолжил автоматизацию освещения комнат.
Приобрел потолочный светильник Xiaomi Ceiling Light Yeelight JIAOYUE Light 480 Smart APP / WiFi / Bluetooth и потолочный светильник еще большего размера Xiaomi Yeelight Led ceiling Pro 650mm RGB 50W.

Получил:

  • Множество режимов освещения и «тонких» настроек на свой вкус
  • У большого светильника ночная подсветка
  • Универсальное простое крепление

Из минусов потолочных светильников:

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

Для ночных походов к холодильнику купил led-ленту Xiaomi Yeelight RGB 2M Intelligent Light Band 16 Millions 60 Led Smart Home.

Получил:

  • Удобная настраиваемая подсветка, которая включается по расписанию и регистрации события движения от датчика
  • Легкость установки и эксплуатации

Долго думал, стоит ли покупать робот-пылесос. Казалось, что это дорогая игрушка.
Дождался купонов-распродажи и получил Original 2018 XIAOMI vacuum MI robot cleaner LDS Scan Mapping Smart Planned Type WIFI.

Получил:

  • Прекрасно справляется с поддержанием порядка дома
  • Удобен и прост в использовании
  • Адекватная цена расходных материалов

Из минусов:

  • Для европейских моделей отключена возможность управления из Mi Home. Надо «перепрошивать»

Для улучшения микроклимата в доме приобрел увлажнитель XIAOMI MIJIA SMARTMI Evaporative Humidifier 2 for home Air dampener Aroma.

Получил:

  • Добротная «мойка» воздуха
  • Проста в эксплуатации

Из минусов:

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

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

  • Датчик протечки воды Xiaomi Aqara Water Immersing Sensor Flood Water. Предназначение понятно из названия. Расположил у стояков водоснабжения. Надеюсь, не пригодятся, ттт
  • Датчик Xiaomi Mi Temperature and Humidity monitor. Удобный монитор, отображающий показатели микроклимата дома
  • Датчик Xiaomi Mijia Temperature Sensor Smart WiFi APP Mi Intelligent Sensor. Та же функциональность, но без визуального отображения
  • Куб-контроллер Aqara Cube Smart Home Controller. Удобный манипулятор с большим количеством возможностей. Использую для выключения света везде перед сном

ИТОГИ:

  • Умный дом — это удобно! Привыкаешь к мелочам
  • Удобства за разумные деньги.
  • Главный минус — это потолочные светильники с их «трепетностью»

P.S.: на днях прибыло реле Sonoff ITEAD Basic Wifi Timer Smart Switch Support eWelink APP, которое плохо интегрируется с Mi Home. Это значит, что пришло время «одноплатника» Raspberry Pi 3 Model B Plus with WiFi&Bluetooth+ABS Case+CPU Fan+3A Power с переходом на автоматизацию без зависимости от интернета.

Продолжение следует…

Отчеты и обработки для 1С

Формирование заполненного договора купли-продажи

Данный блок разработан для конфигурации 1С Бухгалтерия предприятия 2.0.
Разработка призвана упростить составление типовых договоров купли-продажи Вашего предприятия.
Аналогичная разработка для 1С Бухгалтерия 7.7 представлена ниже.

Загрузить презентацию формирования договоров

Развоз продукции

Данный блок разработан для конфигураций 1С Управление торговлей 11 и 1С Бухгалтерия предприятия 2.0.
Разработка призвана упростить многократное выставление документов покупателям с одинаковым набором продукции.
Возможность заполнения маршрутного листа и пропуска на выезд (только для 1С УТ 11).
Так же имеется аналогичная разработка для 1С Торговля и склад 7.7.

Загрузить презентацию блока развоза продукции 1С УТ 11

Загрузить презентацию блока развоза продукции 1С БП 2.0

Другие разработки

Загрузить печатную форму ТОРГ-12 для документа Отгрузка материалов на сторону

Загрузить печатную форму товарно-транспортной накладной для документа Отгрузка товаров, продукции

Загрузить печатную форму акта по количеству и качеству для Реализация (купля-продажа) (1C Торговля и склад 7.7)

Загрузить отчет Перечень предприятий-кредиторов по периодам задолженности для ГНИ (1C Бухгалтерия 7.7)

Загрузить отчет Кредиторская задолженность по выбранным счетам (1C Бухгалтерия 7.7)

Загрузить обработку Пакетная печать счетов на оплату по услугам, актов и счет-фактур (1C Бухгалтерия 7.7)

Загрузить обработку Формирование заполненного договора купли-продажи с открытием в MS Word(OO Writer) (1C Бухгалтерия 7.7)

Загрузить LOT-файлы для переноса данных из КИС Галактика на 1C