Nội dung text 04_СР_3. СамРабота_Обработчики событий объектов.pdf
РАБОТА С ОБЪЕКТАМИ. ЧАСТЬ 2. Самостоятельная работа В рамках задания работаете с имеющейся конфигурацией. Решите поставленные задачи. Для каждой из задач ниже напишите программный код, который её решает. Задача 1. Контроль вида договора В справочнике "Договоры контрагентов" есть реквизит "Вид договора", который может принимать одно из 3-х значений: − С покупателем − С поставщиком − Прочее Для каждого контрагента, который является владельцем договора устанавливается тип отношений (Покупатель, Поставщик, Перевозчик, Прочее). Нужно доработать механизм создания новых договоров и контролировать соответствие вида договора с типом отношений, который установлен для контрагента. Если для контрагента установлен тип отношений "Покупатель", то для него можно создавать договоры только вида "С покупателем". Если для контрагента установлен тип отношений "Поставщик" или "Перевозчик", то для него можно создавать договоры только вида "С поставщиком". Если для контрагента установлен тип отношений "Прочие отношения", то для него можно создавать договоры только вида "Прочее". Если для контрагента одновременно установлено несколько типов отношений, например, "Покупатель" и "Поставщик", то в этом случае можно
создавать для него договоры как вида "С покупателем", так и вида "С поставщиком". Добавьте контроль соответствия вида договора типу отношений с контрагентом. Контроль должен выполняться перед записью договора. Если вид договора не соответствует типу отношений с контрагентом, то такой договор не должен быть записан. Кроме того, пользователь должен получить сообщение, из которого будет понятно почему договор не записывается. В этой задаче вам придется сравнивать данные справочника договоры и данные справочника Контрагенты по конкретному контрагенту, которого проверяем. Задача 2. Префикс в коде контрагента В информационной базе хранится префикс информационной базы (в константе). Для каждого контрагента из справочника «Контрагенты» необходимо при формировании кода элемента справочника добавлять в начало строки кода префикс информационной базы. Пример: Префикс информационной базы: «УТ» Код контрагента по умолчанию: «000001» Код контрагента должен быть: «УТ-001» Для решения этой задачи можете использовать способ, который мы уже разбирали, а можете погуглить другой способ - использование объекта конфигурации ПодпискаНаСобытия. Рекомендую статью для прочтения https://wiseadvice-it.ru/o-kompanii/blog/articles/podpiska-na-sobytie-v-1s- 8-3/ Задача 3. Изменение алгоритма копирования номенклатуры Создавать новые элементы справочника "Номенклатура" можно путем копирования существующих элементов:
Но в этом случае копируются значения абсолютно всех реквизитов справочника. Нужно изменить поведение при копировании и копировать в новый элемент справочника только значение реквизита "ВидНоменклатуры" (значения других реквизитов для создаваемого элемента нужно очищать): В этой задаче можно использовать событие ПриКопировании. Задание 4. Напишите своими словами (как Вы понимаете): в чем разница между модулем объекта (набора записей) и модулем менеджера?