Сегодня 23 мая 2022 года 10 часов 14 минут, +9
Всем доброго дня!
Небольшое отступление от темы.
После работы на компанию более 6 лет, наконец, произошло то, чего и следовало ожидать. После перевода меня с оклада на сдельную работу, мне таки не заплатили за 1,5 месяца работы.
Попробовал взять кредит - кредиты сейчас банки не дают. Даже Тинькофф, который их давал без проблем.
Честно говоря, такого радикального решения я не ожидал. Был наслышан о репутации компании, но так радикально никого не кидали. Видно, ситуация изменилась и теперь выживает сильнейший.
Налицо откровенная поддержка ИТ специалистов как со стороны государства, так и со стороны работодателей.
Так что, обращение в конце статьи "Автору на похлебку" становится все более актуальным.
Возвращаемся к вопросам на собеседовании.
Предыдущие темы:
Ведущий программист 1С: вопросы на собеседовании и ответы на них (УФ)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (СКД, запросы)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (транзакции, блокировки)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (индексы)
Ведущий программист 1С: вопросы на собеседовании и ответы на них (XML, JSON)
24 мая 2022 года 11 часов 33 минуты
Конфигурация
Одна из любимых тем на собеседовании - галочки в конфигурации.
Для чего нужно разделение итогов в регистрах накопления?
Прежде всего надо выяснить, что дает режим разделения итогов.
Данный режим поддерживается для регистра накопления и регистра бухгалтерии.
Режим разделения итогов влияет только на параллельность работы системы и никак не сказывается на самой бизнес-логике решаемых задач. То есть это механизм платформы, который обеспечивает более высокий уровень параллельности и управляется в конфигурации и в информационной базе только с целью настройки использования данной возможности для конкретных объектов конфигурации и в конкретном внедрении. С точки зрения решаемых задач предметной области он конфигурирования не требует.
Для быстрого получения итогов регистра на текущий момент и на другие моменты времени система поддерживает в актуальном состоянии в отдельных таблицах (недоступных непосредственно для разработчика конфигурации) состояние итогов с учетом всех имеющихся в таблице движений. Записи в этих таблицах автоматически обновляются при записи движений. Эти записи используются системой автоматически при обращении к виртуальным таблицам регистров для получения соответствующих итогов.
Механизм разделения итогов вводит в состав хранимой таблицы итогов специальное поле, позволяющее распараллелить обновление записей итогов - разделитель.
Заметим, что данный механизм не работает в файловом варианте, так как там поддерживается только блокировка уровня таблиц. Также он не поддерживается при работе с СУБД PostgreSQL в автоматическом режиме блокировок.
Разумеется, работа данного механизма влечет за собой дополнительные накладные расходы (наличие поля в таблицах итогов, увеличение количества записей в таблицах итогов).
При пересчете итогов регистра записи сворачиваются по комбинациям измерений. То есть, после пересчета, избыточные записи из регистра удаляются.
Когда следует использовать режим разделения итогов?
По регистру нет контроля остатков - нет чтения данных в транзакции. В регистрах бухгалтерии контроль остатков, как правило, отсутствует. Но если контроль остатков присутствует, то мы не получим никакого выигрыша в производительности. К тому же, при контроле остатков нужно использовать свойство набора записей «БлокироватьДляИзменения», так как возникает вероятность взаимоблокировки.
С регистром выполняется параллельная работа пользователей, причем активная.
При последовательной работе с регистром или работе с малым числом пользователей нет смысла включать режим разделения итогов: отсутствие конкурирующих транзакций не приводит к ожиданиям на блокировках, и, соответственно, не наблюдается эффекта от использования режима разделения итогов.
06 июня 2022 года 9 часов 58 минут, +18
Продолжаем разбор вопросов.
Чем отличается справочник от документа?
Справочники 1С — специализированный объект древа метаданных, который служит для хранения статичной информации справочного характера.
Документы в 1С 8.2 и 8.3 — объект метаданных, с помощью которого в 1С фиксируются хозяйственные операции предприятия.
Может ли справочник быть документом?
Да, может. В 1С документооборот многие документы по факту являются справочниками.
Может ли справочник быть регистратором в регистрах?
Нет. Только документ может быть регистратором.
Какие модули конфигурации вы знаете?
Модуль управляемого приложения
Модуль сеанса
Модуль внешнего соединения
Модуль обычного приложения
Общие модули
Модули объектов
Модули форм
Модули менеджеров
Модули команд
Чем "модуль объекта" отличается от "модуля менеджера"?
Модуль объекта вызывается при создании нового объекта и при записи объекта.
Модуль менеджера позволяет описать собственные методы для объекта конфигурации, которые относятся не к конкретному экземпляру объекта базы данных, а к самому объекту конфигурации.
Какие директивы компиляции в модулях знаете?
&НаКлиенте
&НаСервере;
&НаКлиентеНаСервере
&НаСервереБезКонтекста;
&НаКлиентеНаСервереБезКонтекста
Что такое мутабельные значения? Примеры.
Мутабельный тип (в переводе с английского Mutable – изменчивый) – это сложный тип данных в 1С, который может менять свои свойства уже после создания.
К мутабельным типам в языке программирования 1С относятся:
объект;
форма;
список значений;
таблица значений.
Чем структура отличается от соответствия?
Ключ в структуре может быть только строкой, а в соответствии может быть любым типом.
В какой момент отрабатывают подписки на события?
После отработки события, к которому привязаны.
Имеет ли значение порядок измерений в регистрах?
Да. Выше всего необходимо ставить измерения, которые будут чаще запрашиваться в системе (а не организация как во многих типовых)
Каким способом можно отсортировать структуру?
Предполагается, что структура не нуждается в сортировке. Можно выгрузить в таблицу значений и отсортировать.
Что означает флаг "Вызов сервера" у общего модуля?
Глобальный — если флаг установлен, функции и процедуры из этого модуля становятся доступны в глобальном контексте. Т.е. их можно вызвать в любом месте конфигурации, обращаясь без названия общего модуля. Однако добавляется условие — название процедур и функций в этом общем модуле должны быть уникальны в рамках глобального контекста.
Сервер — процедуры и функции данного общего модуля могут быть выполнены на сервере.
Внешнее соединение — программные коды данного общего модуля могут быть выполнены при подключении внешним источником (например, COM).
Клиент (управляемое приложение) — процедуры и функции данного общего модуля могут быть использованы в толстом клиенте в режиме управляемого приложения.
Клиент (обычное приложение) — программные коды данного общего модуля могут быть использованы в толстом клиенте в режиме обычного приложения.
Вызов сервера — флаг, разрешающий на клиенте использовать процедуры и функции из этого общего модуля.
Привилегированный — если установлена Истина, в этом общем модуле будет отключена проверка прав доступа.
Повторное использование — определяет настройки возвращаемых значений, если опция включена, то после первого выполнения система запомнит значение для данных входных параметров и будет возвращать уже готовое значение. Может принимать следующие значения: не используется — отключение, на время вызова — на время выполнения определенной процедуры, на время сеанса — пока пользователь не закрыл сеанс (программу).
Источники:
Устройство и использование режима разделения итогов регистров
Оптимизация 1С – Режим разделения итогов
Вопросы с технических интервью
#ведущий программист 1С #разделение итогов #директивы компиляции #модули конфигурации #структура и соответствие