Вопросы для Junior-разработчиков 1С: Практические задачи (11–20)

Здесь представлены вопросы с развернутыми ответами, ориентированные на новичков / Junior-разработчиков в 1С (0–1 год опыта).

11. Что такое измерения и ресурсы в регистре? Приведите пример.

Посмотреть ответ

  • Измерения — это «координаты», по которым хранятся данные в регистре. Они отвечают на вопрос «о чем идет речь?»
  • Ресурсы — это числовые (или иногда нечисловые) значения, которые накапливаются или хранятся. Отвечают на вопрос «сколько/каково значение?»

Пример (регистр накопления «ОстаткиТоваров»):

  • Измерения: Номенклатура, Склад
  • Ресурс: Количество (тип — Число)

Таким образом, регистр хранит: «Сколько единиц товара X находится на складе Y».

12. Как в 1С создать простую обработку, которая выводит сообщение пользователю?

Посмотреть ответ

  • В конфигураторе → «Обработки» → «Добавить» → задать имя (например, «ПриветствиеПользователю»).
  • Создать управляемую форму.
  • Добавить кнопку на форму (например, «Показать приветствие»).
  • В модуле формы написать обработчик:
Процедура ПоказатьПриветствие(Кнопка)
    Сообщить("Здравствуйте! Вы запустили обработку.");
КонецПроцедуры
  • Сохранить, обновить конфигурацию. Обработка будет доступна в разделе «Сервис → Обработки и отчёты».

13. Что такое предопределённые элементы справочника? Зачем они нужны?

Посмотреть ответ

Предопределённые элементы — это элементы справочника, созданные на этапе разработки (в конфигураторе), а не пользователями в работе. Они «вшиты» в конфигурацию и не удаляются при сбросе ИБ.

Пример:

  • Справочник «Валюты» содержит предопределённый элемент «Российский рубль».
  • Справочник «Статьи затрат» может содержать «Аренда», «Зарплата» и т.п.

Зачем:

  • Гарантируют наличие критически важных значений.
  • Упрощают начальную настройку базы.
  • Используются в коде по ссылке (например, Справочники.Валюты.Рубль).

14. Как открыть форму документа из обработки или другой формы?

Посмотреть ответ

Используется метод ПолучитьФорму() или ОткрытьФорму()

Пример (в модуле управляемой формы):

// Открыть существующий документ
Документ = Документы.ПриходнаяНакладная.НайтиПоНомеру("000000001");
Если Не Документ = Неопределено Тогда
    ОткрытьФорму(Документ.ПолучитьФорму());
КонецЕсли;
// Или создать новый:
НовыйДокумент = Документы.ПриходнаяНакладная.СоздатьДокумент();
ОткрытьФорму(НовыйДокумент.ПолучитьФорму());

Это стандартный способ навигации между объектами в 1С.

15. Что такое событие «При записи» у объекта? Когда оно вызывается?

Посмотреть ответ

Событие ПриЗаписи (в модуле объекта) вызывается непосредственно перед сохранением объекта в базу — как при создании, так и при изменении.

Где используется:

  • Для автоматического заполнения реквизитов (например, даты изменения),
  • Для логирования,
  • Для проверок, которые нельзя сделать в ПередЗаписью (например, если нужны данные уже после проведения).
Процедура ПриЗаписи()
    // Например, заполнение даты изменения
    ЭтотОбъект.ДатаИзменения = ТекущаяДата();
КонецПроцедуры

⚠️ Важно: если запись отменяется (например, из-за ошибки в ПередЗаписью), ПриЗаписи не вызывается.

16. Как в запросе получить остатки по товару на складе?

Посмотреть ответ

Остатки хранятся в регистре накопления (например, «ОстаткиТоваров»). Чтобы получить текущие остатки, используется виртуальная таблица Остатки:

ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура,
    ОстаткиТоваровОстатки.Склад,
    ОстаткиТоваровОстатки.Количество
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки
ГДЕ
    ОстаткиТоваровОстатки.Номенклатура = &Номенклатура

Здесь &Номенклатура — параметр запроса. Такой запрос вернёт актуальные остатки на последнюю дату, для которой есть движения.

17. Что такое подсистемы в 1С? Зачем они нужны?

Посмотреть ответ

Подсистемы — это логические группы объектов конфигурации (справочников, документов, отчётов), которые объединяются по функциональному признаку.

Примеры:

  • «Бухгалтерия»,
  • «Продажи»,
  • «Склад».

Зачем:

  • Формируют структуру главного меню в интерфейсе,
  • Позволяют настраивать ролевой доступ (пользователь видит только нужные подсистемы),
  • Упрощают навигацию в конфигураторе.

18. Как запретить удаление элемента справочника при определённом условии?

Посмотреть ответ

Нужно обработать событие ПередУдалением в модуле объекта справочника:

Процедура ПередУдалением(Отказ)
    Если ЭтаСсылка.ИспользуетсяВДокументах() Тогда
        Отказ = Истина;
        Сообщить("Нельзя удалить контрагента: он используется в документах.");
    КонецЕсли;
КонецПроцедуры

Функция ИспользуетсяВДокументах() — условная; на практике проверяют через запрос к регистрам или документам.
Если Отказ = Истина, удаление отменяется.

19. Что такое общие формы и зачем они используются?

Посмотреть ответ

Общие формы — это формы, не привязанные к конкретному объекту (справочнику, документу). Они могут использоваться:

  • В обработках,
  • В качестве вспомогательных окон (например, выбор периода, настройка параметров),
  • Для отображения сводной информации.

Пример: форма «ВыборКонтрагента» — может вызываться из разных мест системы.

Общие формы повышают повторное использование кода и упрощают поддержку.

20. Как в 1С работать с датами? Приведите пример получения первого дня месяца.

Посмотреть ответ

1С предоставляет встроенные функции для работы с датами:

ТекущаяДата = ТекущаяДата(); // например, 25.01.2026
ПервыйДеньМесяца = НачалоМесяца(ТекущаяДата); // вернёт 01.01.2026
ПоследнийДеньМесяца = КонецМесяца(ТекущаяДата); // 31.01.2026

Также можно использовать:

  • Год(), Месяц(), День() — для извлечения частей даты,
  • ДобавитьМесяц(), ДобавитьДень() — для сдвига.

Даты в 1С — это полноценный тип данных, поддерживающий сравнение и арифметику.


Вопросы для Junior-разработчиков 1С: «Базовые понятия (1–10)»

Ваша реакция?
Подписаться
Уведомление о
guest
0 Комментарий
Первые
Последние Популярные
Встроенные отзывы
Посмотреть все комментарии
Back to top button