Проектная автоматизация в интеграторе: доработка типовых конфигураций, разработка нового функционала и участие в проектных решениях. Опыт 1–3 года, удалённая работа.
Фишка: Развитая система наставничества и обучения, ежеквартальный пересмотр категории (грейда) с влиянием на доход, проекты в разных отраслях без жёсткой привязки к одной конфигурации.
| Этап | Длительность | Что проверяют |
|---|---|---|
| Скрининг резюме | 1–3 дня | Соответствие опыту 1–3 года, знание типовых конфигураций, самостоятельность и готовность к проектной работе |
| HR-собеседование | 30–45 мин | Мотивация, опыт работы с конфигурациями, формат удалённой работы, ожидания по зарплате и развитию |
| Техническое интервью | 60–90 мин | Теория платформы 1С:8, запросы, регистры, проведение, СКД, расширения; разбор реальных кейсов из проектов |
| Практическая часть / тестовое | 30–60 мин | Написание запроса, работа с табличной частью, обработчик событий; иногда — небольшое домашнее задание |
| Финальное интервью | 30 мин | Соответствие команде проекта, готовность к наставничеству и работе с заказчиком, условия трудоустройства |
Обязательный минимум
Плюсом будет
Расскажи о себе
2–3 мин: опыт с 1С, какие конфигурации, тип задач (доработка типовой / новый функционал / поддержка), один конкретный проект с результатом.
С какими конфигурациями работал?
Назови 1–2 основные (УТ, БП, ЗУП, КА, ERP) и что именно делал: доработки, отчёты, обмены, интеграции. Честно укажи глубину.
Что такое конфигурация в 1С?
Набор метаданных, алгоритмов и интерфейсов — «приложение» на платформе. Бывает типовая (от 1С) или нетиповая/проектная.
Отличия управляемого и обычного приложения
Управляемое — веб-технологии, адаптивные формы, клиент-сервер; обычное — классические формы. С 8.2+ рекомендуется управляемый режим.
Где использовать расширения?
Доработка типовых без снятия с поддержки: новые реквизиты, формы, модули. Обновление типовой остаётся возможным.
В чём разница между справочником и планом видов характеристик?
Справочник — самостоятельные объекты. ПВХ — виды характеристик для других объектов (номенклатура → свойства).
Фишка: В Первом Бите ценят широту: проекты в разных отраслях, поэтому важно показать способность быстро разбираться в новой конфигурации.
Совет: Если опыт в одной конфигурации — подчеркни переносимые навыки: запросы, регистры, расширения, СКД.
В чём разница между конструкциями ОБЪЕДИНИТЬ и ОБЪЕДИНИТЬ ВСЕ?
ОБЪЕДИНИТЬ — убирает дубли (как UNION). ОБЪЕДИНИТЬ ВСЕ — оставляет все строки (как UNION ALL).
В чём разница между виртуальной и временной таблицей?
Виртуальная — логическая, формируется платформой из регистра (Остатки, Обороты). Временная — создаётся в пакете запросов (ПОМЕСТИТЬ), хранится в СУБД на время выполнения.
Где хранятся временные таблицы?
В СУБД (tempdb для MSSQL, временные таблицы PostgreSQL) на время выполнения пакета запросов.
Можно ли передавать временную таблицу между запросами?
Да, в рамках одного пакета запросов (между запросами в Запрос.МенеджерВременныхТаблиц). Между разными вызовами Запрос.Выполнить() — нет.
В каком случае используешь индексы в запросах?
При соединениях и фильтрации по полям временных таблиц — ИНДЕКСИРОВАТЬ ПО в ПОМЕСТИТЬ. Ускоряет JOIN и WHERE.
Зачем использовать конструкцию ВЫРАЗИТЬ?
Приведение типов в запросе, особенно для полей составного типа (например, Субконто) — чтобы обращаться к конкретному типу.
Для чего нужна конструкция РАЗРЕШЕННЫЕ?
Учитывает RLS — возвращает только записи, доступные текущему пользователю по правам.
Ловушка: На собесах в интеграторах запросы — главный фильтр. Подготовь 3–5 своих примеров: остатки, обороты, соединение документа с регистром.
Совет: При ответе про оптимизацию: избегай обращения через точку в цикле, используй запросы вместо перебора, проверяй план через консоль запросов.
В чём разница хранения в регистре сведений и в табличной части?
РС — независимые записи, периодичность, срезы. Табличная часть — часть объекта, удаляется с документом, нет срезов.
Где пишется код при проведении документа?
Модуль объекта документа → ОбработкаПроведения(Отказ, РежимПроведения). Движения — через Движения.Регистр.
Зачем дорабатывать проведение через подписку на событие?
Когда нельзя менять типовой модуль: подписка на ПередЗаписью/ПриЗаписи/ОбработкаПроведения в расширении.
Что будет, если не установить Проведен = Истина?
Документ запишется, но не проведётся — движений по регистрам не будет.
Для чего используются функциональные опции?
Включение/отключение функционала и объектов метаданных без изменения кода — зависимость от настроек.
Фишка: В вакансии прямо указаны задачи: доработка типового функционала и анализ ошибок — будь готов разобрать кейс отладки проведения.
Какие наборы данных можно использовать в СКД?
Запрос, Объект, Объединение, Расшифровка. Основной — запрос к метаданным.
В чём разница между схемой компоновки данных и системой компоновки данных?
СКД — механизм платформы (движок). Схема — конкретный шаблон отчёта с наборами данных, настройками, макетом.
Приведи пример ряда важных обработок
Групповое изменение реквизитов, загрузка из Excel, сверка данных, универсальный обмен, консоль запросов, регламентные задания.
Совет: Для middle-уровня достаточно уметь добавить поле в типовой отчёт СКД через расширение и объяснить структуру схемы.
В чём разница между HTTP-сервисами и Web-сервисами?
HTTP-сервисы — REST-подобные, произвольные URL и методы. Web-сервисы — SOAP, WSDL, строгий контракт.
Что такое XDTO и зачем он нужен?
Технология сериализации/десериализации XML и JSON для обмена с внешними системами по схемам.
В чём разница разрешённой и запрещённой авторегистрацией в плане обмена?
Разрешённая — объект регистрируется автоматически при записи. Запрещённая — только программно через ПланыОбмена.ЗарегистрироватьИзменения.
Был ли опыт интеграции документооборота с ЭДО?
Если есть — опиши конфигурацию, оператора ЭДО, направление обмена. Если нет — покажи понимание: УПД, статусы, типовые механизмы БЭД.
Совет: Первый Бит активно внедряет современные технологии (ИИ, RPA) — упомяни интерес к интеграциям, даже без глубокого опыта.
Что такое RLS?
Record Level Security — ограничение доступа к записям на уровне данных. В запросах — конструкция РАЗРЕШЕННЫЕ.
Для каких случаев обращение через точку опасно?
В цикле по большой выборке — каждое обращение = отдельный запрос к СУБД (N+1). Заменяй запросом с соединением.
Есть ли опыт администрирования СУБД?
Резервное копирование, мониторинг блокировок, индексы — плюс, но для разработчика 1–3 лет не критично.
Где устанавливается первоначальное значение параметра сеанса?
Модуль сеанса — УстановкаПараметровСеанса(). Вызывается при старте сеанса.
Ловушка: Не путай RLS с ролями: роли — права на объекты, RLS — фильтрация записей внутри разрешённых объектов.
Запрос: товары с остатком больше нуля
Напишите запрос, который выбирает номенклатуру с остатком > 0 на текущую дату. Используйте виртуальную таблицу регистра накопления.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Номенклатура КАК Номенклатура,
| Остатки.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата, ) КАК Остатки
|ГДЕ
| Остатки.КоличествоОстаток > 0";
Запрос.УстановитьПараметр("Дата", ТекущаяДата());
Результат = Запрос.Выполнить().Выгрузить();Сложность: O(n) по количеству записей регистра на дату
Добавление строки в табличную часть
Программно добавьте строку в табличную часть «Товары» документа: заполните Номенклатуру, Количество и Цену.
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("Монитор");
НоваяСтрока.Количество = 1;
НоваяСтрока.Цена = 25000;Сложность: O(1)
Проверка заполнения реквизита ПередЗаписью
Реализуйте обработчик ПередЗаписью: если поле «Партнёр» не заполнено — отказать в записи с сообщением пользователю.
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если НЕ ЗначениеЗаполнено(Партнер) Тогда
Отказ = Истина;
Сообщить("Заполните поле «Партнёр»!");
КонецЕсли;
КонецПроцедурыСложность: O(1)
Сумма продаж по контрагентам за 30 дней
Напишите запрос: сумма продаж по контрагентам за последние 30 дней из документа «Реализация товаров и услуг».
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Реализация.Контрагент КАК Контрагент,
| СУММА(Реализация.СуммаДокумента) КАК СуммаПродаж
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Реализация
|ГДЕ
| Реализация.Проведен
| И Реализация.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
|СГРУППИРОВАТЬ ПО
| Реализация.Контрагент";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДобавитьМесяц(ТекущаяДата(), 0) - 30*86400));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ТекущаяДата()));Сложность: O(n) по документам за период
3 дня
7 дней
14 дней
| Блок | Готов, если... |
|---|---|
| Язык запросов | можешь написать запрос с соединением, виртуальной таблицей остатков и группировкой без подсказок |
| Регистры и проведение | можешь объяснить разницу РС/РН и описать цепочку проведения документа |
| Расширения | можешь перечислить, что можно и нельзя делать в расширении типовой |
| СКД | можешь описать структуру схемы и добавить поле в типовой отчёт |
| Поведенческие | есть 3 кейса в формате STAR с конкретными результатами |
| Компания | понимаешь специфику интегратора и можешь объяснить, почему Первый Бит |
В день собеседования