Расширение конфигурации "1С: Предприятие"
Проектирование расширения конфигурации программы "1С: Предприятие" для формирования групп рассылок и автоматического оповещения клиентов информацией с минимальными затратами времени сотрудников. Механизм защиты данных от несанкционированного доступа.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 30.06.2011 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
ЗатратыНаGSMОбороты.Контрагент КАК Контрагент,
ЗатратыНаGSMОбороты.Телефон,
ЗатратыНаGSMОбороты.КоличествоОборот КАК Количество,
ЗатратыНаGSMОбороты.СуммаОборот КАК Сумма
ИЗ
РегистрНакопления.ЗатратыНаGSM.Обороты(&НачалоПериода, &КонецПериода, Период, ) КАК ЗатратыНаGSMОбороты
УПОРЯДОЧИТЬ ПО
Контрагент
На вкладке «Данные» добавим реквизиты «НачалоПериода» и «КонецПериода» с типом Дата.
2.5.4 Реализация интерфейса программы
Интерфейс формируется на основе объектов конфигурации «подсистема». Создадим необходимые подсистемы: контакты, рассылка, настройка, регистры, отчеты (рисунок 2.16)
Рисунок 2.16 - создание подсистем конфигурации
Определим состав каждой подсистемы путем установки галочек во вкладке «Состав» необходимых элементов (рисунок 2.17)
Рисунок 2.17 - формирование состава подсистемы
2.5.5 Установка конфигурации
Процесс внедрения разработанной конфигурации происходит путем загрузки файла конфигурации. Для этого необходимо создать пустую базу данных. Зайти в режиме конфигуратора. Выбрать вкладку «Конфигурация - открыть конфигурацию»
Затем «Конфигурация - загрузить конфигурацию из файла» и указать на файл с разработанной конфигурацией «РассылкаСМС.cf» (рисунок 2.19). После удачной загрузки конфигурации появиться окно с предложением перезагрузить конфигуратор. Далее можно приступать к запуску программы и заполнению клиентской базы.
Рисунок 2.18 - Загрузка конфигурации из файла
Выводы
1. В ходе проектирования и разработки конфигурации для ООО «УК СтавАналит». Выделены связи и сущности для анализа.
2. Расширение конфигурации создано по технологии «управляемого приложения», что подтверждает его соответствие современным требованиям.
3. Размер папки с файлами конфигурации «Рассылка СМС» составляет 3 Мбайт. Эта папка содержит рабочую пустую базу данных.
4. В результате тестирования конфигурации «Рассылка СМС» в реальных условиях производства установлено, что она в полном объеме удовлетворяет требованиям заказчика.
3. ИНФОРМАЦИОННОЕ И ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
3.1 Общие сведения о программном продукте
Информационная подсистема «Рассылка СМС» разработана с помощью платформы «1С:Предприятие» на языке программирования высокого уровня.
Для работы с подсистемой необходимо наличие ПЭВМ типа IBM PC с операционной системой Windows 2000/XP,Vista,Seven, а также установленной платформы «1С:Предприятие 8.2».
Таблица 3.1 - Общие сведения о программе
Наименование сведений |
Содержание сведений |
|
Обозначение программы |
«Рассылка СМС» |
|
Наименование программы |
Информационная подсистема рассылки сообщений через интернет-шлюзы |
|
Программное обеспечение, необходимое для функционирования программы |
Операционная системаWindows 2000/XP,Vista,Seven.1С:Предприятие 8.2 |
|
Язык программирования (среда разработки), на которой написана программа |
Среда разработки:- «1С:Предприятие 8.2»- Язык программирования «1С» |
3.2 Функциональное назначение
Представленная информационная подсистема позволяет сформировать группы подписчиков и осуществлять рассылку сообщений.
Основной целью создания такой подсистемы для заказчика является необходимость своевременного информирования о предстоящих акциях, новостях, информациях об обновлении конфигураций типовых решений «1С» и информациях по подписке на Инженерно-сервисное облуживание.
Конфигурация выполняет следующие функции:
- ведение списков клиентов;
- формирование групп рассылок;
- получение информации о затратах и прибыли от рассылки;
- отправление сообщений клиентам;
- ведение журнала отправленных сообщений.
Ограничение на применение:
- необходимо наличие установленной платформы «1С:Предприятие 8.2»;
- наличие ключа защиты HASP;
- операционная система Windows.
3.3 Описание логической структуры программы
Логическая структура программы представлена в виде диаграммы компонентов (рисунок 3.1).
Рисунок 3.1 - Логическая структура программы
Через рабочий стол открываются формы (ФормаКонтрагентов, ФормаРассылки, ФормаОтчет, ФормаПодписка, ФормаЖурналРассылок). С их помощью обращаются за необходимой информацией через запрос (SQL) к базе данных. База данных, так же через запрос, возвращает необходимые данные формам.
3.4 Требования к техническому обеспечению
3.4.1 Общие требования
Для функционирования конфигурации на рабочей станции должна быть установлена платформа «1С:Предприятие 8.2».
Разработанная конфигурация работает на IBM-совместимых компьютерах под управлением операционной системы Windows XP и выше.
3.4.2 Требования к центральному процессору
На основании проведенных тестовых прогонов было установлено, что необходимо использование операционной системы MS Windows XP и выше, процессор Pentium - совместимый с тактовой частотой от 1000 МГц [23].
Данная цифра учитывает как затраты процессора на работу самого приложения так и затраты связанные с работой операционной системы
3.4.3 Требования к оперативному запоминающему устройству
Для расчета размера, оперативного запоминающего устройства (ОЗУ) являющегося одним из существенных требований к аппаратному обеспечению, используется формула:
V = V1 + V2, (3.1)
где V1 - минимальный необходимый размер ОЗУ используемый ОС, Мбайт;
V2 - объем ОЗУ, используемой программой, Мбайт.
Минимальный необходимый объем оперативной памяти используемый ОС Windows XP составляет V1 = 64 Мбайт [24].
Объем памяти используемый программой составляет V2 = 32 Мбайт с помощью диспетчера задач Windows. (Рисунок 3.2)
Рисунок 3.2 - Объем памяти занимаемый программой
Таким образом, воспользовавшись формулой 3.1, рассчитаем требования ОЗУ для работы с программой, под управлением операционной системы семейства Windows XP.:
V = 64 + 32 = 96 Мбайт.
3.4.3 Требования к свободному пространству на жестком диске
Требования к объёму свободного дискового пространства формируются из требований к клиентской ЭВМ.
Для определения свободного дискового пространства необходимо воспользоваться формулой:
W = W1 + W2 + W3 (3.3)
гдеW1 - место, занимаемое программой после инсталляции платформы «1С: Предприятие», Мбайт;
W2 - предполагаемый объем файлов в ходе работы, Мбайт;
W3 - размер временных файлов в ходе работы программы, Мбайт.
В данном случае размер установленной программы составляет W1=400 Мбайт. Размер, занимаемый файлами в ходе работы будет увеличиваться, так как будет расти база данных клиентов. Поэтому предположительно потребуется около 150 Мбайт. Размер временный файлов составляет W3 = 1 Мбайт [23].
Таким образом, используя формулу (3.3), рассчитаем требования к пространству на жестком диске для работы программы:
W = 400 + 150 + 1 = 551 Мбайт.
Следовательно, рекомендуемым объёмом свободного пространства на жестком диске будем считать 551 Мбайт.
3.4.4 Обоснование требований к монитору
Для работы с программой требуется цветной монитор. Исходя из размеров диалоговых окон, минимальные требования к использованию монитора: разрешение 800x600 при 256 цветах [20].
3.4.5 Требования к источнику бесперебойного питания
Так как в сети возможны перепады напряжения, в связи с чем могут происходить незапланированные перезагрузки компьютера, и, что самое главное, потери информации - что не допустимо. Поэтому рекомендуется установить источник бесперебойного питания.
3.4.6 Обоснование требований к другому техническому обеспечению
Для обеспечения работы подсистемы опционально есть возможность
работать с «Рассылка СМС» в многопользовательском режиме. Для такого режима необходимо наличие локальной вычислительной сети, с пропускной способностью не менее 10 Мбит/c, поддерживающей протокол TCP/IP.
3.5 Установка и вызов программы
Для эксплуатации программы на машине клиента необходим драйвер защиты и аппаратная или программная лицензия, так же должна быть установлена платформа «1С:Предприятие 8.2» (8.2.13.219)
Для начала работы с программой необходимо запустить платформу «1С:Предприятие». В появившемся окне необходимо выбрать из списка информационных баз «Рассылка СМС» и нажать на кнопку «1С:Предприятие» (рисунок 3.3). После чего появится окно «Вход в систему», в котором необходимо ввести имя и пароль пользователя (рисунок 3.4).
Рисунок 3.3 - Выбор информационной базы
Рисунок 3.4 - Вход в систему
3.6 Входные данные
1) данные о контрагентах:
– наименование;
– полное наименование;
– тип контрагента;
– контактная информация.
2) данные об виде рассылки:
– наименование;
– способ рассылки.
3) данные о группах рассылке:
– название;
– назначение;
– список контрагентов.
4) данные о прибыли с рассылки:
– дата;
– прибыль;
– группа рассылки;
– список контрагентов.
3.7 Выходные данные программы
Выходными данными являются:
1) документы;
2) отчеты;
3) справочники.
3.8 Результаты тестирования программы
Для тестирования «Рассылка СМС» был проведен тестовый прогон всех реализованных документов и обработок. Для иллюстрации проведенного тестирования продемонстрируем задачи, решаемые конфигурацией.
Для добавления нового контрагента необходимо выбрать пункт меню КонтактыКонтрагентСоздать, после чего выбрать тип контрагента, ввести наименование и контактную информацию (рисунок 3.5).
Рисунок 3.5 - Создание контрагента
Рисунок 3.6 - Добавление подписки.
После того как контрагент создан, формируется группа подписки (рисунок 3.5).
После того как подписка создана, необходимо определить группу контрагентов для подписки (рисунок 3.7). Для этого необходимо выбрать пункт меню РассылкаГруппы рассылки Создать.
Рисунок 3.7 - Формирование группы рассылки
Рисунок 3.8 - Механизм подбора контрагентов
Добавить в табличное поле контрагентом можно вручную, а так же посредством механизма подбора (рисунок 3.8).
Для отправления сообщения на нашу группу рассылки откроем обработку выбрав в меню РассылкаСервисОтправка GSM (рисунок 3.9).
Рисунок 3.9- Формирования сообщения для группы рассылки
После нажатия на кнопку отправить, формируется документ результата отправки сообщения (рисунок 3.10).
Рисунок 3.10 - Документ результата рассылки
Для просмотра рентабельности рассылки за период предназначен отчет «Рентабельность рассылки GSM», для вызова которого нужно выбрать пункт меню «Отчеты Рентабельность рассылки GSM» (рисунок 3.11).
Рисунок 3.11 - Отчет «Рентабельности рассылки GSM» за период.
3.9 Краткая инструкция по работе с программой
Работа всех пользователей начинается с окна запуска изображенного на рисунке 3.12
Рисунок 3.12 - Окно запуска
В поля «Логин» и «Пароль» пользователь вводит данные (рисунок 3.13).
Рисунок 3.13 - Форма входа в систему
После загрузки программы откроется рабочий стол, содержащий в себе основные элементы для работы менеджера (рисунок 3.14)
Рисунок 3.14 - Рабочий стол
Пользователь может приступить к рассылке, выбрав группу получателей и заполнив текст.
Создание новых контрагентов и заполнение контактной информации осуществляется в закладке «Контакты» (рисунок 3.15)
Рисунок 3.15 - Создание контрагента
Для управления рассылками используется вкладка «Рассылка». Там формируется группа рассылки (рисунок 3.17)
Рисунок 3.16 - Создание группы рассылки
Настройка задержки модема осуществляется во вкладке «Настройки» (рисунок 3.17)
Рисунок 3.17 - Настройка задержки GSM модема
Так же в этой вкладке можно указать стоимость 1 sms-сообщения (рисунок 3.18)
Рисунок 3.18 - Установка тарифа на сообщение
Формирование отчетов происходит во вкладке «Отчеты». Где можно сформировать отчет затрат на определенный период (рисунок 3.19)
Рисунок 3.19 - Отчет затрат на GSM
Выводы
1. В данном разделе было рассмотрено информационное, программное и техническое обеспечение необходимое для работы разработанного программного продукта. Установлено, что минимальные требования к аппаратуре для клиентской части следующие:
- процессор с тактовой частотой 1000 MГц;
- 96 Мбайт ОЗУ;
- 551 Mбайт свободного места на жестком диске;
2. Помимо требований к аппаратуре для работы программы необходимо установить платформу «1С:Предприятие 8.2» (8.2.13.219).
3. Также в данном разделе приведена краткая инструкция для пользователя.
4. Результаты тестирования показали, что программа правильно обрабатывает вводимые данные и выдает ожидаемые выходные данные.
4. технико-ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ ПРОЕКТА
4.1 Краткая характеристика проекта
Целью представленного дипломного проекта является разработка информационной подсистемы «Рассылка СМС» для ООО «УК СтавАналит» г.Ставрополя.
Подсистема предназначена для рассылки сообщений клиентам компании с минимальными затратами времени и средств.
Расширение конфигурации «Рассылка СМС» выполняет следующие функции:
- ведение базы данных клиентов фирмы, в которой содержаться основные данные (фамилия, имя, отчество, контактная информация, вид лица, должность);
- формирование групп рассылок;
- формирование отчета о затратах на рассылку за период;
- формирование отчета о рентабельности рассылки за период.
Данная информационная подсистема реализована на платформе программного продукта «1С:Предприятие 8.2» с помощью встроенного языка программирования «1С».
В результате предпроектного обследования было установлено, что местом функционирования предприятия являются взаимоотношение с клиентами. Необходимо своевременное информирование о предстоящих акциях, новостях, информации об обновлении конфигураций типовых решений 1С и информации по подписке на Инженерно-сервисное облуживание. После внедрения программы ожидается, что время на информирование клиентов сократиться в несколько раз.
В качестве расчетного периода возьмем три года, так как этот период является ориентировочным сроком службы до морального устаревания программы.
4.2 Трудоемкость выполняемых работ
При расчете трудоемкости работ по созданию программного продукта, используется расчет себестоимости автоматизированной информационной системы и оценки экономической эффективности внедрения программного продукта.
В ходе разработки программного обеспечения основные затраты Тпо,, чел.-ч., они определяются по формуле:
Тпо = То + Та + Тп + Тотл + Тд, |
(4.1) |
где - затраты труда на описание задачи, чел.-ч.;
- затраты на разработку блок схемы, чел.-ч.;
- затраты на программирование, чел.-ч.;
- затраты на отладку программы, чел.-ч.;
- затраты на подготовку документации, чел.-ч.
Все составляющие в правой части формулы (4.1) определим через общее число операторов D, ед.:
D = б•c • (1 + p), |
(4.2) |
где б - исходное число строчек кода в тексте программы, (б = 1500 ед.);
с ? коэффициент сложности задачи(с = 1.05 ... 2);
р - коэффициент коррекции программы, учитывающий новизну проекта.
Таким образом, подставив б = 1500 ед., с=1,5, p=0,1 получим:
D = 1500•1,5 • (1 + 0.1)=2475,00 ед. |
Затраты труда на описание задачи принимаем: ТО = 30 чел.-ч. Работу по описанию задачи и все другие работы по созданию программного продукта выполняет инженер-программист с окладом 15000 руб. в месяц и коэффициентом квалификации kК = 1,5.
Затраты труда на изучение задачи ТИ, чел.-ч., с учетом уточнения описания и квалификации программиста могут быть определены по формуле:
ТИ = Db/(sukK), |
(4.3) |
где D - общее число строчек кода в тексте программы, ед.;
b - коэффициент увеличения затрат труда, вследствие недостаточного описания задачи;
su - количество строчек кода в тексте программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);
kK - коэффициент квалификации работника.
В связи с тем, что решение рассматриваемой задачи потребовало уточнения и доработок, примем коэффициент b = 1.
Количество строчек кода в тексте программы, приходящееся на один чел.-ч., примем равным su = 40 ед./ чел.-ч.
Таким образом, на основании формулы (4.3) получим
ТИ = (2475,00 Ч1,5) / (40Ч1) = 41,25 чел.-ч. |
Затраты труда на разработку алгоритма решения задачи ТА, чел.-ч., рассчитываются по формуле:
ТА = D/(sakK), |
(4.4) |
где D - общее число строчек кода в тексте программы, ед.;
sa - количество строчек кода в тексте программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);
kK - коэффициент квалификации работника.
Для расчета по формуле (4.4) примем sa = 30 ед./ чел.-ч.
Подставив численные значения параметров и коэффициентов в формулу (4.4), получим
ТА = 2475,00 /(30Ч1,5) =55 чел.-ч. |
Затраты труда на составление программы по готовой блок-схеме ТП, чел.-ч., определяется по формуле:
ТП =D/(sakK), |
(4.5) |
где D - общее число строчек кода в тексте программы, ед.;
sa - количество строчек кода в тексте программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);
kK - коэффициент квалификации работника.
Для расчетов по формуле (4.5) примем sa = 30 ед./ чел.-ч.
Подставив численные значения параметров и коэффициентов в формулу (4.5), получим:
ТП = 2475,00 /(30Ч1,5) = 55 чел.-ч. |
Затраты труда на отладку программы на персональном компьютере ТОТЛ, чел.-ч., рассчитывается по формуле
ТОТЛ = D / (sотл kK), |
(4.6) |
где D - общее число строчек кода в тексте программы, ед.;
sотл - количество отлаживаемых операторов программы, приходящееся на один чел.-ч., (ед./ чел.-ч.);
kK - коэффициент квалификации работника.
Для расчетов по формуле (4.6) примем sотл = 45 ед./ чел.-ч.
Подставив численные значения параметров и коэффициентов в формулу (4.6), получим
ТОТЛ = 2475,00 / (45Ч1,5) = 36,67 чел.-ч |
Затраты труда на подготовку документации по задаче ТД, чел.-ч., определяются по формуле:
ТД = ТДР + ТДО, |
(4.7) |
где ТДР - затраты труда на подготовку материалов в рукописи, чел.-ч.;
ТДО - затраты труда на редактирование, печать и оформление документации, чел.-ч.
Затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., вычислим по формуле
ТДР =D / (sдр kK), |
(4.8) |
где D - общее число строчек кода в тексте программы, ед.;
sдр - количество операторов программы в рукописи, приходящееся на один чел.-ч., (ед./ чел.-ч.);
kK - коэффициент квалификации работника.
Для расчетов по формуле (4.8) примем sдр = 45 ед./ чел.-ч.
Подставив численные значения параметров и коэффициентов в формулу (4.8), получим
ТДР = 2475,00 / (45Ч1,5) = 36,67 чел.-ч. |
Затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., вычислим по формуле
ТДО = 0,75ЧТДР, |
(4.9) |
Подставив численное значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., в формулу (4.9), получим
ТДО = 0,75Ч36,67 = 27,5 чел.-ч. |
Таким образом, подставив численные значение затраты труда на подготовку материалов в рукописи ТДР, чел.-ч., и затраты труда на редактирование, печать и оформление документации ТДО, чел.-ч., в формулу (4.7) получим:
ТД = 36,67 + 27,25 = 63,92 чел.-ч. |
Подставив все полученные данные, составляющие трудоемкость разработки программного обеспечения в формулу (4.1), получим
ТПО =30+41,25+55+55+36,67+63,92=311,84 чел.-ч. |
С учетом уровня языка программирования трудоемкость разработки программы может быть скорректирована следующим образом:
ТКОР = ТПОkКОР, |
(4.10) |
где kКОР - коэффициент коррекции, учитывающий изменения трудоемкости разработки программного обеспечения в зависимости уровня языка программирования (таблица 4.1);
ТКОР - откорректированная трудоемкость разработки программного обеспечения, чел.-ч.
Использованный для разработки программного обеспечения язык программирования «1С» относится к алгоритмическим языкам высокого уровня, с учетом этого примем kКОР = 0,85.
Таким образом, получим по формуле (4.10) итоговую откорректированную трудоемкость разработки программы
ТКОР =311,84 Ч 0,85= 265,07 чел.-ч. |
4.3 Расчет себестоимости информационной подсистемы
Себестоимость создания информационной подсистемы З, руб., определяется по следующей формуле
З = ЗО + ЗД + ЗС + ЗЭ + ЗМ + ЗП + ЗАО, |
(4.11) |
где ЗО - основная заработная плата производственного персонала, руб.;
ЗД - дополнительная заработная плата производственного персонала, руб.;
ЗС - отчисления на страховые взносы, руб.;
ЗЭ - затраты на потребляемую электроэнергию, руб.;
ЗМ - расходы на материалы и запасные части, руб.;
ЗП - затраты на техническое обслуживание и текущий ремонт вычислительной техники, руб.;
ЗАО - затраты на амортизацию вычислительной техники, руб.
Плановый фонд рабочего времени одного специалиста производственного персонала в месяц tпф, ч, вычислим по формуле
tпф = NрдДtрд, |
(4.12) |
где Nрд - количество рабочих дней специалиста производственного персонала за месяц;
Дtрд - продолжительность рабочего дня специалиста производственного персонала, ч.
Для расчетов по формуле (4.12) примем Nрд = 22 дня, Дtрд = 8 ч. Подставив указанные численные значения параметров Nрд и Дtрд в формулу (4.12) получим, что плановый фонд рабочего времени одного специалиста производственного персонала в месяц составляет
tпф = 22Ч8 = 176 ч.
Таким образом, часовая тарифная ставка sч, руб./ч, инженера-программиста
sч = 15000/176=85,22 ч
Основная заработная плата ЗО, руб., производственного персонала определяется по формуле
ЗО = sч Ч ТКОР |
(4.13) |
Подставив все численные значения параметров в формулу (4.13) получим, что основная заработная плата инженера-программиста
ЗО = 265,07Ч85,22 = 22589,27 руб
Дополнительная заработная плата ЗД, руб.отсутствует (ЗД =0).
Отчисления в Пенсионный фонд Российской Федерации, Фонд социального страхования Российской Федерации и фонды обязательного медицинского страхования Российской Федерации ЗС, руб., вычислим по формуле
ЗС=((ЗО+ЗД)/100) ЧС, |
(4.15) |
где зС ? норматив страховых взносов, %.
Норматив страховых взносов составляет 34 %.
Подставив все численные значения в формулу (4.15) получим, что отчисления на страховые взносы равны
ЗС =((22589,27+0)/100) Ч34%=7680,36 руб.
Затраты на потребляемую электроэнергию ЗЭ, руб.:
ЗЭ = PВtВцЭ, |
(4.16) |
где PВ - мощность ЭВМ, кВт;
tВ - время работы вычислительного комплекса, ч;
цЭ - стоимость 1 кВтч электроэнергии, руб./ кВтч.
Мощность ЭВМ равна 0,3кВт.
Время работы вычислительного комплекса tв, ч, при создании программного продукта вычислим по формуле
tв = бп•(ТП + ТД + ТОТЛ) Ч kКОР |
(4.17) |
где бп - коэффициент, учитывающий затраты времени на профилактические работы на ЭВМ.
Для расчетов по формуле (4.17) примем бп = 1,1 и kКОР = 0,8. Подставив все численные значения параметров в формулу (4.17) получим:
tВ = 1,1Ч(55+36,67+64,17)Ч0,8 =137,14 ч.
Стоимость 1 кВтч электроэнергии составляет цЭ = 3,74 руб./ кВтч.
Подставив все численные значения параметров в формулу (4.16) получим, что затраты на потребляемую электроэнергию составят
ЗЭ =0,3Ч137,14 Ч3,74 = 153,87 руб.
Данные для расчета затрат на материалы и запасные части занесем в таблицу 4.2.
Таблица 4.2 - Данные для расчета затрат на материалы и запасные части
Наименование |
Единица измерения |
Кол-во |
Цена за ед., руб. |
Сумма, руб. |
|
CD-RW - диск |
Шт. |
1 |
25,00 |
25,00 |
|
Бумага |
Пачка |
1 |
200,00 |
200,00 |
|
Доступ в Интернет |
Ч. |
10 |
30,00 |
300,00 |
|
Заправка картриджа принтера Brother HL-2150N |
Шт. |
1 |
300.00 |
300,00 |
|
Итого |
825,00 |
Следовательно, затраты на материалы и запасные части ЗМ составят
ЗМ = 25,00 + 200,00 + 300,00+ 300,00 =825,00 руб
Затраты на техническое обслуживание и текущий ремонт вычислительной техники ЗП, руб.:
ЗП =КВЧ(б/100) Ч( tВ/ tВ.Г) |
(4.18) |
где КВ ? балансовая стоимость вычислительной техники, руб.
б - норма отчислений на ремонт, %;
tВ.Г - годовой фонд времени работы вычислительной техники, ч.
Для расчетов по формуле (4.18) примем:
- балансовая стоимость вычислительной техники KB = 20500,00 руб.;
- норма отчислений на ремонт б = 4%;
- годовой фонд времени работы вычислительной техники при 48-часовой рабочей неделе в текущем году tВ.Г = 2112 ч.
Подставив все численные значения параметров в формулу (4.18) получим, что затраты на техническое обслуживание и текущий ремонт вычислительной техники составят:
ЗП=20500Ч(4/100) Ч(137,14/2112)=53,24 руб
Затраты на амортизацию вычислительной техники АОЗ, руб.:
ЗАО =КВЧ(в/100) Ч( tВ/ tВ.Г) |
(4.19) |
где в - норма отчислений на амортизацию вычислительной техники, %, которая составляет 10%.
ЗАО=20500Ч(10/100) Ч(137,14/2112)=133,10 руб
Все расчеты по статьям калькуляции затрат, составляющих себестоимость автоматизированной информационной подсистемы сведены в таблицу 4.3.
Таблица 4.3 - Величины затраты, составляющих себестоимость автоматизированной информационной системы
Статья расхода |
Сумма, руб. |
|
Основная заработная плата производственного персонала |
22589,27 |
|
Дополнительная заработная плата производственного персонала |
0,00 |
|
Отчисления на страховые взносы |
7680,35 |
|
Затраты на потребляемую электроэнергию |
153,86 |
|
Расходы на материалы и запасные части |
825,00 |
|
Затраты на техническое обслуживание и ремонт вычислительной техники |
54,24 |
|
Затраты на амортизацию вычислительной техники |
133,10 |
|
Итого |
31435,24 |
Таким образом, полные затраты на создание программного продукта составляют 31435,24 руб.
4.4 Оценка экономической эффективности внедрения программного продукта
Показатель эффекта определяет все позитивные результаты, достигаемые
при использовании программного продукта. Прибыль от использования программного продукта за год эксплуатации П, руб., определяется по формуле
П = Э - ЗИСП., |
(4.21) |
где Э - стоимостная оценка результатов применения программного продукта в течение года, руб.;
ЗИСП - стоимостная оценка затрат при использовании программного продукта в течение года, руб.
Приток денежных средств из-за использования программного продукта Э, руб., в течение года может составить:
Э = (ЗРУЧ - ЗАВТ) + ЭДОП, |
(4.22) |
где ЗРУЧ - затраты на ручную обработку информации, руб.;
ЗАВТ - затраты на автоматизированную обработку информации, руб.;
ЭДОП - дополнительный экономический эффект, связанный с уменьшением числа используемых бланков, высвобождением рабочего времени и т. д., руб.
Данный продукт используется офис-менеджером отдела продаж фирмы ООО «УК СтавАналит», г. Ставрополь. Оклад офис-менеджера - 18000 руб., премиальный фонд (доп з/п) - 50 от оклада, Nрд = 22 дней, Дtрд = 8 ч. Тогда, цена одного часа работы офис-менеджера отдела продаж цЧ, руб./ч, составит
цЧ = (18000 +18000Ч0,50)/176 = 153,41 руб./ч.
В ходе исследования было выявлено, что общие затраты времени на ручную обработку информации в месяц tОБЩ. Р, ч, составляют tОБЩ. Р = 30 ч, а общие затраты на автоматизированную обработку информации - tОБЩ. А = 10 ч.
Годовые затраты (затраты за 12 месяцев) офис-менеджера продаж фирмы ООО «УК СтавАналит», г. Ставрополь, при ручной обработке информации вычислим по формуле
ЗРУЧН = tОБЩ. Р Ч12Ч цЧ |
(4.23) |
Годовые затраты (затраты за 12 месяцев) офис-менеджера при автоматизированной обработке информации вычислим по формуле
ЗАВТ = tОБЩ. А Ч12Ч цЧ |
(4.24) |
Получим
ЗРУЧН = 30 Ч 12 Ч 153,41 = 55227,28 руб.; |
(4.23) |
|
ЗАВТ = 10 Ч 12 Ч 153,41 = 18409,09 руб. |
(4.24) |
Следовательно, годовой эффект от внедрения программного продукта, даже без учета дополнительный экономический эффекта (ЭДОП = 0), на основании формулы (4.22), получится равным:
Э = 55227,28 - 18409,09 = 36818,18 руб.
Эксплуатационные затраты при использовании программного продукта состоят из затрат на электроэнергию, техническое обслуживание, текущий ремонт вычислительно техники и затрат на амортизацию вычислительной техники.
На основании формулы (4.16), для персонального компьютера офис-менеджера за 12 месяцев затраты на электроэнергию при потребляемой мощности компьютера PВ =0,3 кВт составят
ЗЭ = 0,3Ч10Ч12Ч3,74 =134,64 руб.
Балансовая стоимость вычислительной техники B K = 20500,00 руб. Тогда, на основании формулы (4.18), для персонального компьютера офис-менеджера за 12 месяцев затраты на техническое обслуживание и текущий ремонт составят:
ЗП=20500Ч0,04Ч(12Ч10/2112)=46,59 руб.
Затраты на амортизацию вычислительной техники по формуле (4.19) составят
ЗАО =20500Ч0,1Ч(12Ч10/2112) = 116,47 руб.
Тогда, эксплуатационные затраты при использовании программного продукта составят:
ЗИСП = 134,64+ 46,59 + 116,47 = 297,70 руб.
Прибыль от использования программного продукта за год рассчитаем по формуле (4.21):
П = 36818,18 - 297,70 = 36520,47 руб.
Таким образом, имеем следующий денежный поток:
0 шаг (капиталовложения) - 31434,83 руб.;
1 шаг-36520,47 руб.;
2 шаг -36520,47 руб.;
3 шаг-36520,47 руб.;
Чистый дисконтированный доход ЧДД, руб., от использования программного продукта определим по формуле:
. |
(4.25) |
где N - расчетный период, год;
ПK - прибыль от использования программного продукта за k-й год его эксплуатации, руб.;
Е - норма дисконта, %;
K - капиталовложения при внедрении программного продукта, руб.
Следовательно, ЧДД, руб., при N = 3, т. е. за три года использования программного продукта (срок до морального старения рассматриваемой конфигурации) при норме дисконта E = 20% в соответствии с формулой (4.25) составит:
Приходим к выводу, что ЧДД ? положителен, т. е. проект эффективен.
Внутреннюю норму доходности проекта Eвн, %, определим по формуле
(4.26) |
где Евн. MAX + - максимальное значение внутренней нормы дисконта, %, при которой ЧДД является положительной величиной (ЧДД > 0);
Евн. MIN - - минимальное значение внутренней нормы дисконта, %, при
которой ЧДД является отрицательной величиной (ЧДД < 0);
- ЧДД, руб., вычисленный по формуле (4.25) при подстановке нормы дисконта Е=;
-ЧДД, руб., вычисленный по формуле (4.25) при подстановке нормы дисконта Е=.
Предполагаем, что EВН лежит в диапазоне 110 ... 115%. При норме дисконта EВН = 110% получаем ЧДД =952,68 руб. Таким образом, при норме дисконта EВН = 110% ЧДД - положителен.
При норме дисконта EВН = 115% получаем ЧДД = -1369,16 руб. Таким образом, при норме дисконта EВН = 115% ЧДД - отрицателен.
Следовательно, по формуле (4.26) имеем:
%
Рассчитаем срок окупаемости проекта. Срок окупаемости проекта ок T, год, найдем по формуле
(4.27) |
где N - максимальное количество лет, прошедших с начала эксплуатации программного продукта, в течение которых величина дохода от его использования не превысила величины капиталовложения при внедрении программного продукта;
Эj- величины приведенных (дисконтированных) годовых эффектов за j-й год, руб., прошедший с начала эксплуатации программного продукта, вычисленные по формуле (4.25) при подстановке нормы дисконта E = 20%.
Величина приведенного (дисконтированного) годового эффекта за первый год расчетного периода по формуле (4.25) равна:
Э1==30433,73
что немного меньше величины капиталовложений (K = 31434,82 руб.).
Тогда, в формуле (4.27) имеем N = 0 и срок окупаемости составит
года.
Выводы
1. В процессе анализа технико-экономического обоснования разработки расширение конфигурации «Рассылка СМС» для ООО «УК СтавАналит», было экономически обоснована рентабельность разработки.
2. Затраты на разработку подсистемы составили 31434,82 руб.
3. Трудоемкость разработки проекта составила 265,07 чел-ч.
4. Годовая выгода от внедрения программного продукта составляет 36520,47 руб.
5. Технико-экономический эффект достигается в виде повышения оперативности.
6. Срок окупаемости информационной подсистемы составляет 1,03 года.
7. Учитывая данные всех рассмотренных показателей, можно утверждать о целесообразности внедрения на предприятии данной программной разработки.
ЗАКЛЮЧЕНИЕ
Результатом дипломного проекта является разработка, на основе использования последних CASE-технологий, расширение конфигурации «1С: Рассылка СМС».
В результате дипломного проектирования было показано, что:
? общая трудоемкость разработки программного продукта составляет 265,07 чел.-ч.;
? полные затраты на создание программного продукта 31434,82 руб.;
? годовой эффект от внедрения программного продукта составляет 36520,47 руб.;
? срок окупаемости проекта 1,03 года.
После полного внедрения разработанного расширения конфигурации «Рассылка СМС» затраты времени менеджера отдела продаж на информирование контрагентов компании сократились с 60 до 10 часов в месяц, т. е. примерно в шесть раз.
Таким образом, приходим к заключительному выводу о том, что разработка расширение конфигурации «Рассылка СМС» является экономически эффективной и обоснованной.
К перспективным направлениям развития темы дипломного проекта можно отнести расширение функциональных возможностей разработанной конфигурации, введение модуля CRM.
ПРИЛОЖЕНИЯ
Приложение А
Листинг программы «Рассылка СМС»
А1. Листинг модуля объекта «ОтправкаGSM»
&НаКлиенте
Процедура Отправить(Команда)
Если ПроверитьЗаполнение() Тогда
Для Каждого стр из ЭтаФорма.Объект.Список Цикл
Текст = ЭтаФорма.Объект.Текст;
Номер = стр.Номер;
Если Лев(Номер,1)="7" тогда
Если СтрДлина(Номер)=11 Тогда
рез = GSM(Номер,Текст);
Иначе
Сообщить(номер + " неправильный формат номера!");
Продолжить;
КонецЕсли;
ИначеЕсли Лев(Номер,1)="8" Тогда
Номер = "7"+Сред(Номер,2);
Если СтрДлина(номер)=11 Тогда
рез = GSM(Номер,Текст);
Иначе
Сообщить(номер + " неправильный формат номера!");
Продолжить;
КонецЕсли;
Иначе
Сообщить(номер + " неправильный формат номера!");
Продолжить;
КонецЕсли;
стр.Отправлено = Истина;
КонецЦикла;
Состояние("Формирование документа отправки");
СформироватьДокументОтправки();
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция GSM(Номер,Текст)
SMS = Новый COMОбъект("SMS.Helper");
SMS.PhoneNumber = Номер;
Если Константы.FlashMod.Получить() Тогда
sms.FlashMode = True;
Иначе
sms.FlashMode = False;
КонецЕсли;
Если ЗначениеЗаполнено(Константы.ЗадержкаGSM.Получить()) Тогда
sms.TimeOuts = Константы.ЗадержкаGSM.Получить();
Иначе
sms.TimeOuts = 200;
КонецЕсли;
рез = SMS.SendMessage(Текст);
Если рез Тогда
Сообщить("сообщение отправленно");
Иначе
Сообщить(SMS.ErrorMessage);
КонецЕсли;
sms = NULL;
Возврат рез;
КонецФункции
&НаКлиенте
Процедура ТекстОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, СтандартнаяОбработка)
Сч = 0;
Если СтрДлина(СокрЛП(Текст))>60 Тогда
дл = СтрДлина(СокрЛП(Текст));
Пока Дл>0 Цикл
дл = дл -60;
сч = сч +1;
КонецЦикла;
ЭтаФорма.Элементы.Надпись.Заголовок ="Количество символов: "+СтрДлина(СокрЛП(Текст)) +" Сообщение будет разбито на "+сч;
Иначе
ЭтаФорма.Элементы.Надпись.Заголовок ="Количество символов: "+СтрДлина(СокрЛП(Текст));
КонецЕсли;
ЭтаФорма.Объект.Текст = СокрЛП(Текст);
Если СЧ = Неопределено ИЛИ СЧ = 0 Тогда
СЧ=1;
КонецЕсли;
ЗаписатьРеквизитКоличество(Сч);
СтандартнаяОбработка = ИСТИНА;
КонецПроцедуры
&НаСервере
Процедура ЗаписатьРеквизитКоличество(СЧ)
Объект.Количество = СЧ;
КонецПроцедуры
&НаКлиенте
Процедура ГруппаРассылокПриИзменении(Элемент)
СформироватьСписок();
КонецПроцедуры
&НаСервере
Процедура СформироватьСписок()
ЗАпрос = Новый Запрос;
ЗАпрос.Текст = "ВЫБРАТЬ
|ГруппаРассылки.Контрагент КАК Контрагент,
|ВложенныйЗапрос.Значение КАК Номер,
|ВЫБОР
|КОГДА ГруппаРассылки.Контрагент.ТипКонтрагента = &ТипКонтрагента
|ТОГДА ""Телефон Юр.Лица""
|ИНАЧЕ ПРЕДСТАВЛЕНИЕ(ГруппаРассылки.Контрагент.ФизЛицо)
|КОНЕЦ КАК Получатель
|ИЗ
|РегистрСведений.ГруппаРассылки КАК ГруппаРассылки
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|КонтактнаяИнформация.Контрагент КАК Контрагент,
|КонтактнаяИнформация.ВидКонтактнойИнформации КАК ВидКонтактнойИнформации,
|КонтактнаяИнформация.Значение КАК Значение
|ИЗ
|РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
|КонтактнаяИнформация.ВидКонтактнойИнформации.СпособРассылки = &СпособРассылки) КАК ВложенныйЗапрос
|ПО ГруппаРассылки.Контрагент = ВложенныйЗапрос.Контрагент
|ГДЕ
|ГруппаРассылки.Регистратор = &Регистратор
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ
|ГруппаРассылки.Контрагент,
|ВложенныйЗапрос.Значение,
|ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Получатель)
|ИЗ
|РегистрСведений.ГруппаРассылки КАК ГруппаРассылки
|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
|КонтактныеЛица.Контрагент КАК Контрагент,
|КонтактныеЛица.ВидКонтактнойИнформации КАК ВидКонтактнойИнформации,
|КонтактныеЛица.Значение КАК Значение,
|КонтактныеЛица.ФизическоеЛицо КАК Получатель
|ИЗ
|РегистрСведений.КонтактныеЛица КАК КонтактныеЛица
|ГДЕ
|КонтактныеЛица.ВидКонтактнойИнформации.СпособРассылки = &СпособРассылки) КАК ВложенныйЗапрос
|ПО ГруппаРассылки.Контрагент = ВложенныйЗапрос.Контрагент
|ГДЕ
|ГруппаРассылки.Регистратор = &Регистратор
|УПОРЯДОЧИТЬ ПО
|Контрагент
|АВТОУПОРЯДОЧИВАНИЕ";
Запрос.УстановитьПараметр("Регистратор",Объект.ГруппаРассылок);
Запрос.УстановитьПараметр("СпособРассылки", Перечисления.ТипРассылки.GSM);
Запрос.УстановитьПараметр("ТипКонтрагента", Перечисления.ТипКонтрагента.ЮридическоеЛицо);
Объект.Список.Очистить();
Объект.Список.Загрузить(Запрос.Выполнить().Выгрузить());
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ЭтаФорма.Тариф = ПолучитьТекущийТариф();
Если ЭтаФорма.Тариф = 0 Тогда
Сообщить("Установите тариф на GSM сообщения в регистре сведений (ТарифGSM)");
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьТекущийТариф()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|ТарифGSMСрезПоследних.ЦенаЗаСообщение
|ИЗ
|РегистрСведений.ТарифGSM.СрезПоследних(&Дата, ТипРассылки = &ТипРассылки) КАК ТарифGSMСрезПоследних";
Запрос.УстановитьПараметр("Дата",ТекущаяДата());
Запрос.УстановитьПараметр("ТипРассылки",Перечисления.ТипРассылки.GSM);
Рез = Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
Объект.ТарифСМС = Рез.ЦенаЗаСообщение;
Возврат Рез.ЦенаЗаСообщение;
Иначе
Объект.ТарифСМС = 0;
Возврат 0;
КонецЕсли;
КонецФункции
&НаСервере
Процедура СформироватьДокументОтправки()
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Контрагент");
ТЗ.Колонки.Добавить("Номер");
счетчик = 0;
Если Объект.Список.Количество()>0 Тогда
Для каждого стр из Объект.Список Цикл
Если стр.Отправлено = Истина Тогда
новая = ТЗ.Добавить();
новая.Контрагент = стр.Контрагент;
новая.Номер = стр.Номер;
счетчик = счетчик + Объект.Количество;
КонецЕсли;
конецЦикла;
КонецЕсли;
Если ТЗ.Количество()>0 Тогда
Док = Документы.ДокументОтправкиGSM.СоздатьДокумент();
Док.Дата = ТекущаяДата();
Док.Текст = Объект.Текст;
Док.Количество = счетчик;
Док.КоличествоСМС = Объект.Количество;
Док.ИтогоСумма = счетчик * Объект.ТарифСМС;
Док.ГруппаРассылок = Объект.ГруппаРассылок;
Таблица =Док.Список;
Для каждого стр из ТЗ Цикл
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Контрагент = стр.Контрагент;
НоваяСтрока.Номер = стр.Номер;
КонецЦикла;
Док.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;
КонецПроцедуры
Листинг модуля объекта «Подбор контрагентов»
&НаКлиенте
Процедура Отобрать(Команда)
Отбор();
КонецПроцедуры
&НаСервере
Функция Отбор()
Если Объект.ФизЮрЛицо = Перечисления.ТипКонтрагента.ФизическоеЛицо Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Контрагенты.Ссылка,
|Контрагенты.ФизЛицо,
|РАЗНОСТЬДАТ(Контрагенты.ФизЛицо.ДатаРождения, &Дата, ГОД) КАК Лет
|ИЗ
|Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|Контрагенты.ТипКонтрагента = &ТипКонтрагента
|И (Контрагенты.ФизЛицо.Пол = &Пол ИЛИ &ВесьПол)
|И РАЗНОСТЬДАТ(Контрагенты.ФизЛицо.ДатаРождения, &Дата, ГОД) МЕЖДУ &ВозрастОТ И &ВозрастДо
|И (Контрагенты.Родитель = &Родитель
|ИЛИ Контрагенты.Родитель.Родитель = &Родитель
|ИЛИ Контрагенты.Родитель.Родитель.Родитель = &Родитель
|ИЛИ &ВсеРодители)
|И Контрагенты.ЭтоГруппа = ЛОЖЬ";
Если ЗначениеЗаполнено(Объект.Группа) Тогда
Запрос.УстановитьПараметр("Родитель",Объект.Группа);
Запрос.УстановитьПараметр("ВсеРодители",ЛОЖЬ);
Иначе
Запрос.УстановитьПараметр("Родитель",ЛОЖЬ);
Запрос.УстановитьПараметр("ВсеРодители",ИСТИНА);
КонецЕсли;
Запрос.УстановитьПараметр("ТипКонтрагента",Объект.ФизЮрЛицо);
Запрос.УстановитьПараметр("Дата",ТекущаяДата());
Если ЗначениеЗаполнено(Объект.Пол) Тогда
Запрос.УстановитьПараметр("Пол",Объект.Пол);
Запрос.УстановитьПараметр("ВесьПол",Ложь);
Иначе
Запрос.УстановитьПараметр("Пол",ЛОЖЬ);
Запрос.УстановитьПараметр("ВесьПол",ИСТИНА);
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ВозрастОт) Тогда
Запрос.УстановитьПараметр("ВозрастОт",Объект.ВозрастОт);
Иначе
Запрос.УстановитьПараметр("ВозрастОт",0);
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ВозрастДо) Тогда
Запрос.УстановитьПараметр("ВозрастДо",Объект.ВозрастДо);
Иначе
Запрос.УстановитьПараметр("ВозрастДО",500);
КонецЕсли;
Иначе
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Контрагенты.Ссылка
|ИЗ
|Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|(Контрагенты.ТипКонтрагента = &ТипКонтрагента ИЛИ &ВСЕ)
|И (Контрагенты.Родитель = &Родитель
|ИЛИ Контрагенты.Родитель.Родитель = &Родитель
|ИЛИ Контрагенты.Родитель.Родитель.Родитель = &Родитель
|ИЛИ &ВсеРодители) И Контрагенты.ЭтоГруппа = ЛОЖЬ";
Если ЗначениеЗаполнено(Объект.Группа) Тогда
Запрос.УстановитьПараметр("Родитель",Объект.Группа);
Запрос.УстановитьПараметр("ВсеРодители",ЛОЖЬ);
Иначе
Запрос.УстановитьПараметр("Родитель",ЛОЖЬ);
Запрос.УстановитьПараметр("ВсеРодители",ИСТИНА);
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ФизЮрЛицо) Тогда
Запрос.УстановитьПараметр("ТипКонтрагента",Объект.ФизЮрЛицо);
Запрос.УстановитьПараметр("ВСЕ",ЛОЖЬ);
Иначе
Запрос.УстановитьПараметр("ТипКонтрагента",ЛОЖЬ);
Запрос.УстановитьПараметр("ВСЕ",ИСТИНА);
КонецЕсли;
КонецЕсли;
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Контрагент");
Рез = Запрос.Выполнить().Выбрать();
Пока рез.Следующий() Цикл
Если Объект.ФизЮрЛицо = Перечисления.ТипКонтрагента.ФизическоеЛицо Тогда
День = Формат(Рез.ФизЛицо.ДатаРождения,"ДФ=d");
Месяц = Формат(Рез.ФизЛицо.ДатаРождения,"ДФ=M");
Если ЗначениеЗаполнено(Объект.ДеньРождения) И ЗначениеЗаполнено(Объект.МесяцРождения) Тогда
Если Число(День) = Объект.ДеньРождения И Число(Месяц) = Объект.МесяцРождения Тогда
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Контрагент = Рез.Ссылка;
КонецЕсли;
Иначе
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Контрагент = Рез.Ссылка;
КонецЕсли;
Иначе
НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.Контрагент = Рез.Ссылка;
КонецЕсли;
конецЦикла;
Объект.Подбор.Загрузить(ТЗ);
КонецФункции
&НаКлиенте
Процедура ФизЮрЛицоПриИзменении(Элемент)
Если ПроверкаНаСервереТипаКонтрагента() Тогда
ЭтаФорма.Элементы.ПоДатеРождения.Видимость = Истина;
Иначе
ЭтаФорма.Элементы.ПоДатеРождения.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПроверкаНаСервереТипаКонтрагента()
Если Объект.ФизЮрЛицо = Перечисления.ТипКонтрагента.ФизическоеЛицо Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура Выбрать(Команда)
Для каждого строка из ЭтаФорма.Объект.Подбор Цикл
стр=ВладелецФормы.Объект.Список.Добавить();
стр.Контрагент = строка.контрагент;
КонецЦикла;
ЭтаФорма.Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Если ПроверкаНаСервереТипаКонтрагента() Тогда
ЭтаФорма.Элементы.ПоДатеРождения.Видимость = Истина;
Иначе
ЭтаФорма.Элементы.ПоДатеРождения.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
Листинг модуля объекта «Контрагенты»
&НаСервере
Перем Таблица Экспорт;
&НаКлиенте
Процедура ПриОткрытии(Отказ)
СформироватьТаблицуСервер();
Если ПроверкаНаСервереТипаКонтрагента() Тогда
ЭтаФорма.Элементы.НаименованиеПолное.Видимость = Ложь;
ЭтаФорма.Элементы.ФизЛицо.Видимость = Истина;
ЭтаФорма.Элементы.Группа2.Видимость = Ложь;
Иначе
ЭтаФорма.Элементы.НаименованиеПолное.Видимость = Истина;
ЭтаФорма.Элементы.ФизЛицо.Видимость = Ложь;
ЭтаФорма.Элементы.Группа2.Видимость = Истина;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура СформироватьТаблицуСервер()
Обработка = РеквизитФормыВЗначение("Объект");
Таблица = Обработка.СформироватьТаблицу();
Номер = 1;
Для каждого Строка из Таблица Цикл
контакт = КонтактнаяИнформация.Добавить();
Контакт.Контрагент = строка.Контрагент;
Контакт.ВидКонтактнойИнформации = строка.ВидКонтактнойИнформации;
Контакт.Значение = Строка.Значение;
КонецЦикла;
Если Объект.ТипКонтрагента = Перечисления.ТипКонтрагента.ЮридическоеЛицо Тогда
ТаблицаЛица = Обработка.СформироватьТаблицуЛица();
Для каждого Строка из ТаблицаЛица Цикл
контакт = КонтактныеЛица.Добавить();
Контакт.Контрагент = строка.Контрагент;
Контакт.ФизическоеЛицо = строка.ФизическоеЛицо;
Контакт.ВидКонтактнойИнформации = строка.ВидКонтактнойИнформации;
Контакт.Значение = Строка.Значение;
Контакт.Должность = Строка.Должность;
КонецЦикла;
КонецЕсли;
ЗначениеВРеквизитФормы(Обработка, "Объект");
КонецПроцедуры
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если не Отказ Тогда
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Контрагенты.Ссылка
|ИЗ
|Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|Контрагенты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",Объект.Ссылка);
Рез = Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
НаборЗаписей = РегистрыСведений.КонтактнаяИнформация.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Контрагент.Установить(Объект.Ссылка);
Для каждого Строка из КонтактнаяИнформация Цикл
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Контрагент = объект.Ссылка;
НоваяЗапись.ВидКонтактнойИнформации = Строка.ВидКонтактнойИнформации;
НоваяЗапись.Значение = Строка.Значение;
КонецЦикла;
НаборЗаписей.Записать();
КонецЕсли;
рез.Сбросить();
Если Объект.ТипКонтрагента = Перечисления.ТипКонтрагента.ЮридическоеЛицо Тогда
Если рез.Следующий() Тогда
НаборЗаписей2 = РегистрыСведений.КонтактныеЛица.СоздатьНаборЗаписей();
НаборЗаписей2.Отбор.Контрагент.Установить(Объект.Ссылка);
Для каждого строка из КонтактныеЛица Цикл НоваяЗапись = НаборЗаписей2.Добавить();
НоваяЗапись.Контрагент = объект.Ссылка;
НоваяЗапись.ВидКонтактнойИнформации = Строка.ВидКонтактнойИнформации;
НоваяЗапись.ФизическоеЛицо = Строка.ФизическоеЛицо;
НоваяЗапись.Значение = Строка.Значение;
НоваяЗапись.Должность = Строка.Должность;
КонецЦикла;
НаборЗаписей2.Записать();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ТипКонтрагентаПриИзменении(Элемент)
Если ПроверкаНаСервереТипаКонтрагента() Тогда
ЭтаФорма.Элементы.НаименованиеПолное.Видимость = Ложь;
ЭтаФорма.Элементы.ФизЛицо.Видимость = Истина;
ЭтаФорма.Элементы.Группа2.Видимость = Ложь;
Иначе
ЭтаФорма.Элементы.НаименованиеПолное.Видимость = Истина;
ЭтаФорма.Элементы.ФизЛицо.Видимость = Ложь;
ЭтаФорма.Элементы.Группа2.Видимость = Истина;
Объект.ФизЛицо = "";
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПроверкаНаСервереТипаКонтрагента()
Если Объект.ТипКонтрагента = Перечисления.ТипКонтрагента.ФизическоеЛицо Тогда
Возврат 1;
Иначе
Возврат 0;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура ФизЛицоПриИзменении(Элемент)
ЭтаФорма.Объект.НаименованиеПолное = ЭтаФорма.Объект.ФизЛицо;
КонецПроцедуры
&НаКлиенте
Процедура КонтактнаяИнформацияПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)
Если ПроверкаЗаписанОбъект() Тогда
//все хорошо
Иначе
Ответ =Вопрос("Перед добавлением контактной информации необходимо записать элемент. Записать?", РежимДиалогаВопрос.ДаНет,0);
Если Ответ = КодВозвратаДиалога.Да Тогда
ЗаписатьОбъект();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаписатьОбъект()
Записать();
КонецПроцедуры
&НаСервере
Функция ПроверкаЗаписанОбъект()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Контрагенты.Ссылка
|ИЗ
|Справочник.Контрагенты КАК Контрагенты
|ГДЕ
|Контрагенты.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка",Объект.Ссылка);
Рез = Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
Размещено на Allbest.ru
Подобные документы
Проектирование модуля на базе 1С Предприятие для предприятия, занимающегося сборкой и ремонтом компьютеров. Разработка конфигурации информационной системы. Описание 1C Предприятие. Проектирование конфигурации. Создание справочников, документов и отчетов.
курсовая работа [1,7 M], добавлен 28.07.2015Понятие объектов конфигурации как составных элементов, из которых складывается прикладное решение. Состав основных объектов конфигурации, поддерживаемых технологической платформой "1С: Предприятие", и их характеристика. Анализ свойств конфигурации.
презентация [1,9 M], добавлен 12.06.2013Разработка конфигурации, реализующей учет товаров на складе хозяйственных товаров. Составляющие конфигурации, хранение в константах одного значения в базе данных. Разработка управляемого приложения, анализ данных. Реализация бизнес-процессов и задач.
курсовая работа [2,9 M], добавлен 01.04.2013Информационные системы в экономике. Создание на базе системы "1С: Предприятие 8" новой конфигурации ООО "На все руки мастер". Отчетные документы средствами конфигуратора программного комплекса. Адаптация типовой конфигурации "Бухгалтерия предприятия".
отчет по практике [1,7 M], добавлен 07.12.2009Разработка конфигурации программы в среде "1С:Предприятие 7.7" для учета клиентов. Автоматизация процедуры учета заработной платы. Описание среды программирования, требования к техническому и программному обеспечению. Методика разработки проекта.
дипломная работа [349,2 K], добавлен 17.07.2014Учет оказываемых услуг в стоматологической клинике. Автоматизация бизнес-процессов. Технологическая платформа "1С: Предприятие". Описание конфигурации, объектов метаданных. Отображение процесса ввода данных и формирования документов. Регистры бухгалтерии.
дипломная работа [1,9 M], добавлен 17.11.2015Анализ особенностей работы и технических возможностей программы "1С: Предприятие", предназначенной для решения широкого круга задач по автоматизации учетной и офисной деятельности. Характеристика основных средств администрирования и конфигурации системы.
курсовая работа [417,8 K], добавлен 28.05.2010Понятие конфигурации в системе программ 1С: Предприятие 8.0. Технологические средства выполнения конфигурирования. Метаданные, регистр накопления, пользовательские интерфейсы. Механизм сравнения и объединения конфигураций. Администрирование в системе.
курсовая работа [1007,3 K], добавлен 02.12.2015Использование средств статического и динамического анализа программ. Принципы работы компилятора при генерации кода на примере MS Visual Studio 2003 (C++). Взлом защиты от несанкционированного доступа предоставленной программы разными способами.
контрольная работа [4,2 M], добавлен 29.06.2010Разработка на основе экономической информационной системы (на примере платформы "1С: Предприятие 8") конфигурации для учета продаж в студенческом киоске. Интеграция соответствующих прикладных решений (конфигураций) программы в универсальной рабочей среде.
курсовая работа [3,3 M], добавлен 21.06.2023