Необходимо добавить новый вид договоров – абоненское обслуживание. В договорах такого вида пользователь должен иметь возможность внести дату начала действия договора, дату окончания действия договора, сумму ежемесячной абоненсткой платы и стоимость часа работы специалиста.
Алгоритм решения задачи:
- Добавить новый элемент перечисления ВидыДоговоровКонтрагентов.
- Добавить в справочник ДоговорыКонтрагентов реквизиты для хранения периода действия договора, суммы абонентской платы и стоимость часа работы.
- Вывести на форму новые реквизиты договора, если выбран соответствующий вид договора.
Примечание: не забудьте, что изменения формы реализуются программно, новые объекты и методы добавляются с префиксом.
Необходимо планировать обслуживание сотрудниками оборудования и программ клиентов.
Процесс работы с заявками построен следующим образом:
- Клиент звонит менеджеру и оставляет заявку на работу специалиста с указанием проблемы, для решения которой нужен специалист.
- Менеджер ищет свободное время и планирует заявку на это время.
- При планировании телеграм-бот оповещает специалистов о появлении новой заявки.
- Специалист в назначенное время в офисе клиента или удалённо проводит необходимые работы.
- Специалист получает подписанный лист учёта рабочего времени или скан/фото листа учёта от клиента. В листе учёта перечисляются виды работ, выполненные специалистом, и фиксируется количество часов к оплате. В дальнейшем документ будет являться подтверждением проведения работ.
- Специалист вносит в информационную систему информацию о выполненных работах, количество фактически потраченных часов на каждый вид работы, количество часов к оплате клиенту за каждый вид работы и прикрепляет к документу скан/фото листа учёта рабочего времени.
Все объекты, связанные с обслуживанием клиентов, должны располагаться в новой подсистеме Обслуживание клиентов.
Алгоритм решения задачи:
- Добавьте документ ОбслуживаниеКлиента
- В документ добавьте реквизиты:
- Клиент
- Договор
- Специалист
- Дата проведения работ
- Время начала работ (план)
- Время окончания работ (план)
- Описание проблемы
- Комментарий
- В документ добавьте табличную часть ВыполненныеРаботы с колонками:
- Описание работ
- Фактически потрачено часов
- Часы к оплате клиенту
- Реализуйте форму документа и форму списка с разумным размещением полей, подключите к формам подсистему Подключаемые команды
- Добавьте возможность хранить присоединенные к документу файлы
- Создайте роль для работы с документом
- Добавьте регистр накопления для хранения информации о суммах задолженности клиента ВыполненныеКлиентуРаботы
- Измерения - Клиент, Договор
- Ресурсы - Количество часов, Сумма к оплате
- Реализуйте проверку при проведении документа, что выбран договор с типом абонентская плата и что дата документа лежит между датой начала и датой окончания действия договора
- Реализуйте обработку проведения по регистру накопления. Сумма к оплате должна рассчитываться исходя из ставки часа, указанной в договоре
- Добавьте документ в подсистему Обслуживание клиентов
- Для оповещения через Телеграм создайте константы:
- токен управления телеграм-ботом
- идентификатор группы для оповещения
- Реализуйте отдельный общий модуль для интеграции с телеграм-ботом в соответствии с описанием реализации
- Создайте справочник Уведомления телеграм-боту для отправки с нулевой длиной кода и наименования и реквизитом Текст сообщения (строка бесконечной длины)
- При записи документа Обслуживание клиента, если документ записывается первый раз или если дата, время или специалист изменились, добавьте в справочник сообщение с текстом, описывающим изменения.
- Добавьте регламентное задание, которое будет обходить элементы справочника Уведомления, отправлять и после успешной отправки удалять элементы справочника.
Это задание не является обязательным требованием, однако вы можете изучить дополнительный материал, реализовать механизм и получить комментарий по реализованному механизму от дипломного руководителя.
Для удобного планирования времени специалистов необходимо реализовать календарь загрузки на базе Планировщика.
Алгоритм решения задачи:
- Изучите информацию о планировщике в справке о платформе 1С:Предприятие и материалам в открытом доступе
- Добавьте обработку Календарь специалистов, которая будет отображать документы Обслуживание клиентов в календаре в разрезе специалистов
- Реализуйте возможность создания обслуживания из календаря с автоматическим заполнением специалиста, времени начала и времени окончания
- Реализуйте автоматическое обновление данных планировщика при изменении документов Обслуживание клиентов с помощью метода Оповестить
- Добавьте календарь на начальную страницу Пример использования планировщика на канале сообщества 1С-Разработчиков Фирмы 1С
Если в документе Реализации товаров и услуг выбран договор с видом абонентская плата, то необходимо реализовать возможность автозаполнения такого документа суммой ежемесячной абонентской платы и суммой за выполненные в течения месяца работы по данным документов Обслуживание клиентов. Из документа должен печататься акт об оказанных услугах.
Алгоритм решения задачи:
-
Добавьте константы НоменклатураАбонентскаяПлата и НоменклатураРаботыСпециалиста с типом ссылка на справочник Номенклатура
-
Добавьте на форму Реализации товаров и услуг команду Заполнить
-
Команда Заполнить должна проверять вид договора. Если это договор абонентского обслуживания, то вызывать процедуру ВыполнитьАвтозаполнение из модуля объекта документа
-
В модуле объекта реализуйте процедуру ВыполнитьАвтозаполнение, которая:
-
получит номенклатуру из констант НоменклатураАбонентскаяПлата и НоменклатураРаботыСпециалиста, если хотя бы одна не заполнена, необходимо выдать ошибку и прекратить выполнение процедуры,
-
очистит табличную часть.
Если в договоре ненулевая сумма абонентской платы, добавьте в табличную часть строку с номенклатурой из константы НоменклатураАбонентскаяПлата и суммой абонентской платы из договора.
Если в месяц даты документа в регистре ВыполненныеКлиентуРаботы есть информация о выполненных работах по этому договору, добавьте в табличную часть строку с номенклатурой из константы НоменклатураРаботыСпециалиста и общим количеством и суммой из регистра ВыполненныеКлиентуРаботы за месяц документа.
-
-
Реализуйте для документа печатную форму акта об оказанных услугах. Акт может быть произвольной формы, но должен содержать следующие данные:
-
номер и дату документа,
-
информацию о Контрагенте, Организации и договоре,
-
детализацию из табличной части документа (номенклатуру, количество, цену, сумму),
-
итоговую сумму цифрами и прописью,
-
поля для подписей ответственных лиц и печати.
Акт может быть реализован в виде mxl или docx. У пользователя должна быть возможность редактирования макета акта.
-
В начале месяца бухгалтер фирмы формирует акты по всем абонентским договорам. Необходимо автоматизировать эту процедуру.
Алгоритм решения задачи:
- Создайте обработку МассовоеСозданиеАктов
- Добавьте реквизит обработки Период для указания месяца
- Добавьте табличную часть для хранения списка договоров и ссылок на созданные Реализации по этим договорам за период
- Реализуйте интерфейс для работы с обработкой
- Реализуйте алгоритм заполнения табличной части и создания реализаций со следующими особенностями:
- алгоритм должен выполняться с использованием механизма длительных операций БСП,
- если Реализация за выбранный месяц уже создана, то обработка не должна создавать вторую,
- при создании Реализации необходимо вызывать стандартный алгоритм заполнения,
- для заполнения Реализации необходимо использовать метод модуля объекта Реализации ВыполнитьАвтозаполнение,
- перед проведением Реализации необходимо вызывать стандартный алгоритм проверки заполнения.
- Добавьте обработку в подсистему Обслуживание клиентов
Документы Обслуживание клиентов вводят специалисты и менджеры. Массовое создание документов Реализации использует бухгалтер.
Алгоритм решения задачи:
- Создайте необходимые роли для работы с объектами
- Добавьте поставляемые профили групп доступа Специалист, Менеджер, БухгалтерИТФирмы
- Добавьте в профили роли