Element_Test_V2/Koncept/Testovoe/Основное/ЗаполнениеДемоДанными.xbsl
Vladislav_k0ncept f16c003f46 Initial commit
2025-02-20 15:05:58 +00:00

519 lines
41 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

импорт Пресейл
импорт Мероприятия
импорт Общие
импорт Общие::КурсыВалют
конст ИМЯ_СТАДИИ_ЗАКЛЮЧЕНОГОВОР = "Заключен договор"
конст ИМЯ_СТАДИИ_ОТКАЗАНО = "Отказано"
@ВПроекте
метод КлючЗаданияЗаполненияДанными(Пользователь: Пользователи.Ссылка): Строка
возврат "ГенерацияДанных_%{Пользователь.Ид}"
;
@ВПроекте
метод Заполнить()
исп новый ОперацияЗаполненияДемоДанными().ЗаписатьНачало()
исп Транзакция = Транзакции.Начать()
Валюты.СоздатьБазовуюВалюту()
знч Регионы = СоздатьРегионы()
знч Направления = СоздатьНаправления()
знч Услуги = СоздатьУслуги(Направления)
знч Стадии = СоздатьСтадииСделок()
знч Сотрудники = СоздатьСотрудников(Регионы, Ложь)
знч Клиенты = СоздатьКлиентов(Регионы, Направления, Сотрудники)
знч КонтактныеЛица = СоздатьКонтактныхЛиц(Клиенты, Сотрудники)
знч Сделки = СоздатьСделки(Сотрудники, Направления, Клиенты, КонтактныеЛица, Стадии, Услуги)
СоздатьЗадачи(Сделки)
СоздатьСобытия(Сделки)
СоздатьВалюты()
Транзакция.Фиксировать()
ПолнотекстовыйПоиск.ПерестроитьИндекс()
;
@ВПроекте
метод ЗаполнитьДляНовогоПользователя(Пользователь: Пользователи.Ссылка)
исп новый ОперацияЗаполненияДемоДаннымиДляПользователя(Пользователь = Пользователь.Представление()).ЗаписатьНачало()
исп КонтекстДоступа.Привилегированный()
знч Регионы = СоздатьРегионы()
знч Направления = Направления.ПолучитьНаправления()
знч СтадииСделок = СтадииСделок.ПолучитьСтадииСделок()
знч Услуги = Услуги.ПолучитьУслуги()
знч Сотрудник = новый Сотрудники.Объект(
Наименование = Пользователь.Представление(),
Пользователь = Пользователь,
Регион = Регионы[0],
Роль = РольСотрудника.Менеджер
)
Сотрудник.Записать()
знч Сотрудники = СоздатьСотрудников(Регионы, Ложь)
Сотрудники.Вставить(0, Сотрудник.Ссылка)
знч Клиенты = СоздатьКлиентов(Регионы, Направления, Сотрудники)
знч КонтактныеЛица = СоздатьКонтактныхЛиц(Клиенты, Сотрудники)
знч Сделки = СоздатьСделки(Сотрудники, Направления, Клиенты, КонтактныеЛица, СтадииСделок, Услуги)
СоздатьЗадачи(Сделки)
СоздатьСобытия(Сделки)
;
метод СоздатьРегионы(): ЧитаемыйМассив<Регионы.Ссылка>
знч Регионы = <Регионы.Ссылка>[]
знч Регион = новый Регионы.Объект(Наименование = "Россия")
Регион.Записать()
Регионы.Добавить(Регион.Ссылка)
возврат Регионы
;
метод СоздатьНаправления(): ЧитаемыйМассив<Направления.Ссылка>
знч Направления = <Направления.Ссылка>[]
пер Направление = новый Направления.Объект(Наименование = "Разработка и продвижение сайтов")
Направление.Записать()
Направления.Добавить(Направление.Ссылка)
Направление = новый Направления.Объект(Наименование = "Разработка мобильных приложений")
Направление.Записать()
Направления.Добавить(Направление.Ссылка)
возврат Направления
;
метод СоздатьУслуги(Направления: ЧитаемыйМассив<Направления.Ссылка>): ЧитаемыйМассив<Услуги.Ссылка>
знч Услуги = <Услуги.Ссылка>[]
// 0
пер Услуга = новый Услуги.Объект(Наименование = "Лендинг для рекламной кампании", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 1
Услуга = новый Услуги.Объект(Наименование = "Разработка корпоративного сайта", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 2
Услуга = новый Услуги.Объект(Наименование = "Разработка дизайна сайта", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 3
Услуга = новый Услуги.Объект(Наименование = "Сайт для фотовыставки", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 4
Услуга = новый Услуги.Объект(Наименование = "Приложение для сотрудников", Владелец = Направления[1])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 5
Услуга = новый Услуги.Объект(Наименование = "Разработка интернет-магазина", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 6
Услуга = новый Услуги.Объект(Наименование = "Приложение для клиентов", Владелец = Направления[1])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 7
Услуга = новый Услуги.Объект(Наименование = "Продвижение интернет-магазина", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 8
Услуга = новый Услуги.Объект(Наименование = "Редизайн сайта", Владелец = Направления[0])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
// 9
Услуга = новый Услуги.Объект(Наименование = "Приложение доставки", Владелец = Направления[1])
Услуга.Записать()
Услуги.Добавить(Услуга.Ссылка)
возврат Услуги
;
метод СоздатьСтадииСделок(): ЧитаемыйМассив<СтадииСделок.Ссылка>
знч Стадии = <СтадииСделок.Ссылка>[]
пер Стадия = новый СтадииСделок.Объект(
Наименование = "Первичный контакт",
Вид = ВидСтадииСделки.Активна,
Порядок = 10,
Иконка = Ресурс{РесурсыДемо/СтадияПервичныйКонтакт.png}.Ссылка,
ИмяФайлаИконки = "СтадияПервичныйКонтакт.png"
)
Стадия.Записать()
Стадии.Добавить(Стадия.Ссылка)
Стадия = новый СтадииСделок.Объект(
Наименование = "Сделано предложение",
Вид = ВидСтадииСделки.Активна,
Порядок = 20,
Иконка = Ресурс{РесурсыДемо/СтадияСделаноПредложение.png}.Ссылка,
ИмяФайлаИконки = "СтадияСделаноПредложение.png"
)
Стадия.Записать()
Стадии.Добавить(Стадия.Ссылка)
Стадия = новый СтадииСделок.Объект(
Наименование = "Переговоры",
Вид = ВидСтадииСделки.Активна,
Порядок = 30,
Иконка = Ресурс{РесурсыДемо/СтадияПереговоры.png}.Ссылка,
ИмяФайлаИконки = "СтадияПереговоры.png"
)
Стадия.Записать()
Стадии.Добавить(Стадия.Ссылка)
Стадия = новый СтадииСделок.Объект(
Наименование = ИМЯ_СТАДИИ_ЗАКЛЮЧЕНОГОВОР,
Вид = ВидСтадииСделки.ЗакрытаВыиграна,
Порядок = 40,
Иконка = Ресурс{РесурсыДемо/СтадияЗаключенДоговор.png}.Ссылка,
ИмяФайлаИконки = "СтадияЗаключенДоговор.png"
)
Стадия.Записать()
Стадии.Добавить(Стадия.Ссылка)
Стадия = новый СтадииСделок.Объект(
Наименование = ИМЯ_СТАДИИ_ОТКАЗАНО,
Вид = ВидСтадииСделки.ЗакрытаПроиграна,
Порядок = 50,
Иконка = Ресурс{РесурсыДемо/СтадияОтказано.png}.Ссылка,
ИмяФайлаИконки = "СтадияОтказано.png"
)
Стадия.Записать()
Стадии.Добавить(Стадия.Ссылка)
возврат Стадии
;
метод СоздатьВалюты()
пер Валюта = новый Валюты.Объект(Код = "USD", Наименование = "Доллар")
Валюта.Записать()
Валюта = новый Валюты.Объект(Код = "EUR", Наименование = "Евро")
Валюта.Записать()
;
метод СоздатьСотрудников(Регионы: ЧитаемыйМассив<Регионы.Ссылка>, СоздатьПользователей: Булево): Массив<Сотрудники.Ссылка>
знч Сотрудники = <Сотрудники.Ссылка>[]
пер Сотрудник = новый Сотрудники.Объект(
Наименование = "Яковлев С.Л.",
Регион = Регионы[0],
Роль = РольСотрудника.Менеджер
)
если СоздатьПользователей
Сотрудник.Пользователь = ПользователиКлиентИСервер.СоздатьПользователя("yakovlev", "yakovlev")
;
Сотрудник.Записать()
Сотрудники.Добавить(Сотрудник.Ссылка)
Сотрудник = новый Сотрудники.Объект(
Наименование = "Смирнов В.Т.",
Регион = Регионы[0],
Роль = РольСотрудника.Менеджер
)
если СоздатьПользователей
Сотрудник.Пользователь = ПользователиКлиентИСервер.СоздатьПользователя("smirnov", "smirnov")
;
Сотрудник.Записать()
Сотрудники.Добавить(Сотрудник.Ссылка)
возврат Сотрудники
;
метод СоздатьКлиентов(Регионы: ЧитаемыйМассив<Регионы.Ссылка>, Направления: ЧитаемыйМассив<Направления.Ссылка>, Сотрудники: ЧитаемыйМассив<Сотрудники.Ссылка>): ЧитаемыйМассив<Клиенты.Ссылка>
знч Клиенты = <Клиенты.Ссылка>[]
Клиенты.Добавить(СоздатьКлиента("Мастерская \"Планета-3\"", Регионы[0], "620143, г. Екатеринбург, ул. Победы, д. 108", Сотрудники[0], Направления))
Клиенты.Добавить(СоздатьКлиента("Художественный музей", Регионы[0], "150040, г. Ярославль, ул. Некрасова, д. 94", Сотрудники[1], Направления))
Клиенты.Добавить(СоздатьКлиента("Предприятие \"Ротор-К\"", Регионы[0], "119501, г. Красногорск, ул. Речная, д. 83", Сотрудники[1], Направления))
Клиенты.Добавить(СоздатьКлиента("Ресторан \"Ибис\"", Регионы[0], "420099, г. Казань, ул. Чехова, д. 86", Сотрудники[0], Направления))
Клиенты.Добавить(СоздатьКлиента("Агентство \"Город\"", Регионы[0], "194044, г. Санкт-Петербург, Лесной пр., д. 117", Сотрудники[1], Направления))
Клиенты.Добавить(СоздатьКлиента("Магазин \"Луч 24\"", Регионы[0], "105187, г. Москва, ул. Ткацкая, д. 137", Сотрудники[0], Направления))
возврат Клиенты
;
метод СоздатьКлиента(Наименование: Строка, Регион: Регионы.Ссылка, Адрес: Строка, Ответственный: Сотрудники.Ссылка, Направления: ЧитаемыйМассив<Направления.Ссылка>): Клиенты.Ссылка
знч Клиент = новый Клиенты.Объект(
Наименование = Наименование,
Адрес = Адрес,
Ответственный = Ответственный,
Регион = Регион
)
Клиент.Записать()
возврат Клиент.Ссылка
;
метод СоздатьКонтактныхЛиц(Клиенты: ЧитаемыйМассив<Клиенты.Ссылка>, Сотрудники: ЧитаемыйМассив<Сотрудники.Ссылка>): ЧитаемыйМассив<КонтактныеЛица.Ссылка>
знч КонтактныеЛица = <КонтактныеЛица.Ссылка>[]
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[0], "Новиков Пётр Матвеевич", "Директор", "", "novikov@clplnt.ru", Сотрудники[0]))
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[1], "Гусев Максим Константинович", "Руководитель проекта", "+7 (999) 480-23-82", "", Сотрудники[1]))
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[2], "Казакова Людмила Федоровна", "Руководитель отдела продаж", "", "kazakova@rtrmsk.ru", Сотрудники[1]))
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[3], "Орлова Ольга Николаевна", "Менеджер по маркетингу", "+7 (999) 372-94-13", "orlova@ibisrst.ru", Сотрудники[0]))
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[4], "Соколов Николай Сергеевич", "Руководитель департамента", "+7 (999) 232-76-22", "sokolov@grdspb.ru", Сотрудники[1]))
КонтактныеЛица.Добавить(СоздатьКонтактноеЛицо(Клиенты[5], "Фролов Дмитрий Андреевич", "Директор", "+7 (999) 834-73-46", "", Сотрудники[0]))
возврат КонтактныеЛица
;
метод СоздатьКонтактноеЛицо(Клиент: Клиенты.Ссылка, Наименование: Строка, Должность: Строка, Телефон: Строка,
ЭлектроннаяПочта: Строка, Ответственный: Сотрудники.Ссылка): КонтактныеЛица.Ссылка
знч КонтактноеЛицо = новый КонтактныеЛица.Объект(
Владелец = Клиент,
Наименование = Наименование,
Должность = Должность,
Телефон = Телефон,
ЭлектроннаяПочта = ЭлектроннаяПочта,
Ответственный = Ответственный
)
КонтактноеЛицо.Записать()
возврат КонтактноеЛицо.Ссылка
;
метод СоздатьСделки(Сотрудники: ЧитаемыйМассив<Сотрудники.Ссылка>,
Направления: ЧитаемыйМассив<Направления.Ссылка>,
Клиенты: ЧитаемыйМассив<Клиенты.Ссылка>,
КонтактныеЛица: ЧитаемыйМассив<КонтактныеЛица.Ссылка>,
Стадии: ЧитаемыйМассив<СтадииСделок.Ссылка>,
Услуги: ЧитаемыйМассив<Услуги.Ссылка>): ЧитаемыйМассив<Сделки.Ссылка>
знч Сделки = <Сделки.Ссылка>[]
знч Валюта = Валюты.ПолучитьБазовуюВалюту()
знч ЧасовойПояс = ЧасовойПояс.Текущий()
знч Сейчас = ДатаВремя.Сейчас()
знч Генератор = новый СлучайныйГенератор()
знч СекундВСутках = 86400
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-5).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(27).Дата, Направления[0], Клиенты[4], КонтактныеЛица[4], "Лендинг для рекламной кампании", Стадии[0], Валюта, 22000, [Услуги[0], Услуги[2]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-6).ВМомент(ЧасовойПояс), Сейчас.ДобавитьДни(20).Дата, Направления[1], Клиенты[3],
КонтактныеЛица[3], "Приложение доставки", Стадии[1], Валюта, 105000, [Услуги[9], Услуги[6]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-5).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(20).Дата, Направления[0], Клиенты[5], КонтактныеЛица[5], "Разработка корпоративного сайта", Стадии[1], Валюта, 240000, [Услуги[1], Услуги[2]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-7).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(14).Дата, Направления[0], Клиенты[1], КонтактныеЛица[1], "Разработка дизайна сайта", Стадии[0], Валюта, 138000, [Услуги[2], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-6).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(40).Дата, Направления[0], Клиенты[1], КонтактныеЛица[1], "Сайт для фотовыставки", Стадии[2], Валюта, 64000, [Услуги[3], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-7).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(37).Дата, Направления[1], Клиенты[2], КонтактныеЛица[2], "Приложение для сотрудников", Стадии[0], Валюта, 78000, [Услуги[4], Услуги[6]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-5).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(28).Дата, Направления[0], Клиенты[5], КонтактныеЛица[5], "Разработка интернет-магазина", Стадии[1], Валюта, 131000, [Услуги[5], Услуги[7]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-5).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(25).Дата, Направления[1], Клиенты[0], КонтактныеЛица[0], "Приложение для клиентов", Стадии[2], Валюта, 68000, [Услуги[6], Услуги[4]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-14).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-9).Дата, Направления[0], Клиенты[5], КонтактныеЛица[5], "Продвижение интернет-магазина", Стадии[0], Валюта, 35000, [Услуги[7], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-5).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(35).Дата, Направления[0], Клиенты[4], КонтактныеЛица[4], "Редизайн сайта", Стадии[0], Валюта, 56000, [Услуги[8], Услуги[7]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-127).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-96).Дата, Направления[0], Клиенты[4], КонтактныеЛица[4], "Лендинг для рекламной кампании", Стадии[3], Валюта, 22000, [Услуги[0], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-123).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-103).Дата, Направления[1], Клиенты[3], КонтактныеЛица[3], "Приложение доставки", Стадии[3], Валюта, 105000, [Услуги[9], Услуги[6]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-96).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-52).Дата, Направления[0], Клиенты[1], КонтактныеЛица[1], "Сайт для фотовыставки", Стадии[3], Валюта, 64000, [Услуги[3], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-95).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-55).Дата, Направления[1], Клиенты[2], КонтактныеЛица[2], "Приложение для сотрудников", Стадии[3], Валюта, 78000, [Услуги[4], Услуги[6]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-66).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-34).Дата, Направления[0], Клиенты[5], КонтактныеЛица[5], "Разработка интернет-магазина", Стадии[3], Валюта, 131000, [Услуги[5], Услуги[7]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-65).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-37).Дата, Направления[1], Клиенты[0], КонтактныеЛица[0], "Приложение для клиентов", Стадии[3], Валюта, 68000, [Услуги[6], Услуги[4]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-13).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-1).Дата, Направления[0], Клиенты[5], КонтактныеЛица[5], "Продвижение интернет-магазина", Стадии[3], Валюта, 35000, [Услуги[7], Услуги[8]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[1], Сейчас.ДобавитьДни(-13).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-1).Дата, Направления[1], Клиенты[2], КонтактныеЛица[2], "Приложение для сотрудников", Стадии[3], Валюта, 89000, [Услуги[4], Услуги[6]]))
Сделки.Добавить(СоздатьСделку(Сотрудники[0], Сейчас.ДобавитьДни(-14).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
Сейчас.ДобавитьДни(-1).Дата, Направления[0], Клиенты[4], КонтактныеЛица[4], "Редизайн сайта", Стадии[3], Валюта, 12000, [Услуги[8], Услуги[7]]))
возврат Сделки
;
метод СоздатьСделку(Ответственный: Сотрудники.Ссылка,
ДатаСоздания: Момент,
ДатаЗакрытия: Дата,
Направление: Направления.Ссылка,
Клиент: Клиенты.Ссылка,
КонтактноеЛицо: КонтактныеЛица.Ссылка,
Наименование: Строка,
Стадия: СтадииСделок.Ссылка,
ВалютаСделки: Валюты.Ссылка,
Сумма: Число,
Услуги: ЧитаемыйМассив<Услуги.Ссылка>): Сделки.Ссылка
знч Сделка = новый Сделки.Объект(
Ответственный = Ответственный,
ДатаСоздания = ДатаСоздания,
ДатаЗакрытия = ДатаЗакрытия,
Направление = Направление,
Клиент = Клиент,
КонтактноеЛицо = КонтактноеЛицо,
Наименование = Наименование,
Стадия = Стадия,
ВалютаСделки = ВалютаСделки,
СуммаВВалютеСделки = Сумма,
СуммаВВалютеУчета = Сумма
)
знч СтоимостьУслуги = Сумма / 2
знч УслугиСделки = Услуги.Преобразовать(Услуга -> новый Сделки.Услуги(Услуга = Услуга, Количество = 1, Цена = СтоимостьУслуги, Сумма = СтоимостьУслуги))
Сделка.Услуги.ДобавитьВсе(УслугиСделки)
Сделка.Записать()
возврат Сделка.Ссылка
;
метод СоздатьЗадачи(Сделки: ЧитаемыйМассив<Сделки.Ссылка>): ЧитаемыйМассив<Задачи.Ссылка>
знч Задачи = <Задачи.Ссылка>[]
знч ДанныеСделок = Пресейл::Сделки.ПолучитьДанныеСделок(Сделки)
знч ЧасовойПояс = ЧасовойПояс.Текущий()
знч Генератор = новый СлучайныйГенератор()
знч СекундВСутках = 86400
для ДанныеСделки из ДанныеСделок
знч ДатаСделки = ДанныеСделки.ДатаСоздания.ВДатаВремя(ЧасовойПояс)
Задачи.Добавить(СоздатьЗадачу(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(1).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "Отправить предложение", "",
ДатаСделки.ДобавитьДни(8).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
СтатусМероприятия.Завершено, ПриоритетЗадачи.Высокий))
Задачи.Добавить(СоздатьЗадачу(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(2).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "Договориться о встрече", "",
ДатаСделки.ДобавитьДни(3).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
СтатусМероприятия.ВПроцессе, ПриоритетЗадачи.Высокий))
Задачи.Добавить(СоздатьЗадачу(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(2).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "Проинформировать о готовности", "",
ДатаСделки.ДобавитьДни(9).ДобавитьСекунды(Генератор.СлучайноеЦелое(До = СекундВСутках)).ВМомент(ЧасовойПояс),
СтатусМероприятия.Запланировано, ПриоритетЗадачи.Обычный))
;
возврат Задачи
;
метод СоздатьЗадачу(Сделка: Сделки.Ссылка,
ДатаСоздания: Момент,
Ответственный: Сотрудники.Ссылка,
Наименование: Строка,
Описание: Строка,
ДатаЗавершения: Момент,
Статус: СтатусМероприятия,
Приоритет: ПриоритетЗадачи = ПриоритетЗадачи.Обычный): Задачи.Ссылка
знч Задача = новый Задачи.Объект(
Владелец = Сделка,
ДатаСоздания = ДатаСоздания,
Ответственный = Ответственный,
Наименование = Наименование,
Описание = Описание,
ДатаЗавершения = ДатаЗавершения,
Статус = Статус,
Приоритет = Приоритет
)
Задача.Записать()
возврат Задача.Ссылка
;
метод СоздатьСобытия(Сделки: ЧитаемыйМассив<Сделки.Ссылка>): ЧитаемыйМассив<События.Ссылка>
знч События = <События.Ссылка>[]
знч ДанныеСделок = Пресейл::Сделки.ПолучитьДанныеСделок(Сделки)
знч ЧасовойПояс = ЧасовойПояс.Текущий()
знч Генератор = новый СлучайныйГенератор()
знч МинутВЧасе = 60
для ДанныеСделки из ДанныеСделок
знч ДатаСделки = ДанныеСделки.ДатаСоздания.ВДатаВремя(ЧасовойПояс)
События.Добавить(СоздатьСобытие(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(2).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "Звонок от клиента", "",
ДатаСделки.ДобавитьДни(3).ВМомент(ЧасовойПояс),
ДатаСделки.ДобавитьДни(3).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс)))
События.Добавить(СоздатьСобытие(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(2).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "E-mail от клиента", "",
ДатаСделки.ДобавитьДни(2).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс),
Момент{}))
События.Добавить(СоздатьСобытие(ДанныеСделки.Ссылка,
ДатаСделки.ДобавитьДни(2).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс),
ДанныеСделки.Ответственный, "Звонок клиенту", "",
ДатаСделки.ДобавитьДни(7).ВМомент(ЧасовойПояс),
ДатаСделки.ДобавитьДни(7).ДобавитьМинуты(Генератор.СлучайноеЦелое(До = МинутВЧасе)).ВМомент(ЧасовойПояс)))
;
возврат События
;
метод СоздатьСобытие(Сделка: Сделки.Ссылка,
ДатаСоздания: Момент,
Ответственный: Сотрудники.Ссылка,
Наименование: Строка,
Описание: Строка,
ДатаНачала: Момент,
ДатаЗавершения: Момент): События.Ссылка
знч Событие = новый События.Объект(
Владелец = Сделка,
ДатаСоздания = ДатаСоздания,
Ответственный = Ответственный,
Наименование = Наименование,
Описание = Описание,
ДатаНачала = ДатаНачала,
ДатаЗавершения = ДатаЗавершения
)
Событие.Записать()
возврат Событие.Ссылка
;