Примерное время выполнения: 45 минут
Все задачи обязательны к выполнению. Пожалуйста, присылайте на проверку все задачи сразу.
Любые вопросы по решению задач задавайте в чате учебной группы.
- Научиться создавать собственные расширения для конфигураций 1С.
- На практике научиться вносить изменения в конфигурацию находящуюся на полной поддержке поставщика
Данная практика научит вас создавать расширения на платформе 1С и вносить изменения в конфигурацию, не включая в ней возможность изменения. Эти навыки пригодятся для реальной работы, когда Вам потребуется доработать конфигурацию заказчика.
- Установить учебную платформа версии 8.3.22 или больше.
- Просмотреть материал занятия "Расширения".
- Решите описанные задачи в конфигураторе.
- Протестируйте решение в пользовательском режиме.
- Отправьте на проверку в личном кабинете Нетологии один общий файл базы данных (.dt), содержащей расширение с решением по обеим задачам. Файл прикрепите в раздел "решение" в практическом задании.
Вы дорабатываете приложение заказчика, использующего конфигурацию на полной поддержке. Заказчик запросил доработку: для Контрагентов необходимо хранить список контактных лиц.
При помощи расширения, для справочника Контрагенты добавить возможность хранения перечня контактных лиц. Способ реализации функционала допускается любой, на Ваше усмотрение. Обязательные требования:
- Для контрагента можно хранить неограниченное количество Контактных лиц
- Список контактных лиц должен открываться из формы контрагента (или отображаться на форме в виде списка с возможностью добавления новых контактных лиц и их данных).
- Для контактного лица должно быть можно указать:
- ФИО - Строка до 150 символов, обязательно к заполнению
- Контактный телефон - Строка до 50 символов, обязательно к заполнению
- Должность - Отдельный справочник, обязательно к заполнению
- Действует на основании - Строка до 150 символов, необязательно к заполнению
- Заметка - Строка неограниченной длины, необязательно к заполнению
- Во всех формах документов, под полем Договор, вывести поле Контактное лицо, выбор контактных лиц должен осуществляться по тому контрагенту, который указан в документе (в базе Заказчика подобны отбор реализован для поля Договора, реализацию можно "подсмотреть" там)
- Скачайте конфигурацию Заказчика: ССЫЛКА НА ФАЙЛ
- Создайте новую базу данных, без конфигурации и загрузите в нее скаченную конфигурацию.
- Продумайте, какие объекты Вам понадобятся для решения задачи, как должны выглядеть формы объектов. Возможно, поможет зарисовать все на бумаге.
Подсказка 1
Очевидно, для того, чтобы была возможность указывать контактных лиц в документах, для их хранения следует использовать справочник.Подсказка 2
Кроме перечисленных в требованиях полей, в контактном лице должно быть можно указать ссылку на контрагента, чтобы использовать механизм подбора. Чтобы Контактное лицо нельзя было записать без указания Контрагента, лучше сделать Контрагента владельцем контактного лица (При этом, стандартный реквизит лучше переименовать)Подсказка 3
Должности должны храниться в справочнике.Подсказка 4
Способ вывести реквизит на форму подробно описан в презентацииПодсказка 5
Для организации отбора контактных лиц по контрагентам в реквизите надо настроить связи параметров выбора:Подсказка 6
Реквизит "Контрагент" перед настройкой отбора, должен быть добавлен в расширениеЗаказчик запросил еще одну доработку: В документе "Заказ покупателя" необходимо добавить поле "Согласованная скидка", учитывать скидку при расчете суммы по каждой строке табличной части (то есть, сумма в каждой строке табличного документа должна быть уменьшена на указанный в шапке процент)
При помощи расширения, в документ "Заказ покупателя" должно быть добавлено поле "Согласованная скидка", значение указанное в поле, должно учитываться в документе. Для решения задачи следует использовать аннотацию "ИзменениеИКонтроль"
- Выполняйте решение том же расширении, которое Вы создали в прошлом задании.
- Спланируйте решение: Какой тип данных должен быть у поля, какая точность? Как скидка будет влиять на табличную часть? Какие события надо обработать? Нужна ли отдельная команда?