Разработка 1С · сложность средняяОперативный учёт: торговля, регистр остатков, отчёт по складам
Компания занимается оптовой торговлей. Документы: «Приходная накладная» и «Расходная накладная» с услугами в одной табличной части. Учёт товаров в разрезе складов, списание по средней себестоимости в разрезе товара и склада. Требуется: создать регистр накопления, обеспечить корректное проведение документов, построить отчёт по остаткам в разрезе складов и разработчиков программных продуктов (через характеристику номенклатуры).
Ожидается: Рабочая конфигурация: документы с движениями, регистр накопления, отчёт СКД. Проверка на учебной базе: провести накладные, убедиться что остатки и себестоимость считаются верно. · 40 баллов
Разработка 1С · сложность средняяОперативный учёт: характеристики номенклатуры через план видов характеристик
Та же торговая задача, что в ou-1, но характеристики «Разработчик» реализовать через план видов характеристик. Характеристики в настройках СКД должны отображаться как реквизиты номенклатуры.
Ожидается: Конфигурация с планом видов характеристик, отчёт СКД с динамическими реквизитами. Проверка: характеристики видны в отчёте как обычные поля. · 40 баллов
Разработка 1С · сложность продвинутаяРазработка: интерфейс конфигурации, регистр накопления, FIFO/LIFO
Создайте конфигурацию с интерфейсом (три раздела), документами «Приходная/Расходная накладная» и регистром накопления. Списание по партиям (FIFO или LIFO по учётной политике). Дополнительно — механизм на ПВХ для хранения характеристик товаров.
Ожидается: Конфигурация на каркасной базе, корректные движения при проведении, отчёт по остаткам и себестоимости партий. Все объекты сгруппированы в интерфейсе по видам. · 80 баллов
Разработка 1С · сложность продвинутаяБухгалтерский учёт: документ Операция, двойная запись, взаиморасчёты в валюте
Создать документ «Операция» для произвольных проводок. Торговая компания: «Приходная накладная» (Дт Товары — Кт Поставщики), «Расходная накладная» (себестоимость + выручка). Взаиморасчёты с покупателями в разных валютах. Документ «Приход денег» с контролем суммы задолженности. Отчёты: продажи товаров и состояние взаиморасчётов.
Ожидается: Конфигурация с бухгалтерским регистром, корректными проводками, валютным учётом. Отчёт по продажам и взаиморасчётам. Проверка: документ «Приход денег» не проводится при превышении суммы долга. · 60 баллов
Разработка 1С · сложность продвинутаяРасчёты: зарплата по окладу с болезнью, метод отклонений
Начисление зарплаты: оклад пропорционально часам, часовая ставка по рабочим часам периода. История изменения оклада. Пособие по болезни — фиксированная дневная ставка × дни болезни по пятидневному графику. При болезни оклад не начисляется. Данные о болезни могут вводиться задним числом. Документ «Начисление зарплаты».
Ожидается: Конфигурация с регистром расчётов, видами расчётов (Оклад, Болезнь), корректными суммами. Отчёт: подразделение / сотрудник / вид расчёта / суммы по периодам. Проверка задним числом. · 60 баллов
Разработка 1С · сложность продвинутаяРасчёты: совместительство, несколько подразделений
Та же задача по расчёту зарплаты, но сотрудник работает одновременно в нескольких подразделениях. Каждое место работы — отдельные начисления.
Ожидается: Корректный учёт нескольких строк начислений в одном документе. Отчёт детализирован по подразделениям. · 60 баллов
Разработка 1С · сложность продвинутаяРасчёты: перерасчёты при изменении оклада задним числом
Механизм перерасчётов при вводе данных об изменении оклада или болезни задним числом. Использовать механизм перерасчётов платформы 1С.
Ожидается: Автоматический перерасчёт при изменении исходных данных. Результат соответствует ручному пересчёту. · 60 баллов
Разработка 1С · сложность Массовые взаимные блокировки (Deadlocks) на PostgreSQL при высокоинтенсивной работе интеграции с маркетплейсами
Для обмена данными с маркетплейсами (Ozon, Wildberries) было разработано масштабируемое расширение, обрабатывающее входящие HTTP-запросы об изменении статусов заказов и остатков номенклатуры в нескольких параллельных фоновых заданиях. Через полгода успешной эксплуатации на MS SQL Server база данных была мигрирована на СУБД PostgreSQL в рамках перехода на кроссплатформенную инфраструктуру под Linux. Сразу после запуска на новой СУБД в периоды распродаж пользователи начали получать массовые ошибки блокировок СУБД (Lock deadlock). Проблема вызвана различием механизмов эскалации блокировок и транзакционного поведения в PostgreSQL: при параллельном выполнении UPDATE-запросов к таблицам с отсутствующими индексами для внешних ключей PostgreSQL блокирует всю таблицу вместо отдельных строк, а фоновые задания обновляют связанные регистры сведений без единого хронологического порядка.
Ожидается: Анализ логов PostgreSQL и технологического журнала 1С с точной идентификацией заблокированных таблиц СУБД и конфликтующих строк кода; оптимизированный код обработчиков HTTP-сервисов с внедрением механизма явных управляемых блокировок (БлокировкаДанных) и гарантированным одинаковым порядком блокировки объектов; SQL-скрипт создания недостающих индексов для СУБД PostgreSQL для оптимизации планов запросов при обновлении связанных данных. · 120 баллов
Разработка 1С · сложность Блокировка безопасного режима расширения при вызове внешних библиотек в Linux
Через полгода после успешной эксплуатации расширения для интеграции со складским оборудованием (сканеры, весы), работающим через внешнюю компоненту (AddIn), система была перенесена на сервер кластера под управлением Linux. После этого при попытке выполнения любой операции через расширение пользователи начали получать критическую ошибку безопасности: 'Установка внешних компонент в данном режиме запрещена'. Проблема вызвана тем, что при обновлении платформы в рамках миграции был принудительно включен строгий безопасный режим (Safe Mode) для всех профилей безопасности расширений, а механизм БСП по регистрации внешних компонент не был адаптирован под новые требования политик безопасности Linux-окружения.
Ожидается: Готовый программный код модуля регистрации расширения с корректным заполнением свойств безопасности (РазрешитьВыполнениеВызоваВнешнихКомпонент, РазрешитьВыполнениеКОМОбъектов) и настроенный XML-фрагмент профиля безопасности кластера 1С, разрешающий загрузку конкретной внешней компоненты по её хэш-сумме. · 100 баллов
Разработка 1С · сложность Утечка памяти и аварийная остановка общего фонового задания в разделенной базе данных (SaaS)
В облачном приложении (мультиарендность на базе механизма разделения данных) было запущено общее (неразделенное) фоновое задание для консолидации аналитики по всем областям данных. Спустя полгода, когда количество активных областей (арендаторов) превысило 2000, задание начало регулярно падать по ошибке 'Out of Memory' на сервере приложений. Разработчик спроектировал алгоритм без учета роста числа арендаторов и накопления контекста между итерациями обработки.
Ожидается: Оптимизированный алгоритм пакетной обработки арендаторов с использованием временного хранилища и явным завершением контекста разделенного сеанса после обработки каждой пачки арендаторов. · 120 баллов
Разработка 1С · сложность Переполнение диска сервера и падение сеансов из-за зависших файлов во Временном Хранилище
В конфигурации реализован механизм групповой генерации PDF-отчетов для клиентов через фоновые задания, использующие временное хранилище (ВХ) для промежуточного хранения файлов. Спустя полгода эксплуатации диск сервера начал переполняться: файлы, привязанные к сеансам, не удалялись платформой автоматически, а ручная очистка не была предусмотрена разработчиком.
Ожидается: Программный механизм гарантированной очистки временных файлов на встроенном языке с использованием обработки исключений (Попытка-Исключение), явным вызовом удаления файлов из ВХ и настройка регламентного задания для очистки устаревших сеансовых каталогов на сервере приложений. · 100 баллов
Разработка 1С · сложность Конфликт синхронизации РИБ при обновлении метаданных расширения конфигурации
В распределенной информационной базе (РИБ) с 50 периферийными узлами было установлено расширение, содержащее собственные регистры сведений для учета маркетинговых акций. Через полгода потребовалось обновить структуру регистров в расширении (добавлено новое измерение). После применения изменений в центральной базе обмен с периферийными узлами полностью заблокировался: узлы отказывались принимать пакеты обмена, выдавая ошибку несовпадения структуры метаданных.
Ожидается: Регламент безопасного обновления расширений в РИБ с синхронизацией структуры метаданных на всех узлах до возобновления обмена; план поэтапного вывода узлов из обмена на время обновления и контроль совместимости версий расширения. · 120 баллов