close

Вход

Забыли?

вход по аккаунту

Калабников Владислав Андреевич. Разработка подсистемы учета недвижимости для ООО «Корпорация «Проект-техника»

код для вставки
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИЙ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ И.С. ТУРГЕНЕВА»
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
по направлению подготовки
09.03.03 Прикладная информатика
Направленность (профиль) Проектирование информационных систем
Студента Калабникова Владислава Андреевича
шифр 110140/п
Институт заочного и очно-заочного образования
Тема выпускной квалификационной работы
«Разработка подсистемы учета недвижимости для ООО «Корпорация «Проекттехника»
Студент
В.А. Калабников
Руководитель
В.А. Фролова
Нормоконтроль
Н.А. Загородних
Зав. кафедрой
информационных систем
В.Н. Волков
Орёл 2018
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ЫОДЖЕТ1IOE ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ И.С. ТУРГЕНЕВА»
Институт заочного и очно-заочного образования
Кафедра информационных систем
Направление 09.03.03 Прикладная информатика
Направленность (профиль) Проектирование информационных систем
УТВЕРЖДАЮ:
Зав. кафедрой
В.Н. Волков
« // »
с<. л ___ 20
г.
ЗАДАНИЕ
на выполнение выпускной квалификационной работы
студента Калабникова Владислава Андреевича
шифр 110140/п
1 Тема ВКР «Разработка подсистемы учета недвижимости для ООО «Корпорация
«Проект-техника»
Утверждена приказом по университету от «31» октября 2017г. № 2-3071
2 Срок сдачи студентом законченной работы «18» июня 2018г.
3 Исходные данные к работе
Теоретический материал; информация о предметной области
4 Содержание пояснительной записки (перечень подлежащих разработке
вопросов)
Анализ учета недвижимости ООО «Корпорация «Проект-техника», реинжиниринг
бизнес-процесса учета недвижимости
Проектирование информационной подсистемы учета недвижимости для ООО
«Корпорация «Проект-техника»
Реализация информационной подсистемы учета недвижимости для ООО
«Корпорация «Проект-техника»
5 Перечень демонстрационного материала
Презентация, отображающая основные этапы и результаты выполнения ВКР
Дата выдачи задания
«11» мая 2018г.
Руководитель
В.А. Фролова
Задание принял к исполнению
В.А. Калабников
КАЛЕНДАРНЫЙ ПЛАН
Наименование этапов работы
Изучено теоретические материалы
для выполнения ВКР, в результате
которого отобраны литературные
источники, необходимые для
выполнения индивидуального
задания.
тп и сан а предметная область и
поставлена задача.
Проектирование подсистемы
учета недвижимости
информационной системы
«Система учета сервисных услуг»
Реализация подсистемы учета
недвижимости для ООО
«Корпорация «Проект-Техника»
Написание отчета по ВКР.
Сроки выполнения
этапов работы
Примечание
11.05.2018-14.05.2018
15.05.2018-18.05.2018
19.05.2018-26.05.2018
27.05.2018-10.06.2018
11.06.2018-18.06.2018
Студент
В.А. Калабников
(подпись)
Руководитель
В.А. Фролова
шсь)
АННОТАЦИЯ
ВКР 116 с., 32 рис., 21 табл., 9 источников, 2 прил.
ПОДСИСТЕМА УЧЕТА НЕДВИЖИМОСТИ ДЛЯ ООО «КОРПОРАЦИЯ
ПРОЕКТ-ТЕХНИКА», АВТОМАТИЗАЦИЯ УЧЕТА. 1С ПРЕДПРИЯТИЕ 8.3
Выпускная квалификационная работа посвящена разработке подсистемы учета
недвижимости для ООО «Корпорация «Проект-техника».
В первой главе была описана предметная область, проанализирован процесс
текущего учета недвижимости в корпорации, выявлены проблемы данного учета,
проанализированы
существующие
разработки
на
рынке
программного
обеспечения, поставлена задача на проектирование, обоснованы средства
программной
реализации
подсистемы
учета
недвижимости
и
выявлены
функциональные требования к подсистеме.
Во второй главе описан процесс проектирования подсистемы учета
недвижимости для ООО «Корпорация «Проект-техника». Описана новая модель
бизнес-процесса учета недвижимости для подсистемы учета недвижимости,
описана модель данных подсистемы учета недвижимости и спроектирована
структура данных подсистемы.
В третьей главе описывается процесс реализации подсистемы учета
недвижимости. Описывается разработанная диаграмма вариантов использования,
приводятся
некоторые
из
используемых
алгоритмов
подсистемы
учета
недвижимости, а также показан процесс разработки пользовательского интерфейса
и логики его работы.
4
СОДЕРЖАНИЕ
ВВЕДЕНИЕ ...................................................................................................................... 5
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ ............... 7
1.1 Описание предметной области ............................................................................ 7
1.2 Анализ существующих разработок на рынке программного обеспечения .. 14
1.3 Постановка задачи на проектирование ............................................................. 19
2 ПРОЕКТИРОВАНИЕ ПОДСИСТЕМЫ УЧЕТА НЕДВИЖИМОСТИ СИСТЕМЫ
«СИСТЕМА УЧЕТА СЕРВИСНЫХ УСЛУГ» ........................................................... 23
2.1 Модель процесса подсистемы учета имущества корпорации ........................ 23
2.2 Информационная и физическая модель данных подсистемы учета
недвижимости (имущества) корпорации ................................................................ 30
2.3 Структура данных подсистемы Учет имущества корпорации ....................... 32
3 РЕАЛИЗАЦИЯ ПОДСИСТЕМЫ УЧЕТА НЕДВИЖИМОСТИ............................ 57
3.1 Диаграмма вариантов использования ............................................................... 57
3.2 Описание алгоритм разрабатываемой подсистемы ......................................... 59
3.3 Разработка пользовательского интерфейса и логики его работы .................. 69
ЗАКЛЮЧЕНИЕ ............................................................................................................. 83
СПИСОК ЛИТЕРАТУРЫ............................................................................................. 84
ПРИЛОЖЕНИЕ А ......................................................................................................... 85
ПРИЛОЖЕНИЕ Б ........................................................................................................ 113
УДОСТОВЕРЯЮЩИЙ ЛИСТ № 110140/п.............................................................. 114
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА ДОКУМЕНТА НА
ЭЛЕКТРОННОМ НОСИТЕЛЕ .................................................................................. 115
5
ВВЕДЕНИЕ
Корпорация «Проект-техника» — один из глобальных лидеров по
разработке и производству решений в области мобильной инфраструктуры
специального назначения.
Основными активами корпорации являются Инженерный центр, заводы по
производству мобильной техники (Шумерлинский завод специализированных
автомобилей, Орелтекмаш), Центр сервисных решений, завод по производству
электротехники (Проектэлектротехника).
Коллектив корпорации — две тысячи пятьсот сотрудников, работающих в
семи городах европейской части России.
Для учета и управления бизнес-процессами на предприятии используются
несколько готовых программных продуктов на базе системы 1С: Предприятие 8.3,
Microsoft Excel, а также собственные разработки на базе системы 1С Предприятие
8.3 – «Учет планирования проектами» и «Система учета сервисных услуг». Перед
нами поставлена задача разработки единой корпоративной информационной
подсистемы учета недвижимости корпорации (мебель, корпоративная оргтехника,
и прочие единицы имущества) системы «Система учета сервисных услуг».
Объект проектирования – процесс учета недвижимости (имущества: мебель,
корпоративная оргтехника, корпоративная бытовая техника) в ООО «Корпорация
Проект-Техника».
На сегодняшний момент данный процесс не автоматизирован и ведется
вручную с использованием бумажных носителей и электронных таблиц Microsoft
Excel. Отсутствует единая база документов и единиц имущества.
Целью работы является создание и внедрение информационной подсистемы
учета недвижимости для ООО «Корпорация «Проект-Техника».
Для достижения цели необходимо решить следующие задачи:
–
рассмотреть предметную область и осуществить анализ существующих
разработок автоматизации учета имущества;
6
–
выполнить
нефункциональные
постановку
требования
задачи
и
описать
разрабатываемой
функциональные
подсистемы
и
учета
недвижимости;
–
выполнить проектирование модели данных и пользовательского
интерфейса подсистемы учета недвижимости;
–
выполнить реализацию подсистемы учет недвижимости для ООО
«Корпорация «Проект-техника».
7
1 ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА
ЗАДАЧИ
1.1 Описание предметной области
Корпора́ция «Проект-техника» — одна из крупнейших российских
машиностроительных компаний, часть военно-промышленного комплекса России,
специализирующаяся на создании, производстве и постпродажном обслуживании
подвижной техники многоцелевого и специального назначения. Компания является
крупнейшим поставщиком мобильной техники для силовых структур РФ.
Продукция компании входит в список изделий государственной программы
вооружения РФ экспортируется в 21 страну мира. Корпорация выпускает технику
трех уровней, которые отличаются друг от друга по процентному содержанию
иностранных комплектующих и материалов в технике (по требованию
Министерства
Обороны
РФ
в
некоторых
образцах
техники
запрещено
использование иностранных материалов). В год выпускается более 1000 единиц
техники.
По данным от 2013 года, на предприятиях компании работает около двух
тысяч сотрудников.
В составе корпорации находится более десяти внутренних организаций, а
также их подразделений:
–
«Корпорация «Проект-техника;»
–
«Шумерлинский завод специализированных автомобилей;»
–
«Орелтекмаш»;
–
«Инженерный центр»;
–
«Проектэлектротехника»;
–
«Центр сервисных решений»;
–
«Интегрированные решения».
Регламентированный и управленческий учет хозяйственной деятельности в
ООО «Корпорация Проект-Техника» ведется в информационных системах на базе
«1С: Предприятие 8.3».
8
Для них задействованы следующие конфигурации:
1. «1С: Бухгалтерия предприятия 3.0». Используется для автоматизации
ведения бухгалтерского и налогового учета, в соответствии с действующим
законодательством. Данная конфигурация является универсальным решением,
которое автоматизирует выполнение задач бухгалтерского отдела корпорации,
начиная от выписки первичной документации и заканчивая, такими задачами как
подготовка обязательной отчетности и необходимый учет. В корпорации
используется как для автоматизации формирования налоговой отчетности, так и
ведения всех необходимых электронных документов бухгалтерского учета.
2. «1С: ERP Управление предприятием 2». Данная конфигурация
представляет из себя удобный и эффективный инструмент автоматизации
управления производством, ведения регламентированного учета и мониторинга
основных показателей деятельности корпорации. Используется в качестве
основной производственной информационной системы в корпорации
3. «1С: Зарплата и управление персоналом 2.5» – автоматизирует задачи
управления персоналом, ведение кадрового учета и расчетов в соответствии с
требованиями законодательства для любых коммерческих предприятий. Система
получает данные об управлении сотрудниками, проведении мероприятий по
подбору и обучению персонала, оценивает квалификацию производственного и
управленческого состава. В корпорации используется для автоматизации
управления персоналом, ведения кадрового учета и формирования выплат
сотрудникам.
Также на предприятии используется несколько нетиповых конфигураций:
1. Учет планирования проектами – позволяет учитывать работу сотрудников
в разрезе проектов, собирать и хранить рабочее время сотрудников, результаты
проектной деятельности сотрудников, создавать многоступенчатные планы
проектов, реализовывать механизм персонализированных проектных задач,
которые привязаны к этапам проектов, а также учитывать, анализировать и
связывать с проектами конструкторские структуры изготавливаемых изделий по
проектам.
9
2. «Система управления сервисных услуг» –является центральной системой
взаимодействия и обслуживания персонала корпорации. Информационная система
позволяют сотруднику корпорации заявить о потребностях, возникшей в ходе
работы, а также о возникших неполадках в работе любой из информационных
систем
корпорации.
Также
данная
система
позволяет
руководителям
подразделений выставлять своим подчиненным определенные задачи с помощью
составления заявки. Система выступает в качестве связующего узла между всеми
информационными системами на базе 1С Предприятие 8.3 – позволяет управлять
подключениями всех пользователей к определенной информационной системе, а
также осуществлять мониторинг подключений.
В составе корпорации находится более десяти внутренних организаций, а
также их подразделений, для каждого сотрудника которых предусмотрено рабочее
виртуально место во всех информационных системах на базе 1С Предприятие. По
каждому сотруднику корпорации ведется учет рабочей активности, времени
исполнения и завершения задач через информационную систему на базе 1С
Предприятие 8.3 «Система учета сервисных услуг». Любые запросы и обращения
пользователей регистрируются в данной системе.
Абсолютно все закупки любых товаров, услуг и прочих единиц для
корпорации «Проект-техника» осуществляются с помощью двух информационных
систем на базе 1С Предприятие 8.3 – 1С ERP управление предприятием и 1С
Бухгалтерия предприятия 3.0. В том числе это касается и закупки объектов
недвижимости – имущества корпорации, в перечень которого входят: мебель,
корпоративная оргхтехника, бытовая техника. После того, как был осуществлен
процесс закупки имущества, в информационной системе на базе 1С Предприятие
8.3 – Бухгалтерия 3.0 оформляется документ, который отражает все необходимые
начальные данные – саму единицу имущества, количество, цену, и прочие
необходимые данные.
Параллельно с этим сотрудники административного отдела, отвечающие за
принятие, размещение и далнейший учет имущества корпорации, через свои
источникид данных К сожалению, управленческий учет по внутренним
10
поступлениям, перемещениям и списанию происходит посредством работы
нескольких людей с несколькими общими файлами Excel, результаты деятельности
которой фиксируются посредством неунифицированных печатных документов.
На сегодняшний день большая часть учета имущества – конкретно мебели,
корпоративной оргтехники и бытовой техники корпорации ведется с помощью
работы с файлами через MS Excel, находящимися в общем локальном ресурсе сети
корпорации. Сотрудники получают данные извне о появлении новой единицы
имущества, и заносят данные в один из общих файлов Excel формата, в котором
указывают всю необходимую информацию соответствующего формата колонок в
таблице файла. Данные файлы используют для хранения данных о всех операциях,
производимых над имуществом: поступление, различного рода перемещения,
списание имущества, а также для учета арендной платы и занесения информации о
текущем состоянии износа имущества. В файле не ведется учет видов
производимых операций над имуществом, а только конечный результат прихода,
перемещения или списания имущества. Арендная плата расчитывается на основе
внутренних показателей, а процент износа имущества определяется работником
самостоятельно и дальнейшего пересчета процента износа не происходит.
Проанализируем бизнес-процесс учета имущества в корпорации, построив
диаграмму AS-IS в нотации IDEF0, которая изображена на рисунке 1.
Рисунок 1 – Модель бизнесс-процесса Учет имущества в корпорации (AS-IS)
11
Учет имущества корпорации на данный момент начинается с получения
сотрудником данных о поступлении нового имущества, а также о различных
перемещениях текущих единиц имущества и его списании с данными, которые
помогают расчитать арендную плату.
Уполномоченный работник корпорации, который имеет соответствующие
привелегии по правам, работает с одним из общих файлов через Microsoft Excel, в
который вносит все необходимые данные по всем операциям, которые
производились с имуществом:
При поступлении нового имущества сотрудник формирует новую строку в
листе книги Excel, наименование которого содержит в себе данные о городе, офисе
и этаже. В данную строку заносятся следующие параметры имущества:
–
дата поступления;
–
наименование;
–
количество;
–
инвентарный номер, формируемый вручную;
–
организация, которой принадлежит имущество;
–
организация, в которой будет использоваться данная единица
имущества;
–
процент износа в зависимости от состояния имущества;
–
стоимость закупки;
–
арендная плата, высчитываемая исходя из закупочной цены и
предоставляемых данных от других отделов;
–
указывается место хранения –номер кабинета или же другого любого
помещения на конкретном этаже;
–
ответственное лицо;
–
сотрудник, который будет пользоваться данной единицей имущества;
–
показатель
«за
балансом»,
который
определяется
работником
согласное его должностных инструкций.
При перемещении имущества, соответственно, изменяется текущая строка
имущества с изменением соответствующих измененных данных или же удаляется
12
строка с текущего листа и заводится новая – другими словами ни о каком хранении
истории речи не ведется.
При списании имущества у текущей строки в поле инвентарный номер
заносится значение «Списано» или строка полностью удаляется, на усмотрение
сотрудника.
В итоге обобщим основные процессы:
–
прием нового имущества;
–
перемещение текущего имущества;
–
списание текущего имущества;
–
расчет арендной платы.
Рассмотрим данные действия через декомпозицию контекстной диаграммы
«Модель бизнес-процесса учета имущества в корпорации (AS-IS)» представленную
на рисунке 2.
Рисунок 2 – Декомпозиция блока «Учет имущества корпорации»
Из всего этого делаем вывод, что использование Excel в качестве
управления учетом имущества в корпорации – это крайне неудобно, неэффективно
и может повлечь за собой большое количество ошибок, так как отсутствует
контроль над работой сотрудника со стороны Excel.
13
Управление учетом имущества в корпорации основывается на информации,
отражающей объем, структуру и динамику поступления, внутренних перемещений
и списаний единиц имущества. От рациональной организации
потоков
информации в учете имущества предприятия, способов сбора, регистрации,
передачи, хранения и обработки информации, ее состава и своевременного
получения зависят оперативности и эффективности управления процессами учета
всех операций, производимых над единицами имущества.
Основной проблемой учета недвижимости является то, что в качестве
системы учета используется табличный процессор MS Excel, в котором отсутствует
контроль качества и правильности результатов работы сотрудников корпорации.
Исходя из этого, резко возрастает риск возникновения ошибок при сборе,
обработке и хранении информации, от которой зависит оперативный учет. Это и
ведение базы всего имущества в разрезе необходимых параметров: организация,
подразделение,
ответственный,
и,
в
связи
со
спецификой
внутренней
организационной структуры корпорации, учет процессов аренды имущества, где в
качестве арендодателей и арендаторов выступают внутренние организации/
подразделения корпорации. При этом, данные по учету имущества необходимы не
только сотрудникам административного отдела, но и бухгалтерии. Данные
запрашиваются выборочно при помощи звонка или письма одному из
ответственных сотрудников по учету имущества. Именно эти факторы ведут к
рутинной работе и низкой скорости обработки информации, а также к возможным
ошибкам и неточностям работы учета имущества.
Исходя изописанного выше видны следующие проблемы:
–
высокая трудоемкость обработки информации;
–
большое количество вкладок, дублирование информации, долгий
поиск нужной информации;
–
невозможность
собрать
необходимую
информацию
в
разрезе
обязательных параметров, которые необходимы на данный момент (организация,
подразделения, ответственный, пользователь и тд.);
14
–
отсутствие единого механизма управления учетом имущества, который
бы велся в рамках уже существующей информационной системы на базе 1С
Предприятие 8.3 «Система учета сервисных услуг».
Исходя из следующих недостатков, можно сделать вывод, что необходимо
создать подсистему учета имущества Корпорация, которая бы взаимодействовала
с уже с сущестующими информационными системами, либо же входила в состав
одной из информационных систем.
В связи с тем, что в корпорации уже имеется единая информационная
система на базе 1С Предприятие 8.3 «Система учета сервисных услуг», то было
принято решение связать создаваемую подсистему учета имущества с уже
существующей «Система учета сервисных услуг» («Система учета сервисных
услуг»). Рассмотрим, почему было принятно именно такое решение с помощью
анализа текущих разработок на рынке программного обеспечения.
1.2 Анализ существующих разработок на рынке программного
обеспечения
При разборе предметной области выявлено, что все информационные
системы, используемые в корпорации так или иначе созданы и используются в
среде 1С Предприятие 8.3. В связи с тем, что нам необходимо использовать данные
из уже существующих м информационных систем, то для удобства будем
рассматривать и анализировать существующие разработки на базе 1С Предприятие
3.0.
Конфигурация "Инвентаризация и управление имуществом" предназначена
для автоматизации процессов управления объектами имущества, предоставляет
возможности
управления
имуществом,
проведения
инвентаризаций
и
диагностических осмотров.
Конфигурация "Инвентаризация и управление имуществом" охватывает
процессы, сопровождающие объекты имущества на всем жизненном цикле.
Система используется как небольшими компаниями, так и крупными компаниями,
имеющими территориально распределенную структуру со множеством филиалов.
15
Функциональность
конфигурации
"Инвентаризация
и
управление
имуществом" определяется списком подсистем, которые входят в ее состав:
–
управление имуществом;
–
управление инвентаризациями;
–
плановые осмотры;
–
аналитическая отчетность.
Подсистема «управление имуществом» позволяет вести единый учет всех
объектов имущества, с контролем количества, типов, ответственных и статусов.
Получать актуальную информацию об объектах имущества и вести ее оперативное
обновление
в
соответствии
с
требованиями.
Подсистема
предоставляет
пользователю возможность регистрации в системе процессов, связанных с
управлением имуществом.
Такими процессами являются:
–
поступление имущества;
–
выдача со склада;
–
списание имущества;
–
передача имущества;
–
возврат на склад;
–
присвоение имуществу штрих-кода и (или) RFID-метки.
Подсистема «управление инвентаризациями» предоставляет пользователю
возможность
проведения
пользователь
может
процесса
указывать
инвентаризации.
наименование
и
При
тип
инвентаризации
имущества,
место
расположения, дату проведения инвентаризации и ответственное лицо.
Инвентаризация имущества может быть первичной или вторичной. Под
первичной инвентаризацией понимается ввод данных об объектах имущества в
информационную систему. Такой тип инвентаризации чаще всего проводится без
использования специальных идентифицирующих устройств, поскольку в момент
первичной инвентаризации объекты имущества еще не промаркированы и не
введены в систему.
16
Под вторичной инвентаризацией понимается проверка наличия уже
введенных в информационную систему объектов имущества, с применением
технологии штрихкодирования и (или) RFID-метки. В процессе инвентаризации
проверяется наличие имущества на местах их закрепления. Также существует
возможность ввода или корректировки параметров объектов имущества.
Подсистема
«плановые
осмотры»
предоставляет
пользователю
возможность проведения диагностических осмотров имущества с применением
оборудования автоматической идентификации.
Плановые
диагностические
осмотры
предназначены
для
контроля
состояния объектов имущества различных типов.
В подсистеме реализованы следующие функции:
–
создание документов по проведению плановых и внеплановых
осмотров;
–
регистрация
текущего
состояния
имущества,
с
возможностью
инициации каких-либо действий - например, списание имущества, передача в
ремонт) с объектами имущества по итогам проведения осмотра.
Конфигурация "Инвентаризация и управление имуществом" позволяет
создавать аналитические отчеты, по которым может оцениваться эффективность
выполнения операций с имуществом. В отчетах указывается тип, место
расположения, наименование и статус имущества. Отчеты позволяют проводить
анализ статистических данных, накопленных в информационной базе.
Конфигурация «Клеверенс: Учет имущества. Конфигурация «Клеверенс:
Учет имущества» представляет собой систему для автоматизации учета любого
имущества в организациях.
Система позволяет вести учет любого имущества (основные средства,
материалы, малоценка) в разрезе помещений, где они находятся (или должны
находиться), в разрезе МОЛ, текущих держателей и многих других параметров.
В системе уже предусмотрены средства для маркировки любого
поступающего имущества как штрихкодами, так и RFID-метками.
Есть
17
встроенный редактор этикеток, имеется готовая налаженная интеграция со
специальными принтерами этикеток и RFID-меток.
Инвентаризация может проводиться сразу несколькими сотрудниками в
течение любого промежутка времени, после чего система сама сводит воедино все
собранные данные и формирует правильный результат.
Описанные
выше
программные
продукты
имеют
обширный,
самодостаточный функционал, но учитывая очень немалую стоимость как одной
лицензии,
так
и
дополнительных,
а
также
необходимость
реализации
взаимодействия между информационными системами, мы обязаны рассмотреть
вариант создания собственной подсистемы для уже имеющейся информационной
системы на базе 1С Предприятие 8.3 с самописной нетиповой конфигураций –
«СУСУ», которая уже на данный момент с помощью разработанного ранее
функционала обеспечивает необходимые нам взаимодействия между разными
информационными системи (1С Бухгалтерия Предприятия 3.0).
Поэтому, на основании информации о готовых решениях необходимо
рассмотреть все имеющиеся характеристики существующих программных средств
и
предполагаемо
разрабатываемой
подсистемой
учета
имущества
в
информационной системе «Система учета сервисных услуг».
Если проанализировать все рассмотренные варианты существующих
разработок и собственную подсистему, то можно прийти к следующему выводу:
данные разработки нецелесообразно использовать в корпорации, так как они не
совсем соотсветствуют требованиям внутреннего заказчика: в них представлено
очень много функций, которые в принципе не будут использоваться сотрудниками,
которые будут работать с учетом имущества в информационной системе «Система
учета сервисных услуг» , также если сравнить цены для покупки и использования
данных разработок с ценой разработки подсистемы, то сразу видна выгода в
создании и использовании разрабатываемой подсистемы.
18
Таблица 1 – Сравнительная характеристика готовых решений автоматизации
продаж
1
Характеристика
2
3
4
Подсистема «Учет 1С Предприятие
1С: Управление
недвижимости
торговлей 8
8.3
Инвентаризация и
управление
имуществом
Бесплатная (на
Лицензия
Платная
Платная
основании
основной
системы)
Исходный код
Открытый
Закрытый
Открытый
Интерфейс
Модуль основной
Модуль ПО
Модуль ПО
администрирован
ИС, модуль
ия
подсистемы
Операционная
Windows XP и
Windows XP и
Windows XP и
система
выше, Linux
выше
выше
Да
Да
Объектно-
Объектно-
Объектно-
ориентированный
ориентированный
ориентированный
язык платформы
язык платформы
язык платформы
1С
1С
1С
Поддерживает
Нет
Поддерживает
Требует установки Да
на сервере
Языки
программировани
я
Модульность
19
Продолжение таблицы 1
1
2
Фиксация
3
4
Да
Да
Да
Да
Да
Да
Клиент-сервер
Клиент-сервер
Клиент-сервер
действий
пользователей
Разграничение
прав доступа
Архитектура
Также, для покупаемых разработок требуется покупка лицензий, что тоже
затратно, в отличии от разрабатываемой подсистемы, которая будет использовать
уже существующие. Получается, наиболее выгодно в материальном плане, а также
с точки зрения практической реализации – создание собственной подсистемой.
Создание подсистемы учета недвижимости в корпорации позволит сократить
избыточность и время обработки хранимых данных, а также предоставит
возможность работы пользователям в единой информационной системе, которая
сама по себе является мощным инструментом для работы. Также данная
подсистема позволит реализовать все необходимые требования к учету имущества
и процессу работы пользователя с ним, а также увеличить степень надежности
обрабатываемых данных и исключить возможность ошибок «человеческого
фактора»,
а
также
сократить
время
взаимодействия
между
разными
подразделениями корпорации.
1.3 Постановка задачи на проектирование
Исходя из анализа предметной области, проблем текущего учета и анализа
существующих разработок, выявим основные задачи для проектирования
подсистемы «Учет недвижимости» информационной системы «СУСУ».
20
Целью проектирования подсистемы «Учет недвижимости» является
проектирование подсистем учета имущества, формирования на основании
хранимой информации отчетности и информационной рассылки посредством
автоматической отправки писем необходимому списку пользователей.
Показатели деятельности сотрудников, работающих с учетом имущества
должны храниться в базе данных информационной системы «Система учета
сервисных услуг».
Для проектируемой подсистемы «Учет недвижимости» можно выделить
следующие возможности:
–
ввод информации в таблицы и справочники;
–
изменений информации в справочниках и документах;
–
удаление информации, потерявшей актуальность;
–
поиск информации по тем или иным признакам;
–
просмотр информации;
–
обработка информации с получением результатов.
На основании полученной информации подсистема «Учет недвижимости»
должна производить учет следующих показателей:
–
учет поступлений имущества;
–
учет перемещений имущества;
–
учет списаний имущества;
–
учет и анализ количества текущего имущества;
–
формирование отчетности по основным показателям;
–
формирование рассылки электронных писем с уведомлениями о
созданных документах.
Подсистема «Учет недвижимости» должна позволять получить данные из
базы основной системы, просмотреть данные, осуществить поиск по данным,
выбрать запись данных для редактирования. Также подсистема должна
автоматизировать деятельность следующих сотрудников:
–
администратор подсистемы учета недвижимости;
–
сотрудник административного отдела;
21
–
сотрудники с ограниченным уровнем доступа на просмотр.
Исходя из предыдущих данных и проведенных анализов, средством
программной реализации подсистемы будет выбрана среда 1С Предприятие 8.3,
потому что данная подсистема будет являться частью информационной системы на
базе 1С Предприятие 8.3 «СУСУ». Поэтому, проводить сравнительный анализ
разных сред разработки не имеет смысла.
Теперь же соберем воедино все функциональные требования подсистемы,
которые предъявлены руководством корпорации и выявлены в процессе анализа
предметной области.
Данная
подсистема
необходима
для
реализации
и
дальнейшей
автоматизации учета имущества с необходимыми критериями. Перечислим все
необходимые функциональные возможности, которые требуются при работе
данной подсистемы:
–
формирование любых документов, отражающих все операции,
производимые над единицами имущества – приход, перемещения и списание
имущества;
–
формирование
поступления
и
создания
единиц
имущества
в
подсистеме с помощью обработки данных из внешнего файла формата Excel;
–
формирование и изменение уникальных инвентарных номеров для
каждой единицы имущества, при этом инвентарные номера должны вестить в
разрезе всех внутренних организаций корпорации и изменяться при изменении
организации, на балансе которой находится единица имущества;
–
чранение внутри подсистемы всей истории единицы имущества, также
формирование разнообразных отчетов по учету имущества корпорации;
–
имущества
расчет арендной платы с определенным периодом за единицу
исходя
из
внешних
данных,
которые
заносятся
имущества
исходя
в
единую
из
времени
информационную систему «СУСУ»;
–
расчет
амортизации
единицы
использования данного имущества в корпорации;
22
–
разграничение по правам пользователей – доступ к элементам
подсистемы должен быть только у тех пользователей, которым предоставлен
необходимый уровень доступа к подсистеме учета недвижимости;
–
единый рабочий стол учета имущества для пользователей данной
подсистемы, которое бы включала в себя все элементы подсистемы и способы их
использования, которое бы было доступно только тем сотрудникам, у которых есть
права на работу с данной подсистемой.
В силу того, что данная подсистема уже внедряется в информационную
систему на базе 1С Предприятие 8.3 «СУСУ», которая уже является единой для
всех пользователей, то и подсистема будет обладать такими же свойствами.
23
2 ПРОЕКТИРОВАНИЕ ПОДСИСТЕМЫ УЧЕТА НЕДВИЖИМОСТИ
СИСТЕМЫ «СИСТЕМА УЧЕТА СЕРВИСНЫХ УСЛУГ»
2.1 Модель процесса подсистемы учета имущества корпорации
При разработке данной подсистемы необходимо учитывать те особенности,
которые были в ней, сохранить необходимое и устранить те недостатки, которые
были выявлены входе анализа существующего процесса учета имущества
корпорации. Учитывая то, что у нас есть уже диаграмма характера AS-IS, то от нас
сейчас требуется ввести информационную модель типа TO-BE – то есть с учетом
всех необходимых изменений и сохранением тех или иных особенностей, которые
хочет видеть руководство корпорации в этой подсистеме
Одной из главных задач является устранения Excel файлов в качестве
главного хранилища и источника отчетной информации по учету имущества
корпорации, а также внедрение контроля при обработке данных пользователем
подсистем.
Для этого сначала необходимо разработать новую схему процесса учета
имущества подсистемы учета имущества корпорации 1 характера TO-BE, которая
будет представлена на рисунке 3.
Рисунок 3 –Модель учета имущества в корпорации с учетом внедрения
подсистемы учета имущества корпорации
24
Данная модель демонстрирует, что после создания и внедрения подсистемы,
вся необходимая деятельность, по учету имущества переносится на новую среду
выполнения – информационную систему на базе 1С Предприятие 8.3 «СУСУ», и
теперь появляется возможность формирования всех необходимых документов и
формирование отчетов и сбора оперативных данных через специальное рабочее
место пользователя 1С, специально разработанное для пользователей подсистемы
учета имущества корпорации.
Основными функциями, представленными на декомпозиции блока «Учет
имущества корпорации» диаграммы AS-IS учета имущества, были следующие
процессы:
–
прием нового имущества;
–
перемещение текущего имущества;
–
списание текущего имущества;
–
ручной расчет арендной платы.
Теперь, пользователь при получении информации о поступлении новой
единицы имущества имеет возможность с помощью своего нового инструмента
работы создать электронный документ, отвечающий за оформление в единой
информационной системе поступления нового имущества. При этом у сотрудника
имеется возможность создания данного документа вручную или на основании
специльного внешнего файла формата Excel, на основе которого подсистемой
автоматически будут созданы все необходимые виды справочной информации и
электронный документ поступления имущества.
При формировании и проведении данного документа в подсистеме будут
произведены соответствующие изменения данных, автоматически сформированы
инвентарные номера для каждой единицы имущества, а также сохранены все
необходимые данные.
Пользователю доступны для создания несколько видов электронных
документов перемещения имущества, в зависимости от его типа, а также исходных
данных пользователь будет делать выбор в соотстветствии с искомой
25
потребностью. При оформлении данных документов, так же будут сформированы
все необходимые данные для ведения оперативного учета имущества корпорации.
В завизимости от вида переноса при необходимости также будет изменен
уникальный инвентарный номер имущества, исхода из данных в документе и в
целом в подсистеме – в отличии от старого вариант, когда сотрудник выставлял его
вручную.
В подсистеме для пользователя также имеется возможность оформления
электронного документа, отвечающего за учет списанного имущества корпорации.
При формировании пользователю необходимо лишь выбрать списываемые
единицы имущества, после чего подсистема сама формирует все необходимые
данные, чтобы в оперативном учете имущества единицы имущества из
сформированного документа имели статус списанных.
При этом, при списании имущества предыдущая информация никуда не
удаляется, а сохраняется в системе для использования в отчетах по оперативному
учету имущества.
Теперь сотруднику нет необходимости в ручном режиме производить
расчет арендной платы имущества. Теперь это делается в автоматическом режиме
самой подсистемой с заданой переодичностью исходя с помощью тех данных,
которые пользователь предоставил подсистеме.
До этого пользователь производил оценку износа имущества вручную без
какой-либо привязки к данным имущества. Сейчас же подсистема автоматически
производит расчет исходя из тех данных, которые занесены в систему с
применением определнных правил, которые были составлены в процессе общения
с руководством компании (внутренним заказчиком).
При проведении операций над имуществом, таких как поступление,
перемещения и списания, подсистема автоматически формирует инвентарный
номер имущества исходя из данных, которые введены с помощью электронных
документов подсистемы.
Главным плюсом является то, что вся информация, которая обрабатывается
пользователем через данную подсистему проходит проверку, сохраняется в
26
системе и с помощью ее ведется оперативный учет. Все описанные выше
особенности отображены на декомпозиции блока «Учет имущества корпорации»,
представленной на рисунке 4.
Рисунок 4 – Декомпозиция блока «Учет имущества корпорации»
Декомпозиция блока Поступление нового имущества представлена на
рисунке 5. Из нее видно, что пользователю предоставляется на выбор два пути
взаимодействия с подсистемой при создании нового документа поступления
имущества:
–
формирование документа поступления при помощи загрузки данных
файла источника, при котором автоматически будет создан новый документ
поступления с уже всеми созданными необходимыми данными, готовый к
проведению;
–
формирование
документа
поступления
вручную,
при
этом
пользователю необходимо заполнять определенные справочники, а также вручную
заполнять форму документа, и только после этого появится возможность сначала
записать, а затем провести документ.
27
Рисунок 5 – Декомпозиция блока «Поступление нового имущества»
Декомпозиция блока «Перемещение имущества» представлена на рисунке
6. На ней отображено, что пользователь согласно требования корпорации и
должностным инструкциям анализирует информацию о перемещении имущества,
и на ее основе выбирает один из типов документов перемещения имущества.
После сотрудник переходит к созданию нового документа перемещения
имущества выбранного типа, где он заполняет необходимые данные на форме
документа. Большая часть данных заполняется автоматически. После заполнения
формы документа и проверки введеных данных пользователь может либо записать,
либо же сразу инициировать проведение нового документа перемещения
имущества. После этого проведенный документ обрабатывается подсистемой и
данные, заложенные в данный документ, вносятся в оперативный учет имущества
корпорации. В дальнейшем эти данные доступны для формирования отчетов,
вывода на печать или сохранения во внешний файл путем стандартных процедур
платаформы 1С Предприятие 8.3. Также при проведении новый документ
добавляется в регистр сведений в качестве объекта рассылки уведомлений по
электронной почте.
28
Рисунок 6 – Декомпозиция блока «Перемещение текущего имущества»
Декомпозиция блока «Списание текущего имущества» представлена на
рисунке 7. На ней отображено, что сотруднику необходимо выбрать формирование
документа списания имущества, далее заполнить на форме имущества ключевые
данные. После этого необходимо провести документ, и данные отправятся в
обработку оперативного учета имущества корпорации, а в подсистеме учета
имущества будет отображен новый документ списания имущества.
Рисунок 7 – Декомпозиция блока «Списание текущего имущества»
29
Декомпозиция блока «Оперативный учет имущества представлена на
Рисунке 8. Из нее мы видим, что после формирования каких-либо документов,
отражающих производимые операции над имуществом, подсистема анализирует
данные всех документов подсистемы, и предоставляет данные для формирования
отчетов или печати данных по документу. Пользователь сам выбирает, каким
образом выводить оперативные данные по учету имущества корпорации.
Подсистема по команде пользователя производит сбор данных для формирования
отчетов и печати. Также она, автоматически по расписанию, заданному
администратором подсистемы учета имущества, производит расчет арендной
платы и процента износа имущества для каждой единицы имущества, которая
попадает под настроенные условия и расписание в соответствии с заданными
параметрами в подсистеме учета недвижимости.
Из полученных данных выше видно, что теперь процесс учета имущества в
корпорации
происходит
посредством
взаимодействия
пользователя,
автоматизированной подсистемы и необходимого контроля от подсистемы.
Рисунок 8 – Декомпозиция блока «Оперативный учет имущества»
30
2.2 Информационная и физическая модель данных подсистемы учета
недвижимости (имущества) корпорации
Дальнейшим этапом проектирования подсистемы учета имущества идет
построение информационной и физической модели данных подсистемы типа
«сущность связь».
Модель Сущность-Связь (ER-модель) — это модель данных, позволяющая
описывать концептуальные схемы. Она предоставляет графическую нотацию,
основанную на блоках и соединяющих их линиях, с помощью которых можно
описывать объекты и отношения между ними какой-либо другой модели данных
ER-диаграммы
очень
удобны
при
проектировании
моделей
информационных систем, баз данных, архитектур программ и т.д. В ER-диаграмме
указываются сущности, отношения между сущностями и атрибуты сущностей.
По
ориентации
на
этапы
жизненного
цикла
проектирования
информационных систем CASE-технологии подразделяются на средства анализа,
предназначенные для построения и анализа моделей проблемной области, и
средства проектирования баз данных, обеспечивающих моделирование данных и
генерацию схем баз данных. При проектировании баз данных используется CASEсредство DBSchema для создания логической и физической модели данных
Логическая модель базы данных подсистемы «Учет недвижимости» состоит
из 8 справочников, 13 таблиц. На модели представлены как элементы подсистемы,
так и используемые элементы основной системы. Модель представлена на рисунке
9.
Поскольку выбрана реализация на технологической платформе 1С
Предприятие 8.3. то в создании структуры базы данных с применением конкретной
СУБД нет необходимости. Технологическая платформа 1С предприятие позволяет
создавать
структуру
данных
на
основе
метаданных
конфигурации
и
самостоятельно отвечает за размещение и доступ данных на жестком диске.
Задачей разработчика является создание документов с указанной структурой и
обеспечение взаимосвязи документов по ключевым полям.
Рисунок 9 – Логическая модель базы данных подсистемы учета недвижимлости корпорации
31
32
2.3 Структура данных подсистемы Учет имущества корпорации
Для дальшей разработки и реализации подсистемы учета имущества
корпорации необходимо создать все необходимые нам элементы метаданных в
среде 1С Предприятие 8.3.
Поскольку подсистема учета недвижимости входит в состав системы на базе
«1С: Предприятие 8.3» – «СУСУ», то данная подсистема использует часть объектов
основной системы . В составе подсистемы учета недвижимости была
задействованы следующие объекты конфигурации:
–
перечисления;
–
роли;
–
справочники;
–
документы;
–
общие модули;
–
константы;
–
регламентные задания;
–
регистры сведений;
–
регистры накоплений;
–
отчеты;
–
обработки.
Перечисления являются средством для работы с элементами данных, список
возможных значений которых жестоко задан в данной прикладной задаче. Ссылки
на элементы перечисления могут быть использованы в реквизитах объектов
конфигурации.
В рамках разработки данной подсистемы было создано одно перечисление.
СтруктурныеВидыЗдания со значениями:
–
«Здание»;
–
«Этаж»;
–
«Кабинет».
Назначение данного перечисления будет описано при рассмотрении тех
объектов конфигурации, в которых оно выступает в качестве реквизита.
33
Так как пользователи данной подсистемы будут работать в уже налаженной
информационной системе на базе 1С Предприятие 8.3, то нам не требуется какихлибо специфических наработок для реализации ограничей по правам доступа к
нашей подсистеме. Поэтому используется такой объект конфигурации как Роли.
Роль является объектом метаданных конфигурации, которая позволяет
организовать органичения прав доступа к определенным объектам конфигурации
и отдельных подсистем.
Для того, чтобы реализовать механизм доступа к нашей подсистеме была
созданы следующие роли:
–
«УчетИмущества»;
–
«УчетИмуществаСотрудник»;
–
«УчетИмуществаАдминистратор»;
–
«УчетИмуществаПросмотр».
Именно благодря им пользователи, у которых данные роли будут доступны
в списке ролей доступа, будут иметь доступ как к единому рабочему месту учета
имущества, так и ко всем доступным операциям над элементами, которые
включены в подсистему учета имущества корпорации, которые прописаны для той
или иной роли.
Для работы с постоянной и условно постоянной информацией с некоторым
множеством значений в системе, используются объекты типа «Справочник».
Обычно
справочниками
являются
списки
материалов,
товаров,
организаций, валют, сотрудников. Название и структура каждого конкретного
справочника определяется при его создании в конфигураторе. На этапе
конфигурирования можно описать, какими свойствами обладает каждый
конкретный справочник. К настраиваемым свойствам относятся, например, длина
и тип кода, количество уровней, поддержка уникальности кодов, набор реквизитов
справочника. Помимо кода и наименования, механизм работы со справочниками
позволяет создавать набор реквизитов для хранения любой дополнительной
информации об элементе справочника.
34
В рамках
разработки
справочника:
данной
подсистемы
«Имущество»,
были
созданы
четыре
«СтруктураЗданийКорпораций»,
«ЕдиницыИзмерения», «ВидыИмущества».
Справочник «Имущество» – один из основополагающих справочников
данной подсистемы. Он предназначен для хранения перечня наименований
имущества корпорации, а также элементы данного справочника используются для
заполнения документов данной подсистемы, и в целом служат элементами
оперативного учета имущества корпорации.
Данный
справочник
обладает
следующими
стандартными
и
не
стандартными реквизитами реквизитами, которые представлены в таблице 2.
Таблица 2 – Реквизиты справочника «Имущество»
Наименование реквизита
Тип информации
ЕдиницаИзмерения
СправочникСсылка.ЕдиницыИзмерения
Наименование
Строка
Код
Строка
ВидИмущества
СправочникСсылка.ВидыИмущества
ИнвентарныНомерСтарый
Строка
ЦенаЗакупки
Число
ИнвентарныйНомер
Число
ИнвентарныйНомерСтроковый Строка
ЗаБалансом
Справочник
Булево
«СтруктураЗданийкорпорации»
(синоним
–
Офисы
корпорации) – также является одним из важнейших элементов подсистемы учета
имущества корпорации, так как он предназначен для хранения информации о всех
офисах корпорации, а также о их структурном составе – этажи, кабинеты и прочие
35
помещения. Также элементы данного справочника участвуют во всех документах
данной подсистемы в качестве основного документа, так и его табличной части.
Также стоить отметить, что данный справочник имеет иерархический тип с типом
Иерархия элементов и ограничением с уровнем вложенности два. Это обусловлено
тем, что на базе данного справочника по сути структурно возводятся офисы
корпорации, уровень структурной вложенности которых определен с помощью
перечисления «СтруктурныеВидыЗдания». Также реализован механизм ручного
создания элементов справочника с поддержкой подсистемы, которая при создании
нового элемента следуя алгоритма создает элемент справочника с тем или иным
типом структуры.
Данный
справочник
обладает
следующими
реквизитами,
которые
представлены в таблице 3.
Таблица 3 – Реквизиты справочника «СтруктураЗданийкорпорации»
Наименование
Тип информации
реквизита
Наименование
Строка
ВладелецГород
СправочникСсылка.СтраныГорода
Организация
СправочникСсылка.Организации
ТипСтруктуры
ПеречислениеСсылка.СтруктурныеВидыЗдания
Справочник «ЕдиницыИзмерения» также является важным элементом
подсистемы учета имущества корпорации, так как используется в качестве
единицы измерения у единиц недвижимости(имущества) как в самом имуществе,
так и при оформлении любых документов данной подсистемы. Без него было бы
невозможно вести оперативный учет. Данный справочник обладает следующими
реквизитами, которые отображены в таблице 4.
36
Таблица 4 – Реквизиты справочника «ЕдиницыИзмерения»
Наименование
Тип информации
реквизита
Наименование
Строка
НаименованиеКраткое
Строка
КодОКЕИ
Составной: Строка, число
УсловноеОбозначение
Строка
Справочник
«ВидыИмущества»
–
особый
справочник,
который
используется как реквизит справочника «Имущество». Его назначение –
определение типа имущества, которое находится в подсистеме учета имущества
корпорации.
На
ранних
этапах
постановки
задачи
даная
подсистема
рассматривалась как учет мебели корпорации, но, зная, что требования могут в
скором времени измениться, было решено внести данный справочник структуру
данной подсистемы. На это есть несколько основных причин:
–
разные
многие единицы имущества имели одинаковое наименование, но
инвентарные
номера,
поэтому,
введя
данный
справочник
«ВидыИмущества» появился учет в разрезе нескольких одинаковых видов
имущества, а также то, что в будущем при таком способе учета не будет возникать
большое количество ошибок;
–
вторая же причиная гораздо проще – было предположение, что кроме
мебели в данной подсистеме будет вестись учет и по другим видам имущества, что
в итоге оказалось верным.
Данный справочник обладает следующими реквизитами – представлены в
таблице 5.
37
Таблица 5 – Реквизиты справочника «ВидыИмущества»
Наименование
Тип информации
реквизита
Наименование
Строка
Код
Строка
Комментарий
Составной: Строка, число
Также стоит отметить справочники существующей информационной
системы «СУСУ», которые также использовались в подсистеме учета имущества
корпорации в качестве реквизитов, ссылок и прочих вариантах использования:
–
«СтраныГорода»;
–
«Организации»;
–
«Пользователи»;
–
«ФизическиеЛица»;
–
«СтруктураПредприятия».
Объекты конфигурации «Документ» позволяют хранить в информационной
системе информацию о совершенных хозяйственных операциях или о событиях,
произошедших в «жизни» корпорации вообще. Это могут быть, например,
приходные накладные, приказы о приеме на работу, счета, платежные поручения и
прочих событиях.
Каждый документ обладает номером, датой и временем создания. Система
поддерживает режим автоматической нумерации документов, при котором она
самостоятельно может генерировать номер для нового документа. Кроме этого
система позволяет осуществлять контроль уникальности номеров документов, не
разрешая создавать документы с одинаковыми номерами. Система автоматически
поддерживает режим, при котором уникальность номеров и автоматическая
нумерация могут выполняться в пределах определенного периода (день, месяц,
квартал, год).
38
Важным свойством документа является возможность его проведения. Если
документ проводится, то он может изменить состояние тех или иных учитываемых
данных. Если же документ не является «проводимым» это значит, что событие,
которое он отражает, не влияет на состояние учета, который ведется в данном
прикладном решении. Алгоритм, на основании которого документ вносит те или
иные изменения в состояние учетных данных при своем проведении, описывается
средствами встроенного языка на этапе разработки прикладного решения. Система
содержит специальный конструктор, который помогает разработчику создавать
алгоритмы проведения документа.
При анализе предметной области построение бизнес-процесса учета
имущества были спроектированы следующие документы:
–
«ПриходНовойНедвижимости»;
–
«ПередачаИмуществаМеждуОрганизациями»;
–
«ПередачаИмуществаМеждуСотрудниками»;
–
«ПередачаИмуществаОфисная»;
–
«ПередачаИмуществаВАренду»;
–
«СписаниеИмущества».
Документ «ПриходНовойНедвижимости» - первичный, важный документ
подсистемы учета имущества корпорации. Его предназначение – оформление
прихода новых единиц имущества со всеми необходимыми данными и отражением
всех вносимых им изменений в оперативном учете. При этом при создании такого
документа возможен способ как ручного создания документа, так и через загрузку
внешнего файла, при котором происходит заполнение всех необходимых данных
внутри подсистемы учета имущества. Данный документ при проведении создает
необходимые записи в регистре накопления и регистрах сведения, что позволяет
весит учет имущества с достоверными и оперативными данными, а также данные
по данному документ заносятся в регистры, которые отвечают за использование
рассылки электронной почты пользователям данной подсистемы учета имущества.
Данный документ обладает следующими реквизитами – представлены в таблице 6
39
Таблица 6 – Реквизиты документа «ПриходНовойНедвижимости»
Наименование реквизита
Тип информации
Наименование
Строка
Дата
Дата
Код
Строка
Город
СправочникСсылка.СтраныГорода
Комментарий
Строка
Ответственный
СправочникСсылка.Пользователи
Табличная
часть
«ПриходнойНовойНедвижимости»
«ПриходуемоеИмущество»
обладает
следующими
документа
реквизитами
–
представлены в таблице 7.
Таблица 7 – Реквизиты табличной части «ПриходуемоеИмущество» документа
«ПриходНовойНедвижимости»
1
2
Наименование реквизита
Тип информации
Имущество
СправочникСсылка.Имущество
Количество
Число
ЕдиницаИзмерения
СправочникСсылка.ЕдиницыИзмерения
ПроцентИзноса
Число
СтоимостьЗакупкиБезНДС Число
СтоимостьАрендыБезНДС Число
МестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
40
Продолжение таблицы 7
1
2
Организация
СправочникСсылка.Организации
МОЛ
СправочникСсылка.ФизическиеЛица
ОБОП
СправочникСсылка.СтруктураПредприятия
Пользователь
СправочникСсылка.ФизическиеЛица
Теперь переходим к рассмотрению документов, которые имею общую
смысловую операцию – перемещение имущества. В зависимости от входящих
данных, выбирается тот или иной вид документа перемещения.
Документ «ПередачаИмуществаМеждуОрганизациями» необходим в том
случае, когда происходит передача имущества между двумя организациями, при
этом имущество снимается «с баланса», учета, первой организации и передается во
владение другой организации.
При
этом при проведении
данного
документа производятся
все
необходимые записи в регистрах, поэтому перемещение имущества будет сразу
отражено в оперативном учете, отчетах и иных формах просмотра текущего
состояния имущества, таких как Рабочий стол учета недвижимости корпорации
Документ
«ПередачаИмуществаМеждуОрганизациями»
обладает
следующими реквизитами – представлены в таблице 8.
Таблица 8 – Реквизиты документа «ПередачаИмуществаМеждуОрганизациями»
1
2
Наименование реквизита
Тип информации
Наименование
Строка
Дата
Дата
Код
Строка
41
Продолжение таблицы 8
1
2
ОтдающаяОрганизация
СправочникСсылка.Организации
ПринимающаяОрганизация СправочникСсылка.Организации
Комментарий
Строка
Ответственный
СправочникСсылка.Пользователи
Табличная
часть
«ПередаваемоеИмущество»
документа
«ПередачаИмуществаМеждуОрганизациями» обладает следующими реквизитами
представлены в таблице 9.
Таблица 9 – Реквизиты табличной части «ПередаваемоеИмущество» документа
«ПриходНовойНедвижимости»
1
2
Наименование реквизита
Тип информации
ОтдающийОтветственный
СправочникСсылка.ФизическиеЛица
ОтдающийПользователь
СправочникСсылка.ФизическиеЛица
Принимающий
СправочникСсылка.ФизическиеЛица
Ответственный
ПередаваемоеИмущество
СправочникСсылка.Имущество
Количество
Число
ИнвентарныйНомер
Строка
ТекущееМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
НовоеМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
42
Продолжение таблицы 9
1
2
ОтдающееОБОП
СправочникСсылка.СтруктураПредприятия
ПринимающееОБОП
СправочникСсылка.СтруктураПредприятия
СтоимостьЗакупкиБезНДС
Число
СтоимостьАрендыБезНДС
Число
Документ «ПередачаИмуществаМеждуСотрудниками» необходим в том
случае, которая требуется передать имущество в пределах одной организации (в
данном случае можно рассматривать как арендодателя), но между разными
подразделениями (арендаторами).
При
этом при проведении
данного
документа производятся
все
необходимые записи в регистрах, поэтому перемещение имущества будет сразу
отражено в оперативном учете, отчетах и иных формах просмотра текущего
состояния имущества, таких как Рабочий стол учета недвижимости корпорации
Документ ПередачаИмуществаМеждуСотрудниками обладает следующими
реквизитами – представлены в таблице 10.
Таблица 10 – Реквизиты документа «ПередачаИмуществаМеждуСотрудниками»
Наименование
Тип информации
реквизита
Наименование
Строка
Дата
Дата
Код
Строка
Организация
СправочникСсылка.Организации
ОтдающийМОЛ
СправочникСсылка.Организации
43
Продолжение таблицы 10
ПринимающийМОЛ
СправочникСсылка.ФизическиеЛица
ОтдающееОБОП
СправочникСсылка.СтруктураПредприятия
ПринимающееОБОП
СправочникСсылка.СтруктураПредприятия
Комментарий
Строка
Ответственный
СправочникСсылка.Пользователи
Табличная
часть
ПередаваемоеИмущество
документа
ПередачаИмуществаМеждуСотрудниками обладает следующими реквизитами –
представлены в таблице 11.
Таблица 11 – Реквизиты табличной части «ПередаваемоеИмущество» документа
«ПередачаИмуществаМеждуСотрудниками»
Наименование реквизита
Тип информации
ОтдающийПользователь
СправочникСсылка.ФизическиеЛица
ПринимающийПользователь СправочникСсылка.ФизическиеЛица
ПередаваемоеИмущество
СправочникСсылка.Имущество
Количество
Число
ИнвентарныйНомер
Строка
ТекущееМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
НовоеМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
Документ ПередачаИмуществаОфисная необходим в том случае, когда в
оперативном учете не меняется никаких данных по единице имущества, кроме ее
места хранения.
При
этом при проведении
данного
документа производятся
все
необходимые записи в регистрах, поэтому перемещение имущества будет сразу
44
отражено в оперативном учете, отчетах и иных формах просмотра текущего
состояния имущества, таких как Рабочий стол учета недвижимости корпорации
Документ
ПередачаИмуществаОфисная
обладает
следующими
реквизитами – представлены в таблице 12.
Таблица 12 – Реквизиты документа «ПередачаИмуществаОфисная»
Наименование
Тип информации
реквизита
Наименование
Строка
Дата
Дата
Код
Строка
ОтдающийОфис
СправочникСсылка.СтруктураЗданийкорпорации
ПринимающийОфис
СправочникСсылка.СтруктураЗданийкорпорации
Комментарий
Строка
Ответственный
СправочникСсылка.Пользователи
Табличная
часть
ПередаваемоеИмущество
документа
ПередачаИмуществаОфисная обладает следующими реквизитами – представлены
в таблице 13.
Таблица 13 – Реквизиты табличной части «ПередаваемоеИмущество» документа
«ПередачаИмуществаОфисная»
Наименование реквизита
Тип информации
ОтдающийОтветственный
СправочникСсылка.ФизическиеЛица
ОтдающийПользователь
СправочникСсылка.ФизическиеЛица
45
Продолжение таблицы 13
Принимающий
СправочникСсылка.ФизическиеЛица
Ответственный
ПередаваемоеИмущество
СправочникСсылка.Имущество
Количество
Число
ИнвентарныйНомер
Строка
ТекущееМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
НовоеМестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
ОтдающееОБОП
СправочникСсылка.СтруктураПредприятия
ПринимающееОБОП
СправочникСсылка.СтруктураПредприятия
ПринимающийПользователь
СправочникСсылка.ФизическиеЛица
СтоимостьЗакупкиБезНДС
Число
СтоимостьАрендыБезНДС
Число
Документ ПередачаИмуществаВАренду необходим в том случае, когда
имеется такая единица имущества, которая есть на балансе организации, но не
используется ни в одной из внутренних организаций корпорации.
При проведении данного документа производятся все необходимые записи
в регистрах, поэтому перемещение имущества будет сразу отражено в оперативном
учете, отчетах и иных формах просмотра текущего состояния имущества, таких как
Рабочий стол учета недвижимости корпорации.
Документ
ПередачаИмуществаВАренду
реквизитами – представлены в таблице 14.
обаладает
следующими
46
Таблица 14 – Реквизиты документа «ПередачаИмуществаВАренду»
Наименование реквизита
Тип информации
Наименование
Строка
Дата
Дата
Код
Строка
ОрганизацияАрендодатель с СправочникСсылка.Организации
ОрганизацияАрендатор
СправочникСсылка.СтруктураЗданийкорпорации
Комментарий
Строка
Ответственный
СправочникСсылка.Пользователи
Табличная
часть
ПередаваемоеИмущество
документа
ПередачаИмуществаВАренду обладает следующими реквизитами – представлены
в таблице 15.
Таблица 15 – Реквизиты табличной части «ПередаваемоеИмущество» документа
«ПередачаИмуществаВАренду»
1
2
Наименование реквизита
Тип информации
ПринимающийОтветственный
СправочникСсылка.ФизическиеЛица
ПринимающийПользователь
СправочникСсылка.ФизическиеЛица
ПередаваемоеИмущество
СправочникСсылка.Имущество
Количество
Число
ИнвентарныйНомер
Строка
ТекущееМестоХранения
СправочникСсылка.СтруктураЗданийк
орпорации
47
Продолжение таблицы 15
1
2
НовоеМестоХранения
СправочникСсылка.СтруктураЗданийк
орпорации
СтоимостьЗакупкиБезНДС
Число
СтоимостьАрендыБезНДС
Число
Общие модули 1С — объект метаданных конфигурации на базе 1С 8.3,
который хранит в себе программный код, который часто вызывается в
конфигурации.
Функцию/процедуру
можно
вызвать
из
любого
места
конфигурации (если она экспортная).
В ходе разработки подсистемы учета имущества корпорации крайней
удобно было создать свой общий модуль – пртУчетНедвижимости.
Данный модуль содержит в себе те процедуры и функции, которые
вызываются из разных объектов разрабатываемой подсистемы. Также он содержит
процедуры, которые жизненно необходимо для другого объекта конфигурации –
регламентных заданий.
Проанализируем данный модуль чуть позже, в тех моментах, когда будет
рассматриваться вызов из него его экспортных процедур и функций.
Константы в системе «1С: Предприятие» служат для хранения информации,
которая либо совсем не изменяется в процессе функционирования системы, либо
изменяется
достаточно
редко.
В
константах
хранится
информация,
характеризующая прикладную задачу в целом. Наиболее простой пример подобной
информации – название организации, которое, как правило, не меняется.
В программных модулях для общих действий над заданными в
конфигураторе константами (получение формы для управления константами,
создание
набора
констант)
служит
объект
КонстантыМенеджер.
Для
одновременного изменения значений определенной группы констант следует
48
пользоваться объектом КонстантыНабор. Для чтения и записи значения
определенной константы можно обращаться к объекту.
В ходе разработки данной подсистемы были созданы три константы с типом
«Число»:
–
«ПериодичностьРасчетаАренднойПлаты»;
–
«ПериодичностьРасчетаИзносаИмущества»;
–
«ДобавляемыйПроцентИзсноса».
Каждая из этих констант заполняется пользователем вручную на основе
внешних данных в специальном рабочем столе учета имущества корпорации.
Константа «ПериодичностьРасчетаАренднойПлаты» отвечает за то, с какой
периодичностью будет производиться расчет арендной платы за единицу
имущества, значение заполняется в днях.
Константа
«ПериодичностьРасчетаИзносаИмуществ»
отвечает
за
периодичность производимого расчета процента износа за единицу имущества,
значение заполняется в днях.
Константа «ДобавляемыйПроцентИзноса» отвечает за то, насколько должен
увеличиться процент износа имущества исходя из периодичности расчета износа
имущества. Также ко всем трем были созданы одноименные общие формы,
которые дают пользователю возможность взаимодействия, изменения констант.
Регламентные задания - это общие объекты любой конфигурации. Они
являются частью механизма планирования исполнения заданий и позволяют
автоматически по настроеному расписанию вызывать исполниние процедур или
функцих экспортного типа из общих модулей.
В ходе разработки нашей подсистемы с учетом создания общего модуля
пртУчетНедвижимости были созданы следующие регламентные задания, которые
позволяют реализовать автоматический расчет арендной платы и износа
имущества:
–
«РасчетАренднойСтоимостиИмущества»;
–
«РасчетИзносаИмущества»;
–
«РассылкаУмедомленийОДокументах».
49
Каждая из них вызывают свою процедуру из созданного нами общего
модуля пртУчетНедвижимости. Вызов происходит согласно расписанию каждый
день в два часа ночи, дабы не нарушать текущую работу пользователей в рабочее
время, информационная рассылка происходит каждый день по в три часа дня.
Регистр сведений – очерендной типичный объект любой конфигурации на
базе 1С 8.3. Его основная задача – хранить существенную для прикладной задачи
информацию, состав которой развернут по определенной комбинации значений и,
при необходимости, развернут во времени.
Регистры сведений, информация в которых развернута во времени,
называются периодическими Для периодических регистров сведений система
поддерживает такие стандартные операции, как получение наиболее позднего или
наиболее раннего значения (например, получение последней введенной цены по
конкретному товару и конкретному конкуренту), а также получения среза наиболее
поздних или ранних значений.
В ходе разработки были созданы следующие регистры сведений:
–
«УчетИмуществаИнвентарныеНомера»;
–
«УчетИзносаИмущества»;
–
«УчетИмуществаАренднаяПлата»;
–
«УчетИмуществаПолучателиРассылки»;
–
«УчетИмуществаДокументыкРассылке».
Регистр сведений «УчетИмуществаИнвентарныеНомера» служит для
хранения истории изменений инвентарного номера имущества на всем протяжении
эксплуатации имущества. С помощью данного регистра реализуется учет
имущества по уникальным инвентарным номерам в разрезе организации, на
балансе которой имущество стоит.
Данный регистр сведений является независимым с установленной
периодичностью в один день.
Регистр
сведений
«УчетИмуществаИнвентарныеНомера
следующими измерениями и ресурсами – представлены на таблице 16.
обладает
50
Таблица
16
–
Измерения
и
ресурсы
регистра
сведений
«УчетИмуществаИнвентарные номера»
Измерения
Наименование
Тип
Имущество
СправочникСсылка.Имущество
Организация
СправочникСсылка.Организации
Составной:
ДокументСсылка.СписаниеИмущества,
ДокументОснование
ДокументСсылка.ПриходНовойНедвижимости,
Строка,
ДокументСсылка.ПередачаИмуществаМеждуОрг
анизациями
СтоимостьЗакупкиБезНДС
Строка
СтоимостьАрендыБезНДС
Строка
Списано
Булево
Ресурсы
ИнвентарныйНомер
Регистр
Число
«УчетиИмуществаИнвентарныеНомера»
задействован
в
следующих объектах конфигурации:
–
документ «СписаниеИмущества»;
–
документ «ПриходНовойНедвижимости»;
–
документ «ПередачаИмуществаМеждуОрганизациями».
Регистр
сведений
«УчетИзносаИмущества»
служит
для
хранения
информации об износе имущества на протяжении всего его срока эксплуатации
вплоть до списания.
51
Данный регистр сведений является независимым с периодичностью в
пределах
месяца.
Регистр
сведений
«УчетИзносаИмущества»
обладает
следующими измерениями и ресурсами – представлены в таблице 17.
Таблица 17 – Измерения и ресурсы регистра сведений «УчетИзносаИмущества»
.Измерения
Наименование
Тип
Имущество
СправочникСсылка.Имущество
Ресурсы
ПроцентИзноса
Число
Регистр сведений «Учет износа имущества» задействован в следующих
объектах подсистемы:
–
Документ «ПриходНовойНедвижимости»;
–
Регламентное задание «РасчетИзносаИмущества».
Регистр сведений «УчетИмуществаАренднаяПлата» служит для хранения в
себе информации об арендной плате в течени всего срока эксплуатации. Регистр
сведений «УчетИмуществаАренднаяПлата» обладает следующими измерениями и
ресурсами, которые представлены в таблице 18.
Таблица
18
–
Измерения
и
ресурсы
«УчетИмуществаАренднаяПлата»
Измерения
Наименование
Тип
Имущество
СправочникСсылка.Имущество
Дата
Дата
Ресурсы
Арендная плата
Число
регистра
сведений
52
Регистр
сведений
«УчетИмуществаАренднаяПлата»
задействован
в
следующих объектах подсистемы учета имущества корпорации -Регламентное
задание РасчетАренднойСтоимостиИмущества.
Регистр сведений «УчетИмуществаПолучателиКРассылке» предназначен
для хранения информации о пользователях, которым будет приходить рассылка
электронных писем. Данные о таких пользователях заносятся через отдельную
форму. Регистр сведений «УчетИмуществаПолучателиКРассылке» обладает
следующими измерениями и ресурсами – представлены в таблице 19.
Таблица
19
–
Измерения
и
ресурсы
регистра
сведений
«УчетИмуществаПолучателиКРассылке»
Измерения
Наименование
Тип
Имущество
СправочникСсылка.Пользователи
Регистр сведений «УчетИмуществаДокументыКРассылке» предназначен
для хранения информации о пользователях, которым будет приходить рассылка
электронных писем,. Регистр сведений «УчетИмуществаДокументыКРассылке»
обладает следующими измерениями и ресурсами – представлены в таблице 20.
Таблица
20
–
Измерения
и
ресурсы
регистра
сведений
«УчетИмуществаДокументыКРассылке»
Измерения
Наименование
Тип
Имущество
Составной тип: все виды документов подсистемы
Дата
Дата
Ресурсы
Тип
Отправить
Булево
53
Регистры накопления в системах на базе 1С Предприятие 8.3 используются
для учета информации о наличии и движении каких-либо величин - материальных,
денежных и прочих.
Вся информация о хозяйственных операциях, которая вводится с
использованием документов, должна быть отражена в регистрах. Тогда эту
информацию можно будет извлечь, проанализировать и представить пользователю
в виде отчетных форм. Регистры накопления предназначены для хранения и
получения остатков и оборотов по заранее определенным в конфигурации
измерениям. Методы встроенного языка позволяет получить остатки регистра
накопления на данный момент времени. Есть возможность фильтрации по
значениям измерений, а также получения остатков в разрезе других измерений.
В ходе разработки подсистемы учета имущества был разработан следующей
регистр накопления - Регистр накопления «УчетНедвижимостиПриходРасход».
Данный регистр является одним из важнейших объектов разрабатываемой
подсистемы, так как благодаря ему и ведется оперативный учет имущества
корпорации – именно в него фиксируются все данные о произведенных операциях
над имуществом. Регистр накопления «УчетНедвижимостиПриходРасход» имеет
вид остатки.
Данный регистр обладает следующими измерениями и ресурсами, которые
представлены в таблице 21.
Таблица
21
–
Измерения
и
ресурсы
регистра
накопления
«УчетНедвижимостиПриходРасход»
1
2
Измерение
Наименование
Тип
Дата
Дата
Имущество
СправочникСсылка.Имущество
МестоХранения
СправочникСсылка.СтруктураЗданийкорпорации
54
Продолжение таблицы 21
1
2
Организация
СправочникСсылка.Организация
МОЛ
СправочникСсылка.ФизическиеЛица
Пользователь
СправочникСсылка.ФизическиеЛица
ОБОП
СправочникСсылка.СтруктураПредприятия
Ресурсы
Наименование
Тип
Количество
Число
Данный регистр участвует во всех объектах подсистемы учета имущества с
типом документ:
–
«ПриходНовойНедвижимости»;
–
«ПередачаИмуществаМеждуОрганизациями»;
–
«ПередачаИмуществаМеждуСотрудниками»;
–
«ПередачаИмуществаОфисная»;
–
«ПередачаИмуществаВАренду»;
–
«СписаниеИмущества».
Отчет – еще один объект любой конфигурации на базе 1С Предприятие 3.0.
Назначение отчетов – представление информации из базы данных в удобном для
использования и дальнейшей обработки виде. В разрабатываемой подсистеме
отчеты созданы с использованием системы компоновки данных.
Система компоновки данных – мощный и гибкий инструмент для создания
отчетов на основе их декларативного описания. Использование декларативного
описания отчетов позволяет реализовать следующие возможности:
–
создание отчета без программирования;
–
возможность создания различных вариантов отчета;
55
–
возможность
задания
различных
вариантов
пользовательских
настроек;
–
использование автоматически генерируемых форм просмотра и
настройки отчета;
–
разбиение исполнения отчета на этапы;
–
исполнение отдельных этапов построения отчета на различных
компьютерах;
–
независимое использование отдельных частей системы компоновки
данных;
–
программное влияние на процесс выполнения отчета;
–
настройки структуры отчета;
–
совмещение в отчете нескольких таблиц;
–
создание вложенных отчетов.
В ходе разработки подсистему учета имущества корпорации были созданы
следующие отчеты:
–
«ОтчетПоНовомуИмуществу»;
–
«ОтчетПоПеремещениямИмуществаМеждуАрендодателями»;
–
«ОтчетПоПеремещениямИмуществаМеждуСотрудниками»;
–
«ОтчетПоПеремещениямИмуществаМеждуОфисами»;
–
«ОтчетПоСдачеВАрендуНеиспользуемойМебели»;
–
«ОтчетИсторияИмущества».
Первые пять отчетов предназначены для контроля и предоставления
оперативной информации по учету имущества каждый по своему документу –
каждый отчет на разный вид документа подсистемы учета имущества. Но
последний
отчет,
ОтчетИсторияИмущества
представляет
из
себя
более
комплексный инструмент для формирования оперативных данных по учету
имущества корпорации. Данный отчет формирует данные абсолютно по всем
документам подсистемы в разрезе нескольких параметров.
Обработки – это прикладные объекты конфигурации. Они предназначены
для выполнения различных действий над информацией.
56
Например, с их помощью можно выполнять удаление из системы
устаревшихданных, импорт информации из других систем и многое другое.
Характер выполняемых вэтом случае действий отражает название объекта
конфигурации – «Обработка», так как врезультате информация, хранящаяся в
системе, претерпевает какие-либо изменения. Обработка может содержать одну
или несколько форм, с помощью которых, принеобходимости, можно организовать
ввод каких-либо параметров, влияющих на ходалгоритма. Вывод результатов
выполнения алгоритма на экран и принтер осуществляется с помощью
конструктора запроса с обработкой результата.
В ходе разработки данной подсистемы была разработана следующая
обработка – «РабочийСтолНедвижимости».
Обработка «РабочийСтолНедвижимости» представляе из себя рабочий стол
пользователя подсистемы учета имущества корпорации, в котором соединены
абсолютно все объекты подсистемы и удобное взаимодействие с ними.
Данный рабочий стол позволяет пользователю просматривать любую
оперативную информацию по учету имущества, заводить любой документ,
принадлежащий подсистеме, а также с помощью специального механизма загрузки
из внешнего файла типа Excel создавать автоматически элементы справочников и
документа поступления имущества данной подсистемы.
57
3 РЕАЛИЗАЦИЯ ПОДСИСТЕМЫ УЧЕТА ИМУЩЕСТВА
3.1 Диаграмма вариантов использования
Любое программное обеспечение при работе с пользователем работает по
определенному алгоритму и определенному сценарию, который подразумевает
последовательность выполнения команд и их группировку в программном
интерфейсе. Так же сценарий диалога зависит от функций, которые будет
выполнять программное решение.
Реализуемая подсистема учета имущества корпорации также должна
обладать выше описанными свойствами, поэтому нам необходима диаграмма
вариантов использования для разрабатываемой подсистемы учета недвижимости.
Реализованная диаграмма представлена на рисунке 10.
Рисунок 10 – Диаграмма вариантов использования
58
На данной диаграмме видны следующие классы пользователей подсистемы:
–
пользователь (сотрудник административного отдела);
–
внешний пользователь подсистемы;
–
администратор подсистемы.
Рассмотрим возможные варианты использования подсистемы каждым
классом пользователей.
Пользователь (сотрудник административного отдела) может работать с
документами, работать со справочной информацией и просматривать данные учета
имущества.
В работу с документами входит создание, изменение или удаления
следующих документов:
–
документ поступления имущества;
–
документ перемещения имущества;
–
документ списания имущества;
–
документ передачи имущества в аренду.
При этом, при работе с данными документами ему доступно следующие
варианты:
–
при создании документа поступления имущества у него есть
возможность как ручного создания документа, так и автоматического с помощью
внешнего файла;
–
все выше перечисленные документы можно сохранить во внешний
файл или же распечатать.
Работа со справочной информацией включает в себя создание, изменение
или удаление элементов следующих справочников:
–
«Имущество»;
–
«Офисная структура»;
–
«Виды имущества»;
–
«Единицы измерения».
Просмотр данных учета имущества содержит в себе работу с отчетами, их
формированием и сохранением результата формирования отчета. Пользователь
59
может сформировать как универсальный отчет – «История имущества», так и один
из отчетов по конкретному виду документа.
Внешний пользователь подсистемы имеет право работать только с блоком
просмотра данных учета имущества, описанного выше.
Администратор подсистемы обладает всеми возможностями и вариантами
работы с подсистемой аналогично пользователя (сотрудника административного
отдела), а также может администрировать подсистему:
–
создание нового пользователя;
–
настройка прав пользователя;
–
удаление пользователя;
–
задать параметры автоматических расчетов и рассылки.
3.2 Описание алгоритм разрабатываемой подсистемы
Рассмотрим несколько важных алгоритмов, которые были использованы
при разработке подсистемы учета недвижимости.
Алгоритм создания документа поступления имущества с помощью
внешнего файла разделяется на три алгоритма:
–
анализ структуры файла и создание необходимых элементов
справочников;
–
анализ содержимого файла загрузки и передача данных в табличную
часть формы обработки;
–
анализ содержимого в табличной части, полученного при работе
предыдущих алгоритмов и создание нового документа поступления имущества.
Блок-схема
алгоритма
загрузки
представлена на рисунке 11 и рисунке 12.
поступления
из
внешнего
файла
60
Рисунок 11 – Блок-схема алгоритма создания документа поступления имущества
с помощью внешнего файла
61
Рисунок 12 – Продолжение блок-схемы алгоритма создания документа
поступления имущества с помощью внешнего файла
62
Декомпозируем предопределенные процессы данного алгоритма, словесно
описывая и построив блок-схему к каждому из них
Алгоритм анализа структуры файла и создания необходимых элементов
справочников:
1) Получение пути к файлу, выбранного пользователем.
2) Проверка, существует ли такой файл в указанном пути.
3) Если файл существует, то переходим к «пункт 4», если же нет –выдаем
пользователю с ошибкой о том, что файл выбран неверно.
4) После проверки на существование файла переходим к получению
структуры файла – его списка листов. Если листы отсутствуют, происходит выдача
ошибки пользователю: файл пустой, выберите другой файл, если присутствуют,
переходим к пункту, если листы существуют – переход в «пункт 5».
5) Формируются списки листов и выносятся на форму, с которой работает
пользователь. Пользователь выбирает один из листов файла. Происходит проверка
структуры имени файла, если проверка не пройдена – выдача ошибки, если
пройдена – переход к «пункт 6».
6) На основе выбранного листа пользователя проверяется, есть ли
необходимые данные в системе (город, здание, офис). с помощью взаимосвязанных
запросов. Если результатов запросов ничего не находит, то переход в пункт 7, иначе
–переход в «пункт 8».
7) Если в системе нет необходимых данных, то происходит инициализация
создания необходимых справочных элементов подсистемы. Возврат в «пункт 6».
8) Формирование пути-ссылки до внешнего файла, его сохранение для
дальнейшнего использования.
Алгоритм анализа содержимого файла загрузки и передача данных в
табличную часть формы обработки:
1) Очищается табличная часть, в которую будут загружены основные
данные из файла.
63
2) Обращение и чтение листа внешнего файла по пути-ссылке, полученной
ранее. Если после чтения возвращен табличный документ, то переход в «пункт 6»,
иначе возврат ошибки.
3) Формирование нового табличного документа.
4) Заполнение в цикле строк нового табличного документа строками
выбранного пользователем листа внешнего файла.
5) Окончание формирования табличного документа, если сформирован без
ошибок, переход в «пункт 2», иначе – возврат ошибки.
6) Загрузка табличного документа в табличную часть, вывод табличной
части на экранную форму для проверки пользователем.
Алгоритм создания нового документа поступления имущества:
1) Пользователь выбирает из списка организацию, активирует создание
документа поступления нового имущества. Переход в «пункт 2»
2) Создается новый документ поступления имущества, заполняются
первоначальные данные, которые были получены из предыдущих пунктов.
Переход в «пункт 11».
3) В созданный документ поступления имущества, в его табличную часть
передаются данные о каждом поступившем имуществе – переход в «пункт 4".
4) Цикл – для каждой строки внешнего файла происходит проверка данных.
Каждая строка является источником данных для заполнения табличной части
документа. Данные заносятся в одноименные поля. Происходит проверка:
5) поле имущество – Если имущество присутствует в системе, заполнение
поля «Имущество», если отсутствует, переход в «пункт 6»), если присутсвует –
«пункт 4.5».
6) Инициализация создания новой единицы имущества, возврат ссылки на
созданный документ, возврат в пункт а
7) Проверка места хранения, если место хранения с определенным
параметрами существует, переход в «пункт 9», если же нет – переход в «пункт 8».
8) Инициализация создания места хранения, возврат ссылки на созданный
элементв. Переход в «пункт 7».
64
9) После проверки необходимых данных, заполняеются остальные данные
табличной части документа. Переход в «пункт 10».
10) Запись созданного документа, если запись прошла успешно –
возвращение ссылки на экранную форму, если нет – сообщение об ошибке.
Рассмотрим алгоритм автоматического расчета арендной платы имущества,
который позволяет на основе данных подсистемы формировать арендную плату
согласно определенным правилам:
1) Получение значения параметра, отвечающего за периодичность расчета
арендной платы, перевод значения в дни.
2) Если параметр заполнен в системе, то переход к пунтку 2, иначе –
завершение работы алгоритма.
3) Получение текущей даты.
4) Формирование запроса к базе данных, параметрами в которых выступают
периодичность расчета, текущая дата, а также внутри самого запроса задается
условие на тип документа – поступление имущества. Результатом запроса будет
список имущества, у которых разность параметров «ПоследняяДатаРасчета» и
«ТекущаяДата» будет больше, чем периодичность расчета арендной платы.
5) Выгрузка результата запроса, проверка на количество записей в
результате
формирования
запроса.
Если
количество
меньше
нуля,
то
останавливаем выполнение расчета, иначе – переход в «пункт 6».
6) Переход в цикл, для каждой записи из результата формирования
создается менеджер записи регистра, отвечающего за хранение расчитываемой
арендной платы. Если найдена запись в регистре с такими же параметрами, как
запись в запросе, переход в «пункт 8», иначе – в «пункт 7».
7) Если запись не найдена, то создается новая запись с необходимыми
параметрами, рассчитывается арендная плата по формуле, предоставленной
внутренним заказчиком, запись записывается, переход на следующую итерацию
цикла.
65
8) Если запись найдена, изменяются необходимые поля, рассчитывается
арендная плата и запись записывается с новыми изменениями. Переход на
следующую итерацию цикла.
9) Если цикл закончил работу, то происходит завершение работы алгоритма.
Алгоритм представлен на рисунке 13 и рисунке 14.
Рисунок 12 – Блок-схема алгоритма автоматического расчета арендной платы
66
Рисунок 13 – Продолжение блок-схемы алгоритма автоматического расчета
арендной платы
Рассмотрим алгоритм автоматического расчета износа имущества, блоксхема которого представлена на рисунке 14:
1) Получение значений необходимых параметров -периодичность расчета
износа имущества и добавляемый процент износа из подсистемы учета
недвижимости, которые задаются администратором подсистемы.
2) Если оба значения заполнены, то переход в «пункт 3», иначе – конец
выполнения алгоритма.
3) Получение значения текущей даты.
67
4) Формирование запроса с параметрами: текущая дата, периодичность
расчета, тип документа – только поступления имущества. Исходя из заданных
условий запросу, в результирующую таблицу попадут только те записи, разность
параметров «ДатаПоследнегоРасчетаИмущества» и «ТекущаяДата» будет больше,
нежели чем периодичность расчета износа имущества.
5) Выгрузка результата запроса, проверка на количество результирующих
записей, если количество больше нуля, тогда переход в «пункт 6», иначе конец
выполнения алгоритма.
6) Переход в цикл, для каждой результирующей записи таблицы запроса
формируется менеджр записи регистра, отвечающего за хранение данных об износе
имущества. Если найдена запись в регистре с такими же параметрами, как
результирующей текущей записи запроса, переход в «пункт 8», иначе в «пункт 7».
7) Если запись с текущим имуществом не найдена, то создается новая запись
с необходимыми параметрами, рассчитывается износ имущества формуле,
предоставленной внутренним заказчиком, для расчета используется параметр
«ДобавляемыйПроцентИзноса», запись записывается, переход на следующую
итерацию цикла.
8) Если запись найдена, изменяются необходимые поля, рассчитывается
арендная плата и запись записывается с новыми изменениями. Переход на
следующую итерацию цикла.
9) Если цикл закончил работу, то происходит завершение работы алгоритма.
Данный
алгоритм
имеет
схожую
логику
работы
с
алгоритмом
автоматического расчета цены арендной платы имущества. Это обусловлено тем,
что они оба взаимодействуют с подсистемой посредством регламентных заданий,
используя в качестве источников данных закрепленных за ними регистров
сведений.
68
Рисунок 14 – Блок-схема алгоритма автоматического расчета износа имущества
69
3.3 Разработка пользовательского интерфейса и логики его работы
Во время разработки пользовательского интерфейса при реализации
подсистемы главным является создание форм для всех объектов подсистемы, с
которыми
пользователю
необходимо
иметь
визуальный
контакт
для
взаимодействия.
Кажду разработанную форму, а также написанные для нее и ее объекта
процедуры и функции будем рассматривать во время процесса описания
интерфейса.
На данном этапе стоит вспомнить, что, разрабатывая подсистему для уже
готовой информационной системы, нам нет необходимости заново создавать
начальные алгоритмы взаимодействия системы с пользователем, так как это уже
реализовано.
Пользователь производит вход в систему 1С автоматически, на основе
учетной записи его персонального компьютера. Пользователю сразу открывается
универсальный рабочий стол информационной системы «Система учета сервисных
услуг», из которого он получает доступ к взаимодействию с объектами
информационной системы согласно правам доступа.
Первая задача, которую необходимо реализовать – внедрить запуск нашей
обработки – «РабочийСтолаИмущества», в функционал основного универсального
рабочего стола «Система учета сервисных услуг» с учетом прав пользователя.
С помощью изменения формы обработки «Рабочий стол» и добавления в
соответствующую группы формы своей собственной кнопки, а также команды
формы «УчетИмущества – представлено на рисунке 15, а также внедрения в
процедуру установки доступности кнопок на форме обработки «Рабочий Стол»
своего небольшого кода добавляем видимость и доступность к нашей кнопке
запуска нашей обработки «РабочийСтолНедвижимости» на форме основного
рабочего стола.
70
Рисунок 15 – Кнопка «Учет имущества» и команда для открытия учета имущества
Процесс доступа к видимости и доступности кнопки осуществляется
посредством внедрения нашего кода в процедуру.
Доступом к нашей подсистеме (в том числе к обработке «РабочийСтол
имущества») обладают пользователи системы, которые имею роль доступа Полные
права или УчетНедвижимости.
Поэтому, в процедуру формы «ПриСозданииНаСервере» внедряем
проверку на доступность созданных ролей для подсистемы учета недвижимости. С
помощью этого задается видимость нашей кнопки вызова рабочего стола
имущества (Обработка «РабочийСтолНедвижимости», основная форма).
Вызов осуществляется через нажатие пользователя на кнопку, которое
вызывает
процедуру
показа
основной
формы
обработки
«РабочийСтолНедвижимости».
После этого перед глазами пользователя появляется разработанная форма
«ФормаОсновнойРабочийСтол для обработки «РабочийСтолНедвижимости» представлена на рисунке 16
71
Рисунок 16 – Основной рабочий стол имущества
Стоит отметить, что при открытии данной формы, обработка собирает все
необходимые данные по имуществу, загруженным документам и офисам.
Загрузка всех документов, списка текущего имущества и списка офисов на
основной рабочий стол реализована через динамические списки, которые являются
реквизитами
формы
«ОсновнойРабочийСтол
обработки
«РабочийСтолНедвижимости». Каждый из динамических списков использует в
качестве основной таблицы свой тип элемента. Пример загрузки списка
документов можно видеть на рисунке 15. Данная реализация видна на рисунке 17
Рисунок 17 – Реализация загрузки основных документов и списка имущества на
основную форму имущества
72
Вид загруженного списка имущества со всеми данными на рабочем столе
учета имущества можно увидеть на рисунке 18.
Рисунок 18 – Список всего имущества на рабочем столе «Учет имущества»
Вид загруженного списка офисов со всей структурой со всеми данными на
рабочем столе имущества можно увидеть на рисунке 19
Рисунок 19 – Список всех офисов с внутренней структурой на рабочем столе Учет
имущества
Дальше пользователь, исходя из своих задач и внешних данных работает с
подсистемой учета недвижимости корпорации через рабочий стол «Учет
73
имущества»
-
обработка
«РабочийСтолНедвижимости»,
форма
«ФормаОсновнойРабочийСтол».
Первое, чтобы пользователь хотел сделать в совершенно новой подсистеме,
так это осуществить загрузку данных по имуществу. Ему в этом поможет объект
подсистемы – документ «Поступление имущества».
У него есть два варианта дальнешей работы – либо он может вручную
создать документ, нажав на кнопку «Новое поступление имущества» во вкладке
«Документы по имуществу», или же произвести загрузку своих данных, которые
он хранит в формате файла Excel.
При нажатии на кнопку «Загрузить поступление из файла срабатывает
команда открытия вспомогательно формы. Это осуществляется за счет выполнения
процедуры «ЗагрузитьПоступлениеИзФайла(Команда)». Все упоминаемые в
тексте работы процедуры и функции будут описаны в Приложении А (листинг всех
объектов подсистемы учет недвижимости)
Для реализации данной функции была создана вспомогательная форма
«ФормаЗагрузкиПоступленияНедвижимости».
Реализацию ее реквизитов и внешнего вида можно увидеть на рисунке 20
Рисунок 20 – Реализация реквизитов и внешнего вида вспомогательной формы
обработки «РабочийСтолНедвижимости» (вид конфигуратора)
74
При переходе на данную форму, пользователь, согласно своим инструкциям
по работе с данной подсистемой, должен выбрать файл Excel формата с
определенной структурой. Пример такого файла отображен на рисунке Б.1 в
Приложении Б (обязательное)
Во время выбора внешнего файла загрузки срабатывают сразу несколько
процедур:
–
процедура «ФайлПоступленияНачалоВыбора»;
–
процедура «получитьСписокЛистов_EXCEL1C».
Первая обеспечивает получение пути к внешнему файлу, а вторая получает
список листов данного файла Excel с наименованиями. Результат выполнения
можно увидеть на рисунке 21.
Рисунок 21 – Результат выбора пользователем внешнего файла формата Excel для
загрузки нового поступления имущества
После пользователь выбирает один из предложенных листов внешнего
файла Excel, и нажимает на кнопку «Открыть файл поступления» Для реализации
данного механизма был сделан вызов цепочки процедур и функций - процедура
«ОткрытьФайлПоступления(Команда)»,
которая
в
свою
очередь
вызывает.процедуру «ОткрытьФайлПоступленияНаСервере()».
Во время анализа внешнего файла, пользователю доступен визуальный
показатель прогресса анализа файла. Его можно увидеть на рисунке 22
75
Рисунок 22 – Визуальный показатель прогресса обработки внешнего файла
Результат выполнения данных вызовов становится сформированная
виртуальная таблица данных, которую можно увидеть на рисунке 23.
Рисунок 23 – Результат анализа внешнего файла EXCEL
После получения анализа внешнего файла пользователю необходимо
выбрать организацию, в помещении которой будут находиться единицу
имущества, и нажать кнопку «Загрузить поступление».
При нажатии на кнопку происходит вызов цепочки процедур и функций,
которые
обеспечивают
создание
необходимых
элементов
справочника
76
«Имущество» и «СтруктураЗданийКорпораций», а также полное заполнение
нового документа поступления имущества.
Список всех используемых функций и процедур присутствует в
Приложении А.
По завершению работы пользователю предоставляется выбор открытия
вновь созданного документа и его проведения через форму документа.
Для документа подсистемы имущества была разработана основная форма
документа, ее можно увидеть на рисунке 24.
Рисунок 24 – форма документа поступления недвижимости
На данном этапе пользователю остается только нажать кнопку «Проверсти»
где с помощью типовых механизмов 1С документ будет проведен, и
соответствующие данные уйдут в оперативный учет имущества корпорации.
Пользователь загрузил поступление имуществ. С помощью рабочего стола
учета имущества теперь можно посмотреть данные по имуществу.
Функционал рабочего стола реализован таким образом, что мы можем
открыть карточку имущества из общего списка имущества, которыл был показан
выше в работе.
77
Для данной подсистема была разработа форма элемента справочника
«Имущество», которая отражает в себе оперативные данные по нему, загружая в
себя данные из разных объектов подсистемы имущества.
Данную форму можно увидеть на рисунке 25
Рисунок 25 – Форма карточки имущества корпорации
Как видно из карточки, в нем есть практически все необходимые данные,
которые нужно знать об имуществе.
Разберем их детально:
–
Текущий инвентарный номер – номер, присвоенный единице
имущества системой исходя из данных по приходу или перемещнию данного
имущества;
–
Инвентарный номер (старый) – во время загрузки поступления через
внешний файл данное имущество создается автоматически, но с тем нужно
сохранить привязку к старой системе учета, чтобы не потерять данные;
–
Место хранения – кабинет, помещение, в котором на данный момент
находится единица имущества;
–
Процент износа – тот процент износа, чтобы был указан при
первоначальном поступлении или уже вновь расчитанный подсистемой;
–
Вид имущества – автоматически формируется при создании имущества
из поступления через внешний файл или вручную пользователем при создании
вручную единицы имущества в подсистеме;
78
–
Блок
юридичические
данные:
все
данные
подгружаются
из
необходимых регистров и отображаются в карточке;
–
Из карточки имущества пользователь можно перейти к форме.
Данную форму представлена на рисунке 26.
Рисунок 26 – Карточка офиса корпорации подсистемы учета имущества
На данной форме доступны оперативные данные по имуществу, которое
находится внутри данного помещения. Данная функция реализована с помощью
динамического списка с произвольным запросом. На рисунке 27 можно увидеть
схему данной карточки в конфигурации
Рисунок 27 – Реализация карточки офиса с динамическим списком
79
Большинство используемых форм используют динамические списки в связи
с тем, что данная подсистема в первую очередь рассматривалась как инструмент
оперативного учета.
Вернемся к главному рабочему столу имущества корпорации.
Сейчас мы рассмотрели такие элементы как создание поступления из
внешнего файла, созданием нового поступления, возможность просмотра карточки
имущества и карточки офиса корпорации с определенным функционалом.
Основным инструментом сбора информации в такого рода подсистемах
служат отчеты. Как уже говорилось ранее, в подсистеме реализовано схожим
образом 6 отчетов. Рассмотрим самый функциональный отчет «История
имущества».
Пользователю для того, чтобы перейти к формированию отчета,
необходимо на рабочем столе учета имущества корпорации нажать на кнопку
«История имущества». При нажатии на кнопку срабатывает процедура вызова
формы внутреннего отчета, которая была также разработана для подсистемы учета
имущества. Данную форму можно увидеть на рисунке 28.
Рисунок 28 – Форма отчета «История имущества»
Главной особенностью данного отчета является то, что пользователь в праве
сам сконфигурировать те выходные данные, которые ему необходимы.
80
Также данный отчет собирает данные по любым операциям или
документам, проводимым в подсистеме
Как видно на панели сверху, при формировании отчета истории имущества
учитываются также определенные параметры по пожеланию пользователя.
Также, для формирования через рабочий стол имущества доступны еще пять
отчетов, форму вызова которых можно увидеть на рисунке 29
Рисунок 29 – Доступ к формированию отчетов из рабочего стола учета имущества
корпорации
В кратце перечислим остальные типы документов с их разработанными
формами и функционалом проведения.
Рисунок 30 – Форма документа «Перемещение имущества между организациями»
На рисунке 30 отображена форма документа перемещения имущества
между организациями. Пользователем заполняются только основные поля
документа и 3 поля табличной части документа, помеченные ярким цветом,
81
остальные поля заполняются автоматически на основе выбора пользователя в
заполняемых полях.
На рисунке 31 отображена форма документа перемещения имущества
между сотрудниками корпорациями. Ключевыеми начальными полями для
заполнения здесь являются поля ответственных, на их основе автоматически
заполняются поля ОБОП. Когда данные заполнены, на выбор добавляемого
имущества накладываются определенные условия путем передачи их в качестве
параметров в форму выбора имущества. Данные параметры учавствуют в
произвольном запросе динамического списка формы выбора, поэтому выбор
единицы имущества производится максимально корректно.
Рисунок 31 – Форма документа «Перемещение имущества между сотрудниками
корпорации»
82
Рисунок 32 Форма документа «Списание имущества»
На рисунке 32 представлена форма документа В данном документе
пользователю необходимо заполнить только поле Организация. Поле «Дата» и
«Номер» заполняются автоматически при открытии формы. После заполнения поля
«Организация» происходит внедрение значения данного поля в качестве параметра
в динамический список формы выбора имущества – другими словами в табличную
часть документа можно будет добавить только то имущество, которое находится
на балансе выбранной организации, остальные данные заполнятся автоматически
при окончании выбора.
83
ЗАКЛЮЧЕНИЕ
В ходе выпускной квалификационной работы были выполнены следующие
задачи:
–
проанализированы возможные аналоги разрабатываемой подсистемы,
а также выявить слабые и сильные стороны систем;
–
обоснована
необходимость
разработки
подсистемы
учета
недвижимости корпорации;
–
смоделированы процессы учета недвижимости;
–
описаны
функциональные
требования
к
подсистеме
учета
недвижимости;
–
описана модель структуры подсистемы учета недвижимости;
–
обоснован
выбор
инструментальных
средств
для
разработки
подсистемы учета недвижимости;
–
описана
архитектура
разрабатываемой
подсистемы
учета
недвижимости.
–
разработан необходимый функционал посредством создания форм к
объектам подсистемы для визуального взаимодействия пользователя, а также
использования необходимых процедур и функций.
–
реализована подсистема учета недвижимости для ООО «Корпорация
«Проект-Техника».
В связи с тем, что все поставленные задачи были выполнены, цель
выпускной квалификационной работы была достигнута в полном объеме.
84
СПИСОК ЛИТЕРАТУРЫ
1.
Баронов В.В. «Автоматизация управления предприятием» / Баронов
В.В., Калянов Г.Н., Попов Ю.Н. и др. – М.: Инфа-М, 2000. – 346 с.
2.
Маклаков
С.В.
«BPwin
и
Erwin
CASE-средства
разработки
информационных систем» – М.: Диалог – МИФИ, 2001. – 304с.
3.
М.Г.
Радченко
«1С:Предприятие
8.3
Практическое
пособие
разработчика» / М.Г. Радченко, Е.Ю. Хрусталева Москва, 2016
4.
В.Рыбаков «Мастер-класс HELLO, 1C Пример быстрой разработки
приложений на платформе 1С:Предприятие 8.3». Москва «1С-Паблишинг», 2015.
5.
Е.Ю. Хрусталева. Разработка сложных отчетов в 1С:Предприятии 8.
Система компоновки данных Москва, «1С-Паблишинг», 2016
6.
Гончаров
Д.И.
«Решение
специальных
прикладных
задач
в
1С:Предприятие 8.3»/ –Гончаров Д.И., Хрусталева Е.Ю Москва, «1С-Паблишинг»,
2015.
7.
Ажеронок
В.А.
«Профессиональная
разработка
в
системе
1С:Предприятие 8" Издание 2» / Ажеронок В.А., Габец А.П., Гончаров Д.И.,
Козырев Д.В., Кухлевский Д.С., Островерх А.В., Радченко М.Г., Хрусталева Е.Ю.
Москва, «1С-Паблишинг», 2016.
8.
Ю.Д.Романовой
«Информационные
технологии
в
менеджменте
(управлении) : учебник и практикум» М.: Юрайт, 2015 - 478c.
9.
Катаев С.М. Программирование в 1С:Предприятие 8.3 / С.М.Катаев,
Ю.А.Сергиенко.- Санкт-Петербург: Питер,2014.- 304 с.
85
ПРИЛОЖЕНИЕ А
(обязательное)
Листинг всех объектов подсистемы учет недвижимости.
Код общего модуля «пртУчетаНедвижиости:
&НаСервере
Функция ПолучениеПрефиксаЮридическогоЛица(Организация) Экспорт
ЮридическоеЛицо = Новый Запрос;
ЮридическоеЛицо.Текст = "ВЫБРАТЬ
| Организации.Префикс
|ИЗ
| Справочник.Организации КАК Организации
|ГДЕ
| Организации.Наименование = &Наименование
| И Организации.ПометкаУдаления = ЛОЖЬ";
ЮридическоеЛицо.УстановитьПараметр("Наименование", Организация.Наименование);
РезультатЗапроса = ЮридическоеЛицо.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() = 1 Тогда
ПрефиксЮрЛица = РезультатЗапроса[0].Префикс;
Возврат ПрефиксЮрЛица;
Иначе
//Сообщить("Не найдена организация, которая бы соответствовала юр. лицу из структуры
предприятия");
Возврат ЛОЖЬ;
КонецЕсли;
КонецФункции
&НаСервере
Функция ПоискИмуществаВБазеДляВыгрузки(Структура, СтрокаПоступления) Экспорт
Если
НЕ
ЗначениеЗаполнено(СтрокаПоступления.присвоенный_номер)
СтрокаПоступления.присвоенный_номер = "" Тогда
НовоеИмущество = СоздатьНовоеИмуществоИзФайла(Структура, СтрокаПоступления);
ИначеЕсли ЗначениеЗаполнено(СтрокаПоступления.присвоенный_номер) Тогда
Номер = СтрокаПоступления.присвоенный_номер;
ПоискИмущества = Новый Запрос;
ПоискИмущества.Текст = "ВЫБРАТЬ
| Имущество.Ссылка
|ИЗ
| Справочник.Имущество КАК Имущество
|ГДЕ
| Имущество.Наименование = &Наименование
| И Имущество.ИнвентарныйНомерСтарый = &Номер";
ПоискИмущества.УстановитьПараметр("Наименование", СтрокаПоступления.Наименование);
ПоискИмущества.УстановитьПараметр("Номер", Номер);
РезультатЗапроса = ПоискИмущества.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() = 1 ТОГДА
НовоеИмущество = РезультатЗапроса[0].Ссылка;
ИначеЕсли РезультатЗапроса.Количество() < 1 Тогда
НовоеИмущество = СоздатьНовоеИмуществоИзФайла(Структура, СтрокаПоступления);
КонецЕсли;
КонецЕсли;
Возврат НовоеИмущество.Ссылка;
КонецФункции
&НаСервере
Функция СоздатьНовоеИмуществоИзФайла(Структура, СтрокаПоступления) Экспорт
НовоеИмущество = Справочники.Имущество.СоздатьЭлемент();
НовоеИмущество.Наименование = СтрокаПоступления.Наименование;
ИЛИ
86
Если ЗначениеЗаполнено(СтрокаПоступления.присвоенный_номер) Тогда
НовоеИмущество.ИнвентарныйНомерСтарый = СтрокаПоступления.присвоенный_номер;
Иначе
НовоеИмущество.ИнвентарныйНомерСтарый = "Отсутствует" ;
КонецЕсли;
Если СтрокаПоступления.за_балансом = "+" Тогда
НовоеИмущество.ЗаБалансом = ИСТИНА;
Иначе
НовоеИмущество.ЗаБалансом = ЛОЖЬ;
КонецЕсли;
НовоеИмущество.ЕдиницаИзмерения = ПолучитьЕдиницуИзмерения("796");
НовоеИмущество.Записать();
Возврат НовоеИмущество;
КонецФункции
&НаСервере
Функция ПолучитьЕдиницуИзмерения(Код) Экспорт
ЕдиницаИзмерения = Новый Запрос;
ЕдиницаИзмерения.Текст = "ВЫБРАТЬ
| ЕдиницыИзмерения.Ссылка
|ИЗ
| Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
|ГДЕ
| ЕдиницыИзмерения.ПометкаУдаления = ЛОЖЬ
| И ЕдиницыИзмерения.КодОКЕИ = &Код";
ЕдиницаИзмерения.УстановитьПараметр("Код", Код);
РезультатЗапроса = ЕдиницаИзмерения.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() = 1 Тогда
КодОКЕИ = РезультатЗапроса[0].Ссылка;
Возврат КодОКЕИ;
Иначе
Сообщить("Единицы измерения не обнаружено");
Возврат ЛОЖЬ;
КонецЕсли;
КонецФункции
#Область РаботаСЭлементамиДокументов
&НаСервере
Функция СозданиеДокументаПриходаНовойНедвижимости(Структура,ДатаПоступления) Экспорт // на основе
одного (!) листа файла загрузки
НовыйДокументПоступления = Документы.ПриходНовойНедвижимости.СоздатьДокумент();
НовыйДокументПоступления.Город = Структура.Город;
НовыйДокументПоступления.Ответственный = ПараметрыСеанса.ТекущийПользователь;
НовыйДокументПоступления.Дата = ДатаПоступления;
НовыйДокументПоступления.Комментарий = "Создан из файла выгрузки; " + ТекущаяДата() + " " +
ПараметрыСеанса.ТекущийПользователь;
Возврат НовыйДокументПоступления;
КонецФункции
&НаСервере
Функция
ДобавитьВНовыйДокументПриходаНедвижимостьВТЗ(НовыйДокументПоступления,
Структура,
СтрокаПоступления) Экспорт // добавляем в созданный документ все имущество из одного (!) листа загрузки.
Если НЕ СтрокаПоступления.Присвоенный_номер = "списано" Тогда
НовоеИмущество = НовыйДокументПоступления.ПриходуемоеИмущество.Добавить();
НовоеИмущество.Имущество = ПоискИмуществаВБазеДляВыгрузки(Структура, СтрокаПоступления);
НовоеИмущество.Количество = СтрокаПоступления.кол_во;
НовоеИмущество.ЕдиницаИзмерения = ПолучитьЕдиницуИзмерения("796");
НовоеИмущество.ПроцентИзноса = СтрокаПоступления.Процент_износа;
НовоеИмущество.СтоимостьЗакупкиБезНДС = СтрокаПоступления.стоимость_закупки_без_НДС;
НовоеИмущество.СтоимостьАрендыБезНДС
=
СтрокаПоступления.стоимость_арендной_платы_без_НДС;
87
НовоеИмущество.МОЛ = СтрокаПоступления.МОЛ;
НовоеИмущество.Пользователь = СтрокаПоступления.Пользователь;
НовоеИмущество.МестоХранения
=
ПоискКабинетаДляИмущества(Структура,
СтрокаПоступления.номер_кабинета);
НовоеИмущество.Организация = СтрокаПоступления.на_балансе;
НовоеИмущество.ОБОП = СтрокаПоступления.ОБОП;
Иначе
Сообщить ("Строка не обработана, имущество в стадии списания");
КонецЕсли;
КонецФункции
#КонецОбласти
#Область РаботаСЭлементамиСправочниковИИхДанными
&НаСервере
Функция ПоискКабинетаДляИмущества(Структура, НаименованиеЭтажа) Экспорт
ПоискКабинета = Новый Запрос;
ПоискКабинета.Текст = "ВЫБРАТЬ
| СтруктураЗданийкорпорации.Ссылка
|ИЗ
| Справочник.СтруктураЗданийкорпорации КАК СтруктураЗданийкорпорации
|ГДЕ
| СтруктураЗданийкорпорации.ВладелецГород = &Город
| И СтруктураЗданийкорпорации.Организация = &Организация
| И СтруктураЗданийкорпорации.ПометкаУдаления = ЛОЖЬ
| И СтруктураЗданийкорпорации.Наименование = &Наименование
| И СтруктураЗданийкорпорации.Родитель = &Этаж
| И СтруктураЗданийкорпорации.Родитель.Родитель = &Здание";
ПоискКабинета.УстановитьПараметр("Город", Структура.Город);
ПоискКабинета.УстановитьПараметр("Организация", Структура.Организация);
ПоискКабинета.УстановитьПараметр("Здание", Структура.Здание);
ПоискКабинета.УстановитьПараметр("Этаж", Структура.Этаж);
ПоискКабинета.УстановитьПараметр("Наименование", НаименованиеЭтажа);
РезультатЗапроса = ПоискКабинета.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() = 1 ТОГДА
НайденныйКабинет = РезультатЗапроса[0].Ссылка;
Возврат НайденныйКабинет;
Иначе
НовыйКабинет
=
СозданиеЭлементаСправочникаСтруктураЗданий(Перечисления.СтруктурныеВидыЗдания.Кабинет,Структура,Наи
менованиеЭтажа);
Возврат НовыйКабинет;
КонецЕсли;
КонецФункции
&НаСервере
Функция СозданиеЭлементаСправочникаСтруктураЗданий (ТипСтруктуры, Содержимое, НаименованиеЭлемента)
Экспорт
СодержимоеСтруктуры = Содержимое;
ПроверкаГорода = Новый Запрос;
НовоеМестоХранения = Справочники.СтруктураЗданийкорпорации.СоздатьЭлемент();
НовоеМестоХранения.Наименование = НаименованиеЭлемента;
НовоеМестоХранения.ВладелецГород = СодержимоеСтруктуры.Город;
НовоеМестоХранения.Организация = СодержимоеСтруктуры.Организация;
НовоеМестоХранения.ТипСтруктуры = ТипСтруктуры;
Если ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Этаж Тогда
НовоеМестоХранения.Родитель = СодержимоеСтруктуры.Здание;
ИначеЕсли ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Кабинет Тогда
НовоеМестоХранения.Родитель = СодержимоеСтруктуры.Этаж;
КонецЕсли;
НовоеМестоХранения.Записать();
Возврат НовоеМестоХранения.Ссылка;
КонецФункции
88
&НаСервере
Функция ПолучитьМаксИнвентарныйНомер(Имущество, Организация, Регистратор) Экспорт
ИнвентарныйНомер = 0;
ТекущийМаксимум = 0 ;
Максимум = Новый Запрос;
Максимум .Текст =
"ВЫБРАТЬ
| УчетИмуществаИнвентарныеНомераСрезПоследних.ИнвентарныйНомер,
| УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество
|ИЗ
| РегистрСведений.УчетИмуществаИнвентарныеНомера.СрезПоследних
УчетИмуществаИнвентарныеНомераСрезПоследних
|ГДЕ
| УчетИмуществаИнвентарныеНомераСрезПоследних.Организация = &Организация
|
|УПОРЯДОЧИТЬ ПО
| УчетИмуществаИнвентарныеНомераСрезПоследних.ИнвентарныйНомер УБЫВ" ;
Максимум.УстановитьПараметр("Организация", Организация);
Результат = Максимум.Выполнить().Выгрузить();
ПроверкаИмущества = Новый Запрос;
ПроверкаИмущества.Текст = "ВЫБРАТЬ
| УчетИмуществаИнвентарныеНомера.Имущество
|ИЗ
| РегистрСведений.УчетИмуществаИнвентарныеНомера
УчетИмуществаИнвентарныеНомера
|ГДЕ
| УчетИмуществаИнвентарныеНомера.Организация
=
&Организация
УчетИмуществаИнвентарныеНомера.Имущество = &Имущество";
ПроверкаИмущества.УстановитьПараметр("Организация", Организация);
ПроверкаИмущества.УстановитьПараметр("Имущество", Имущество);
РезультатПроверки = ПроверкаИмущества.Выполнить().Выгрузить();
Если Результат.Количество() < 1 Тогда
//НаборИнвентарныхЗаписей
РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
//НаборИнвентарныхЗаписей.Отбор.Организация.Установить(Организация);
//НоваяЗапись =
НаборИнвентарныхЗаписей.Добавить();
//НоваяЗапись.ИнвентарныйНомер = 0;
//НоваяЗапись.Период = ТекущаяДата();
//НоваяЗапись.Организация = Организация;
//НоваяЗапись.Регистратор = Регистратор;
//НоваяЗапись.Активность = Истина;
//НоваяЗапись.Имущество = Справочники.Имущество.ПустаяСсылка();
//НаборИнвентарныхЗаписей.Записать(ЛОЖЬ);
//ИнвентарныйНомер = пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(Имущество,
Организация, Регистратор);
ИнвентарныйНомер = 1 ;
ИначеЕсли Результат.Количество() > 0 Тогда
Если РезультатПроверки.Количество() < 1 Тогда
ИнвентарныйНомер = Результат[0].ИнвентарныйНомер + 1;
ИначеЕсли РезультатПроверки.Количество() = 1 Тогда
ИнвентарныйНомер = "Дубль";
КонецЕсли;
КонецЕсли;
Возврат ИнвентарныйНомер;
КонецФункции
&НаСервере
Функция СоздатьНовуюНоменклатуруДляИмущества(Название) Экспорт
НоваяНоменклатура = Справочники.ВидыИмущества.СоздатьЭлемент();
НоваяНоменклатура.Наименование = Название;
НоваяНоменклатура.Комментарий = "Создана " + ТекущаяДата()
ПараметрыСеанса.ТекущийПользователь;;
НоваяНоменклатура.Записать();
Возврат НоваяНоменклатура.Ссылка;
+
";
Пользователь
КАК
КАК
И
=
"
+
89
КонецФункции
&НаСервере
Функция ПроверкаНоменклатурыПриЗаписиИмущества(Название) Экспорт
НоменклатураИмущества = Справочники.ВидыИмущества.ПустаяСсылка();
Имущ = Новый Запрос;
Имущ.Текст =
"ВЫБРАТЬ
|
ВидыИмущества.Ссылка Как Номенклат
|ИЗ
|
Справочник.ВидыИмущества КАК ВидыИмущества
|ГДЕ
|
ВидыИмущества.Наименование = &Название" ;
Имущ.УстановитьПараметр("Название",Название);
Результат = Имущ.Выполнить().Выгрузить();
Если Результат.Количество() < 1 Тогда
НоменклатураИмущества = СоздатьНовуюНоменклатуруДляИмущества(Название);
ИначеЕсли Результат.Количество() = 1 Тогда
НоменклатураИмущества = Результат[0].Номенклат;
КонецЕсли;
Возврат НоменклатураИмущества;
КонецФункции
&НаСервере
Функция ПолучитьДанныеПоИмуществуИзРегистров(Имущество) Экспорт
Дата = ТекущаяДата();
ДанныеИзРегистров = Новый Запрос;
ДанныеИзРегистров.Текст =
"ВЫБРАТЬ
|
УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество.Ссылка
КАК
Имущество,
|
УчетИмуществаИнвентарныеНомераСрезПоследних.ИнвентарныйНомер,
|
УчетИзносаИмуществаСрезПоследних.ПроцентИзноса,
|
УчетНедвижимостиПриходРасходОстатки.МестоХранения,
|
УчетНедвижимостиПриходРасходОстатки.Пользователь,
|
УчетНедвижимостиПриходРасходОстатки.ОБОП,
|
УчетНедвижимостиПриходРасходОстатки.КоличествоОстаток,
|
УчетНедвижимостиПриходРасходОстатки.Организация,
|
УчетНедвижимостиПриходРасходОстатки.МОЛ,
УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество.ЕдиницаИзмерения.Ссылка
КАК
ЕдиницаИзмерения,
|
УчетИмуществаИнвентарныеНомераСрезПоследних.СтоимостьЗакупкиБезНДС,
|
УчетИмуществаИнвентарныеНомераСрезПоследних.СтоимостьАрендыБезНДС,
|
УчетИмуществаИнвентарныеНомераСрезПоследних.Списано,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.ВладелецГород.Наименование
КАК
ПрефиксГорода
|ИЗ
|
РегистрНакопления.УчетНедвижимостиПриходРасход.Остатки
КАК
УчетНедвижимостиПриходРасходОстатки
|
ЛЕВОЕ
СОЕДИНЕНИЕ
РегистрСведений.УчетИмуществаИнвентарныеНомера.СрезПоследних(&ТекущаяДата,
)
КАК
УчетИмуществаИнвентарныеНомераСрезПоследних
|
ПО УчетНедвижимостиПриходРасходОстатки.Имущество.Ссылка =
УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество.Ссылка
|
И
УчетНедвижимостиПриходРасходОстатки.Организация.Ссылка
=
УчетИмуществаИнвентарныеНомераСрезПоследних.Организация.Ссылка
|
ЛЕВОЕ
СОЕДИНЕНИЕ
РегистрСведений.УчетИзносаИмущества.СрезПоследних КАК УчетИзносаИмуществаСрезПоследних
|
ПО УчетНедвижимостиПриходРасходОстатки.Имущество.Ссылка =
УчетИзносаИмуществаСрезПоследних.Имущество.Ссылка
|ГДЕ
|
УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество.Ссылка
=
&Имущество";
ДанныеИзРегистров.УстановитьПараметр("Имущество",Имущество);
90
ДанныеИзРегистров.УстановитьПараметр("ТекущаяДата", Дата);
Результат = ДанныеИзРегистров.Выполнить().Выгрузить();
ДанныеДляИмущества = Новый Структура;
Если Результат.Количество() < 1 Тогда
ДанныеДляИмущества.Вставить("ТекущийИнвентарныйНомер","Отсутствует");
ДанныеДляИмущества.Вставить("ТекущийИзнос", "");
ДанныеДляИмущества.Вставить("ТекущееМестоХранения",
Справочники.СтруктураЗданийкорпорации.ПустаяСсылка() );
ДанныеДляИмущества.Вставить("ТекущаяОрганизация",
Справочники.Организации.ПустаяСсылка() );
ДанныеДляИмущества.Вставить("ТекущийПользователь",
Справочники.ФизическиеЛица.ПустаяСсылка());
ДанныеДляИмущества.Вставить("ТекущийМОЛ",
Справочники.ФизическиеЛица.ПустаяСсылка());
ДанныеДляИмущества.Вставить("ТекущийОБОП", Справочники.Организации.ПустаяСсылка());
ДанныеДляИмущества.Вставить("ЕдиницаИзмерения",
Справочники.ЕдиницыИзмерения.ПустаяСсылка());
ДанныеДляИмущества.Вставить("ТекущийОстаток", 0);
ДанныеДляИмущества.Вставить("СтоимостьЗакупкиБезНДС",0);
ДанныеДляИмущества.Вставить("СтоимостьАрендыБезНДС",0);
ДанныеДляИмущества.Вставить("ТекущееУчетноеСостояние", ИСТИНА);
ДанныеДляИмущества.Вставить("ПрефиксГорода","");
ИначеЕсли Результат.Количество() = 1 Тогда
ДанныеДляИмущества.Вставить("ТекущийИнвентарныйНомер",Результат[0].ИнвентарныйНомер);
ДанныеДляИмущества.Вставить("ТекущийИзнос", Результат[0].ПроцентИзноса );
ДанныеДляИмущества.Вставить("ТекущееМестоХранения", Результат[0].МестоХранения );
ДанныеДляИмущества.Вставить("ТекущаяОрганизация", Результат[0].Организация );
ДанныеДляИмущества.Вставить("ТекущийПользователь", Результат[0].Пользователь);
ДанныеДляИмущества.Вставить("ТекущийМОЛ", Результат[0].МОЛ);
ДанныеДляИмущества.Вставить("ТекущееОБОП", Результат[0].ОБОП);
ДанныеДляИмущества.Вставить("ЕдиницаИзмерения", Результат[0].ЕдиницаИзмерения);
ДанныеДляИмущества.Вставить("ТекущийОстаток", Результат[0].КоличествоОстаток);
ДанныеДляИмущества.Вставить("СтоимостьЗакупкиБезНДС",Результат[0].СтоимостьЗакупкиБезНДС);
ДанныеДляИмущества.Вставить("СтоимостьАрендыБезНДС",Результат[0].СтоимостьАрендыБезНДС);
ДанныеДляИмущества.Вставить("ТекущееУчетноеСостояние",Результат[0].Списано);
ДанныеДляИмущества.Вставить("ПрефиксГорода", Лев(Результат[0].ПрефиксГорода, 1));
КонецЕсли;
Возврат ДанныеДляИмущества;
КонецФункции
&НаСервере
Процедура ОбновитьИнвентарныеНомераИзРегистраНаСервере(ТекущаяДата) Экспорт
ПрефиксОрганизации = "";
ПрефиксГорода = "";
ЗапросИмущества = Новый Запрос;
ЗапросИмущества.Текст = "ВЫБРАТЬ
| УчетИмуществаИнвентарныеНомераСрезПоследних.ИнвентарныйНомер
КАК
ИнвентарныйНомерИзРегистра,
| УчетНедвижимостиПриходРасходОстатки.Имущество.Ссылка КАК Имущество,
| УчетНедвижимостиПриходРасходОстатки.Имущество.ИнвентарныйНомер
КАК
ИнвентарныйНомер,
| УчетНедвижимостиПриходРасходОстатки.МестоХранения.ВладелецГород.Наименование
КАК НаименованиеГорода,
| УчетНедвижимостиПриходРасходОстатки.Организация.Префикс
КАК
ПрефиксОрганизации
|ИЗ
| РегистрНакопления.УчетНедвижимостиПриходРасход.Остатки
КАК
УчетНедвижимостиПриходРасходОстатки
|
ЛЕВОЕ
СОЕДИНЕНИЕ
РегистрСведений.УчетИмуществаИнвентарныеНомера.СрезПоследних(&ТекущаяДата,
)
КАК
УчетИмуществаИнвентарныеНомераСрезПоследних
|
ПО
УчетНедвижимостиПриходРасходОстатки.Имущество.Ссылка
=
УчетИмуществаИнвентарныеНомераСрезПоследних.Имущество.Ссылка
91
|
И
УчетНедвижимостиПриходРасходОстатки.Организация.Ссылка
=
УчетИмуществаИнвентарныеНомераСрезПоследних.Организация.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ИнвентарныйНомерИзРегистра" ;
ЗапросИмущества.УстановитьПараметр("ТекущаяДата", ТекущаяДата);
РезультатЗапросаИмущества = ЗапросИмущества.Выполнить().Выгрузить();
Для Каждого СтрокаРезультата Из РезультатЗапросаИмущества ЦИКЛ
Если СтрокаРезультата.ПрефиксОрганизации = NULL Тогда
ПрефиксОрганизации = "";
Иначе
ПрефиксОрганизации = СтрокаРезультата.ПрефиксОрганизации ;
КонецЕсли;
Если СтрокаРезультата.НаименованиеГорода = NULL Тогда
ПрефиксГорода = "";
Иначе
ПрефиксГорода = Лев(СтрокаРезультата.НаименованиеГорода, 1) ;
КонецЕсли;
//НЕ СтрокаРезультата.ИнвентарныйНомер = СтрокаРезультата.ИнвентарныйНомерИзРегистра И
//
Если НЕ СтрокаРезультата.ИнвентарныйНомерИзРегистра = NULL Тогда
ИмуществоОбъект = СтрокаРезультата.Имущество.ПолучитьОбъект();
ИмуществоОбъект.ИнвентарныйНомер
СтрокаРезультата.ИнвентарныйНомерИзРегистра;
ИмуществоОбъект.ИнвентарныйНомерСтроковый =
+ПрефиксГорода + "-" + СтрокаРезультата.ИнвентарныйНомерИзРегистра;
ИмуществоОбъект.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
=
ПрефиксОрганизации
+
"-"
&НаСервере
Функция ПолучитьСтруктуруПредприятияПоОрганизации(Организация) Экспорт
СтруктураПредприятия = "" ;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|
Организации.Подразделение.Ссылка КАК Структура
|ИЗ
|
Справочник.Организации КАК Организации
|ГДЕ
|
Организации.Ссылка = &Организация" ;
Запрос.УстановитьПараметр("Организация", Организация);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Если РезультатЗапроса.Количество() < 1 Тогда
Возврат СтруктураПредприятия;
ИначеЕсли РезультатЗапроса.Количество() = 1 Тогда
СтруктураПредприятия = РезультатЗапроса[0].Структура;
Возврат СтруктураПредприятия;
КонецЕсли;
КонецФункции
#КонецОбласти
#Область Автоматизированный_расчет_данных_по_имуществу
&НаСервере
Процедура АвтоматическийРасчетАренднойПлаты() Экспорт
ПараметрРасчетаИзКонстанты = Константы.ПериодичностьРасчетаАренднойПлаты.Получить();
ПараметраРасчетаАрендыВДнях = ПараметрРасчетаИзКонстанты * 30; //умножаем на 30 условных дней, у
нас нет задачи для использовать производственный календарь
ДатаТекущая = ТекущаяДата();
// Теперь собираем те единицы имущества по первичным документам поступления, у которых необходимо
пересчитать арендную плату
92
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|
УчетНедвижимостиПриходРасход.Имущество КАК Имущество,
|
УчетНедвижимостиПриходРасход.Имущество.ЦенаЗакупки КАК ЦенаЗакупки,
|
РАЗНОСТЬДАТ(УчетНедвижимостиПриходРасход.Дата,
&Дата,
ДЕНЬ)
КАК
ВремяИспользованияИмущества,
|
УчетИзносаИмущества.ПроцентИзноса КАК ПроцентИзноса
|ИЗ
|
РегистрНакопления.УчетНедвижимостиПриходРасход
КАК
УчетНедвижимостиПриходРасход
|
ЛЕВОЕ
СОЕДИНЕНИЕ
РегистрСведений.УчетИзносаИмущества
КАК
УчетИзносаИмущества
|
ПО
УчетНедвижимостиПриходРасход.Имущество
=
УчетИзносаИмущества.Имущество
|ГДЕ
|
ТИПЗНАЧЕНИЯ(УчетНедвижимостиПриходРасход.Регистратор)
=
ТИП(Документ.ПриходНовойНедвижимости)
|
И
РАЗНОСТЬДАТ(УчетНедвижимостиПриходРасход.Дата,
&Дата,
ДЕНЬ)
>
&ПериодичностьРасчета";
Запрос.УстановитьПараметр("ПериодичностьРасчета", ПараметраРасчетаАрендыВДнях);
Запрос.УстановитьПараметр("Дата", ДатаТекущая);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Для Каждого Строка из РезультатЗапроса Цикл
Если ЗначениеЗаполнено(Строка.Имущество) Тогда
МенеджерЗаписи
=
РегистрыСведений.УчетИмуществаАренднаяПлата.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Дата = ДатаТекущая;
МенеджерЗаписи.Имущество = Строка.Имущество;
МенеджерЗаписи.Прочитать();
Если НЕ МенеджерЗаписи.Выбран() Тогда
МенеджерЗаписи.Дата = ДатаТекущая;
МенеджерЗаписи.Имущество = Строка.Имущество;
МенеджерЗаписи.АренднаяПлата
=
(Строка.ЦенаЗакупки
/
ПараметрРасчетаИзКонстанты) * (1/Строка.ПроцентИзноса);
МенеджерЗаписи.Записать();
Иначе
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура АвтоматическийРасчетИзносаИмущества() Экспорт
ПараметрРасчетаИзКонстанты = Константы.ПериодичностьРасчетаИзносаИмущества.Получить();
ДобавляемыйПроцентИзноса = Константы.ДобавляемыйПроцентИзсноса.Получить();
ДатаТекущая = ТекущаяДата();
// Теперь собираем те единицы имущества по первичным документам поступления, у которых необходимо
пересчитать процент износа
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|
УчетНедвижимостиПриходРасход.Имущество КАК Имущество,
|
РАЗНОСТЬДАТ(УчетНедвижимостиПриходРасход.Дата,
&Дата,
ДЕНЬ)
КАК
ВремяИспользованияИмущества,
|
УчетИзносаИмущества.ПроцентИзноса КАК ПроцентИзноса
|ИЗ
|
РегистрНакопления.УчетНедвижимостиПриходРасход
КАК
УчетНедвижимостиПриходРасход
93
|
ЛЕВОЕ
СОЕДИНЕНИЕ
РегистрСведений.УчетИзносаИмущества
КАК
УчетИзносаИмущества
|
ПО
УчетНедвижимостиПриходРасход.Имущество
=
УчетИзносаИмущества.Имущество
|ГДЕ
|
ТИПЗНАЧЕНИЯ(УчетНедвижимостиПриходРасход.Регистратор)
=
ТИП(Документ.ПриходНовойНедвижимости)
|
И
РАЗНОСТЬДАТ(УчетИзносаИмущества.Период,
&Дата,
ДЕНЬ)
>
&ПериодичностьРасчета";
Запрос.УстановитьПараметр("ПериодичностьРасчета", ПараметрРасчетаИзКонстанты);
Запрос.УстановитьПараметр("Дата", ДатаТекущая);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Для Каждого Строка из РезультатЗапроса Цикл
Если ЗначениеЗаполнено(Строка.Имущество) Тогда
МенеджерЗаписи =РегистрыСведений.УчетИзносаИмущества.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = ДатаТекущая;
МенеджерЗаписи.Имущество = Строка.Имущество;
МенеджерЗаписи.Прочитать();
Если НЕ МенеджерЗаписи.Выбран() Тогда
МенеджерЗаписи.Дата = ДатаТекущая;
МенеджерЗаписи.Имущество = Строка.Имущество;
МенеджерЗаписи.ПроцентИзноса=МенеджерЗаписи.ПроцентИзноса+ДобавляемыйПроцентИзноса;
МенеджерЗаписи.Записать();
Иначе
Продолжить;
КонецЕсли;
Иначе
Продолжить;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
#КонецОбласти
Код модуля формы элемента справочника «Имущество»
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Проверяются права на изменения единиц
имущества
СтандартнаяОбработка = ЛОЖЬ;
ДанныеИзРегистров=пртУчетНедвижимости.ПолучитьДанныеПоИмуществуИзРегистров(Объект.Ссылка) ;
Если
ЗначениеЗаполнено(ДанныеИзРегистров.ТекущийИнвентарныйНомер)
и
НЕ
ДанныеИзРегистров.ТекущийИнвентарныйНомер = "Отсутствует" Тогда
Если Объект.ИнвентарныйНомер <> ДанныеИзРегистров.ТекущийИнвентарныйНомер Тогда
ОбъектДляЗаписи = Объект.Ссылка.ПолучитьОбъект();
ОбъектДляЗаписи.ИнвентарныйНомер = ДанныеИзРегистров.ТекущийИнвентарныйНомер;
ПерИнв = ДанныеИзРегистров.ТекущийИнвентарныйНомер;
ОбъектДляЗаписи.Записать();
Сообщить("Инвентарный номер актуален");
ИначеЕсли Объект.ИнвентарныйНомер = ДанныеИзРегистров.ТекущийИнвентарныйНомер Тогда
КонецЕсли;
ИначеЕсли ДанныеИзРегистров.ТекущийИнвентарныйНомер = "Отсутствует" Тогда
Объект.ИнвентарныйНомер = "Отсутсвует";
КонецЕсли;
Если Объект.ИнвентарныйНомер = 0 и ДанныеИзРегистров.ТекущееУчетноеСостояние=Истина Тогда
Объект.ИнвентарныйНомерСтроковый = "Отсутствует - позиция списана";
ИначеЕсли Объект.ИнвентарныйНомер = 0 и ДанныеИзРегистров.ТекущееУчетноеСостояние
= ЛОЖЬ Тогда
Объект.ИнвентарныйНомерСтроковый = "данная позиция еще не прошла регистрацию";
ИначеЕсли
ДанныеИзРегистров.ТекущееУчетноеСостояние
=
ЛОЖЬ
и
Объект.ИнвентарныйНомерСтроковый <>
(ДанныеИзРегистров.ТекущаяОрганизация.Префикс + "-" +
Лев(ДанныеИзРегистров.ПрефиксГорода, 1) + "-" + Объект.ИнвентарныйНомер)
Тогда
94
Объект.ИнвентарныйНомерСтроковый = ДанныеИзРегистров.ТекущаяОрганизация.Префикс + "-"
+ Лев(ДанныеИзРегистров.ПрефиксГорода, 1) + "-" + Объект.ИнвентарныйНомер;
КонецЕсли;
ТекущаяОрганизация = ДанныеИзРегистров.ТекущаяОрганизация;
ТекущийИзнос = ДанныеИзРегистров.ТекущийИзнос;
ТекущееМестоХранения = ДанныеИзРегистров.ТекущееМестоХранения;
ТекущийМол = ДанныеИзРегистров.ТекущийМОЛ;
ТекущийПользователь = ДанныеИзРегистров.ТекущийПользователь;
ТекущийОстаток = ДанныеИзРегистров.ТекущийОстаток;
СтоимостьЗакупкиБезНДС = ДанныеИзРегистров.СтоимостьЗакупкиБезНДС;
СтоимостьАрендыБезНДС = ДанныеИзРегистров.СтоимостьАрендыБезНДС;
ТекущееУчетноеСостояние = ДанныеИзРегистров.ТекущееУчетноеСостояние;
Объект.ЕдиницаИзмерения = пртУчетНедвижимости.ПолучитьЕдиницуИзмерения("796");
КонецПроцедуры
Код
произвольного
запроса
динамического
списка
формы
«ФормаВыбораАктуальные» справочника «Имущество»
ВЫБРАТЬ
СписокИмущества.Ссылка КАК Имущество,
СписокИмущества.ИнвентарныйНомерСтарый,
СписокИмущества.ЗаБалансом,
УчетНедвижимостиПриходРасходОстатки.Организация.Ссылка КАК Организация,
УчетНедвижимостиПриходРасходОстатки.МОЛ.Ссылка КАК Ответственный,
УчетНедвижимостиПриходРасходОстатки.Пользователь.Ссылка КАК Пользователь,
УчетНедвижимостиПриходРасходОстатки.ОБОП.Ссылка КАК ОБОП,
МАКСИМУМ(УчетНедвижимостиПриходРасходОстатки.Дата) КАК Дата,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.ВладелецГород КАК Город,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Ссылка КАК Кабинет,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Родитель.Ссылка КАК Этаж,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Родитель.Родитель.Ссылка КАК Здание,
СписокИмущества.ИнвентарныйНомерСтроковый
ИЗ
РегистрНакопления.УчетНедвижимостиПриходРасход.Остатки
КАК
УчетНедвижимостиПриходРасходОстатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Имущество КАК СписокИмущества
ПО УчетНедвижимостиПриходРасходОстатки.Имущество = СписокИмущества.Ссылка
ГДЕ
СписокИмущества.ИнвентарныйНомер > 0
СГРУППИРОВАТЬ ПО
СписокИмущества.ИнвентарныйНомерСтарый,
СписокИмущества.ЗаБалансом,
УчетНедвижимостиПриходРасходОстатки.Организация.Ссылка,
УчетНедвижимостиПриходРасходОстатки.МОЛ.Ссылка,
УчетНедвижимостиПриходРасходОстатки.Пользователь.Ссылка,
УчетНедвижимостиПриходРасходОстатки.ОБОП.Ссылка,
СписокИмущества.Ссылка,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.ВладелецГород,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Ссылка,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Родитель.Ссылка,
УчетНедвижимостиПриходРасходОстатки.МестоХранения.Родитель.Родитель.Ссылка
Код
модуля
формы
«СтруктураЗданийкорпорации»
Перем ПроверкаРодителя;
Перем ПроверкаРодителяРодителя;
Перем УровеньВложенности;
&НаСервере
«ФормаЭлемента»
справочника
95
Процедура ФормированияВидимостиСтруктурыДляЭлемента() // формируются видимость полей и данные в них на
форме элемента
Если Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Здание Тогда
Элементы.Здание.Видимость = ложь;
Элементы.Этаж.Видимость = ложь;
ИначеЕсли Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Этаж Тогда
Здание = Объект.Родитель;
Элементы.Этаж.Видимость = ложь;
ИначеЕсли Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Кабинет Тогда
Если Этаж = Справочники.СтруктураЗданийкорпорации.ПустаяСсылка() Тогда
Этаж = Объект.Родитель;
КонецЕсли;
Если Здание = Справочники.СтруктураЗданийкорпорации.ПустаяСсылка() Тогда
Здание = Объект.Родитель.Родитель;
КонецЕсли;
ИначеЕсли Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.ПустаяСсылка() Тогда
Элементы.Здание.Видимость = ложь;
Элементы.Этаж.Видимость = ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УстановкаТипаСоздаваемогоЭлемента() // Устанавливает тип структуры здания у элемента в
зависимости от его иерархического места в структуре
БелыйЦвет = ЦветаСтиля.ЦветФонаКнопки;
Элементы.ТипСтруктуры.ТолькоПросмотр = ИСТИНА;
// Проверка места в иерархии структуры здания
Если Объект.Родитель.Ссылка = Справочники.СтруктураЗданийкорпорации.ПустаяСсылка() Тогда
ПроверкаРодителя = ЛОЖЬ ;
КонецЕсли;
Если
ЗначениеЗаполнено(Объект.Родитель.Ссылка)
И
Объект.Родитель.ТипСтруктуры
=
Перечисления.СтруктурныеВидыЗдания.Здание
Тогда ПроверкаРодителя = ИСТИНА;
КонецЕсли;
Если ЗначениеЗаполнено(Объект.Родитель.Родитель.Ссылка) Тогда
ПроверкаРодителяРодителя = ИСТИНА;
КонецЕсли;
// Установка места в иерархии
Если Объект.Ссылка.Пустая() и ПроверкаРодителя = ЛОЖЬ Тогда
Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Здание;
ИначеЕсли Объект.Ссылка.Пустая() и ПроверкаРодителя = ИСТИНА Тогда
Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Этаж ;
Объект.ВладелецГород = Объект.Родитель.ВладелецГород;
Объект.Организация = Объект.Родитель.Организация;
Элементы.Город.ТолькоПросмотр = ИСТИНА;
Элементы.Организация.ТолькоПросмотр = ИСТИНА;
Элементы.Здание.ТолькоПросмотр = ИСТИНА;
Элементы.Город.ЦветТекста = БелыйЦвет;
Элементы.Организация.ЦветТекста = БелыйЦвет;
Элементы.Здание.ЦветТекста = БелыйЦвет;
ИначеЕсли Объект.Ссылка.Пустая() и ПроверкаРодителяРодителя = ИСТИНА Тогда
Объект.ТипСтруктуры = Перечисления.СтруктурныеВидыЗдания.Кабинет;
Объект.ВладелецГород = Объект.Родитель.Родитель.ВладелецГород;
Объект.Организация = Объект.Родитель.Родитель.Организация;
Элементы.Город.ТолькоПросмотр = ИСТИНА;
Элементы.Организация.ТолькоПросмотр = ИСТИНА;
Элементы.Здание.ТолькоПросмотр = ИСТИНА;
Элементы.Этаж.ТолькоПросмотр = ИСТИНА;
Элементы.Город.ЦветТекста = БелыйЦвет;
Элементы.Организация.ЦветТекста = БелыйЦвет;
Элементы.Этаж.ЦветТекста = БелыйЦвет;
Элементы.Здание.ЦветТекста = БелыйЦвет;
96
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Установления параметра для динамического
списка для вывода всей принадлежащей объекту недвижимости
СписокИмущества.Параметры.УстановитьЗначениеПараметра("МестоХранения", Объект.Ссылка);
УстановкаТипаСоздаваемогоЭлемента();
КонецПроцедуры
&НаСервере
Процедура ПриОткрытииНаСервере() // Настройка видимости полей в зависимости от места в иерархии структуры
здания
ФормированияВидимостиСтруктурыДляЭлемента() // вызов функции
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ) // Вызов настройки видимости полей на клиенте
ПриОткрытииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура пртОрганизацияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ФормаВыбора = ПолучитьФорму("Справочник.Организации.ФормаВыбора",,ЭтаФорма);
НовыйЭлементОтбора
ФормаВыбора.Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтоОрганизация");
НовыйЭлементОтбора.ПравоеЗначение = ИСТИНА;
НовыйЭлементОтбора.Использование = ИСТИНА;
КонецПроцедуры
Код
произвольного
запроса
динамического
списка
на
=
форме
«ФормаЭлемента» справочника «СтруктураЗданийкорпорации»
ВЫБРАТЬ
УчетНедвижимостиПриходРасходОстатки.Имущество.Ссылка КАК Имущество,
УчетНедвижимостиПриходРасходОстатки.МОЛ.Ссылка КАК МОЛ,
УчетНедвижимостиПриходРасходОстатки.Пользователь.Ссылка КАК Пользователь,
УчетНедвижимостиПриходРасходОстатки.ОБОП.Ссылка КАК ОБОП,
УчетНедвижимостиПриходРасходОстатки.Организация.Ссылка,
УчетНедвижимостиПриходРасходОстатки.Имущество.ИнвентарныйНомерСтроковый
ИнвентарныйНомер
ИЗ
РегистрНакопления.УчетНедвижимостиПриходРасход.Остатки
УчетНедвижимостиПриходРасходОстатки
ГДЕ
УчетНедвижимостиПриходРасходОстатки.МестоХранения = &МестоХранения
Код
произвольного
запроса
динамического
списка
«ФормаСписка» справочника «СтруктураЗданийкорпорации»
ВЫБРАТЬ
СтруктураЗданийкорпорации.Ссылка,
СтруктураЗданийкорпорации.ПометкаУдаления,
СтруктураЗданийкорпорации.Родитель,
СтруктураЗданийкорпорации.Код,
СтруктураЗданийкорпорации.Наименование,
СтруктураЗданийкорпорации.ВладелецГород,
КАК
КАК
на
форме
97
СтруктураЗданийкорпорации.Организация,
СтруктураЗданийкорпорации.ТипСтруктуры,
СтруктураЗданийкорпорации.Предопределенный,
СтруктураЗданийкорпорации.ИмяПредопределенныхДанных,
ВЫБОР
КОГДА
СтруктураЗданийкорпорации.ТипСтруктуры
ЗНАЧЕНИЕ(Перечисление.СтруктурныеВидыЗдания.Здание)
ТОГДА 0
КОГДА
СтруктураЗданийкорпорации.ТипСтруктуры
ЗНАЧЕНИЕ(Перечисление.СтруктурныеВидыЗдания.Этаж)
ТОГДА 1
КОГДА
СтруктураЗданийкорпорации.ТипСтруктуры
ЗНАЧЕНИЕ(Перечисление.СтруктурныеВидыЗдания.Кабинет)
ТОГДА 2
КОНЕЦ КАК ИндексКартинки
ИЗ
Справочник.СтруктураЗданийкорпорации КАК СтруктураЗданийкорпорации
=
=
=
Код формы «ФормаДокумента» документа «ПриходНовойНедвижимости:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь.Ссылка;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Объект.Дата = ТекущаяДата();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура
ПриходуемоеИмуществоИмуществоДляПоступленияНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
СтандартнаяОбработка = ЛОЖЬ;
ФормаВыбора = ПолучитьФорму("Справочник.Имущество.Форма.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИнвентарныйНомер");
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецПроцедуры
&НаСервере
Процедура ОбновитьДанныеПоИмуществу()
ДатаЗамены = Объект.Дата;
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ОбновитьДанныеПоИмуществу();
КонецПроцедуры
Форма модуля объекта документа «ПриходНовойНедвижимости»
Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
= пртУчетНедвижимости.ПолучениеПрефиксаЮридическогоЛица(ОрганизацияАрендодатель);
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
98
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ИнвентарныйНомер = 0;
ИнвентарныйНомерВнутриДвижений = 0;
НомерСтроки = 0;
// регистр УчетИмуществаИнвентарныеНомера
Для Каждого ТекСтрокаПриходуемоеИмущество Из ПриходуемоеИмущество Цикл
ИнвентарныйНомер
=
пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(ТекСтрокаПриходуемоеИмущество.Имущество,ТекСтр
окаПриходуемоеИмущество.Организация, Ссылка);
Если ИнвентарныйНомер <> "Дубль" Тогда
НомерСтроки = НомерСтроки + 1;
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Значение = ТекСтрокаПриходуемоеИмущество.Организация;
НаборЗаписей.Отбор.Организация.Использование = ИСТИНА;
Запись = НаборЗаписей.Добавить();
Запись.Период = Дата;
Запись.ДокументОснование = Ссылка;
Запись.Организация = ТекСтрокаПриходуемоеИмущество.Организация;
Запись.Имущество = ТекСтрокаПриходуемоеИмущество.Имущество;
Запись.ИнвентарныйНомер = ИнвентарныйНомер;
Запись.СтоимостьЗакупкиБезНДС
=
ТекСтрокаПриходуемоеИмущество.СтоимостьЗакупкиБезНДС;
Запись.СтоимостьАрендыБезНДС
=
ТекСтрокаПриходуемоеИмущество.СтоимостьАрендыБезНДС;
Запись.Списано = ЛОЖЬ;
Запись.Активность = Истина;
НаборЗаписей.Записать(ЛОЖЬ);
КонецЕсли;
//Движение.Организация = ТекСтрокаПриходуемоеИмущество.Организация;
//ИнвентарныйНомер=пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(ТекСтрокаПриходуемое
Имущество.Имущество,ТекСтрокаПриходуемоеИмущество.Организация, Ссылка);
// Движение.ИнвентарныйНомер = ИнвентарныйНомер;
КонецЦикла;
// регистр УчетИзносаИмущества
Движения.УчетИзносаИмущества.Записывать = Истина;
Для Каждого ТекСтрокаПриходуемоеИмущество Из ПриходуемоеИмущество Цикл
Движение = Движения.УчетИзносаИмущества.Добавить();
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПриходуемоеИмущество.Имущество;
Движение.ПроцентИзноса = ТекСтрокаПриходуемоеИмущество.ПроцентИзноса;
КонецЦикла;
// регистр УчетНедвижимостиПриходРасход Приход
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПриходуемоеИмущество Из ПриходуемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПриходуемоеИмущество.Имущество;
Движение.МестоХранения = ТекСтрокаПриходуемоеИмущество.МестоХранения;
Движение.Организация = ТекСтрокаПриходуемоеИмущество.Организация;
Движение.ОБОП = ТекСтрокаПриходуемоеИмущество.ОБОП;
Движение.МОЛ = ТекСтрокаПриходуемоеИмущество.МОЛ;
Движение.Пользователь = ТекСтрокаПриходуемоеИмущество.Пользователь;
Движение.Количество = ТекСтрокаПриходуемоеИмущество.Количество;
КонецЦикла;
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(Дата);
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ОбработкаУдаленияПроведения(Отказ)
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
99
НаборЗаписей.Отбор.ДокументОснование.Установить(Ссылка);
НаборЗаписей.Записать();
КонецПроцедуры
Код формы «ФормаДокумента» документа «ПередачаИмуществаОфисная»
#Область Выполняется_на_сервере
&НаСервере
Функция ПолучитьТекущиеДанныеПоИмуществу(Имущество)
ДанныеПоИмуществу = пртУчетНедвижимости.ПолучитьДанныеПоИмуществуИзРегистров(Имущество);
Возврат ДанныеПоИмуществу;
КонецФункции
&НаСервере
Процедура ОбновитьДанныеПоИмуществу()
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
&НаСервере
Функция ПолучитьТекущиеДанныеПоПринимающемуМОЛУ (МОЛ)
ПринимающийОБОП = МОЛ.Организация;
Возврат ПринимающийОБОП;
КонецФункции
&НаСервере
Функция ПолучитьСтруктуруПоОрганизации()
ТекущаяСтруктура=пртУчетНедвижимости.ПолучитьСтруктуруПредприятияПоОрганизации(Объект.Принимающ
аяОрганизация.Ссылка) ;
Возврат ТекущаяСтруктура;
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Объект.Дата = ТекущаяДата();
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область Выполняется_на_клиенте
&НаКлиенте
Процедура ПередаваемоеИмуществоПередаваемоеИмуществоПриИзменении(Элемент)
ТекущиеДанныеПоИмуществу = Элементы.ПередаваемоеИмущество.ТекущиеДанные;
Имущество = ТекущиеДанныеПоИмуществу.ПередаваемоеИмущество;
ДанныеПоИмуществу = ПолучитьТекущиеДанныеПоИмуществу(Имущество) ;
ТекущиеДанныеПоИмуществу.ОтдающийОтветственный = ДанныеПоИмуществу.ТекущийМОЛ;
ТекущиеДанныеПоИмуществу.ТекущееМестоХранения = ДанныеПоИмуществу.ТекущееМестоХранения;
ТекущиеДанныеПоИмуществу.ИнвентарныйНомер = ДанныеПоИмуществу.ТекущийИнвентарныйНомер;
ТекущиеДанныеПоИмуществу.ОтдающееОБОП = ДанныеПоИмуществу.ТекущееОБОП;
ТекущиеДанныеПоИмуществу.ОтдающийПользователь = ДанныеПоИмуществу.ТекущийПользователь;
ТекущиеДанныеПоИмуществу.СтоимостьЗакупкиБезНДС
=
ДанныеПоИмуществу.СтоимостьЗакупкиБезНДС;
ТекущиеДанныеПоИмуществу.СтоимостьАрендыБезНДС
=
ДанныеПоИмуществу.СтоимостьАрендыБезНДС;
ТекущиеДанныеПоИмуществу.Количество = 1;
КонецПроцедуры
100
&НаКлиенте
Процедура
ПередаваемоеИмуществоПередаваемоеИмуществоНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
ТекущийОФис = Объект.ОтдающийОфис;
СтандартнаяОбработка = ЛОЖЬ;
Если ЗначениеЗаполнено(ТекущийОФис) Тогда
ПараметрОтбора = ТекущийОФис;
ФормаВыбора
=
ПолучитьФорму("Справочник.Имущество.Форма.ФормаВыбораАктуальные",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("МестоХранения");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
WSHShell = Новый COMОбъект("WScript.Shell");
WSHShell.SendKeys("%");
WSHShell.SendKeys("{LEFT}{LEFT}{ENTER}");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередаваемоеИмуществоПринимающийОтветственныйПриИзменении(Элемент)
ТекущиеДанныеПоИмуществу = Элементы.ПередаваемоеИмущество.ТекущиеДанные;
ПринимающийМОЛ = ТекущиеДанныеПоИмуществу.ПринимающийОтветственный;
ДанныеОБОП = ПолучитьТекущиеДанныеПоПринимающемуМОЛУ(ПринимающийМОЛ);
ТекущиеДанныеПоИмуществу.ПринимающееОБОП = ДанныеОБОП;
КонецПроцедуры
&НаКлиенте
Процедура
ПередаваемоеИмуществоПринимающийОтветственныйНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
ТекущаяОрганизация = Объект.ПринимающаяОрганизация;
ТекущаяСтруктура = ПолучитьСтруктуруПоОрганизации();
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяСтруктура;
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура
ПередаваемоеИмуществоНовоеМестоХраненияНачалоВыбора(Элемент,
СтандартнаяОбработка)
ТекущаяОрганизация = Объект.ПринимающаяОрганизация;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
ПолучитьФорму("Справочник.СтруктураЗданийкорпорации.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
ДанныеВыбора,
=
101
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
=
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ОбновитьДанныеПоИмуществу();
КонецПроцедуры
&НаКлиенте
Процедура ПередаваемоеИмуществоПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа,
Параметр)
Если НЕ ЗначениеЗаполнено(Объект.ОтдающаяОрганизация) Тогда
ПоказатьПредупреждение(,"Не заполнено поле ""Отдающая организация"". Заполните данное
поле для продолжения работы ", 10);
Отказ = ИСТИНА;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.ПринимающаяОрганизация) Тогда
ПоказатьПредупреждение(,"Не заполнено поле ""Принимающая организация"". Заполните данное
поле для продолжения работы ", 10);
Отказ = ИСТИНА;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
Код модуля объекта документа «ПередачаИмуществаОфисная»:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр УчетНедвижимостиПриходРасход Приход
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Дата = Дата;
Движение.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Движение.МестоХранения = ТекСтрокаПередаваемоеИмущество.НовоеМестоХранения;
Движение.МОЛ = ТекСтрокаПередаваемоеИмущество.ПринимающийОтветственный;
Движение.Пользователь = ТекСтрокаПередаваемоеИмущество.ПринимающийПользователь;
Движение.ОБОП = ТекСтрокаПередаваемоеИмущество.ПринимающееОБОП;
Движение.Количество = ТекСтрокаПередаваемоеИмущество.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Код
формы
«ФормаДокумента»
«ПередачаИмуществаМеждуОрганизациями»
&НаСервере
документа
102
Функция ПолучитьТекущиеДанныеПоИмуществу(Имущество)
ДанныеПоИмуществу = пртУчетНедвижимости.ПолучитьДанныеПоИмуществуИзРегистров(Имущество);
Возврат ДанныеПоИмуществу;
КонецФункции
&НаСервере
Процедура ОбновитьДанныеПоИмуществу()
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
&НаСервере
Функция ПолучитьТекущиеДанныеПоПринимающемуМОЛУ (МОЛ)
ПринимающийОБОП = МОЛ.Организация;
Возврат ПринимающийОБОП;
КонецФункции
&НаКлиенте
Процедура ПередаваемоеИмуществоПередаваемоеИмуществоПриИзменении(Элемент)
ТекущиеДанныеПоИмуществу = Элементы.ПередаваемоеИмущество.ТекущиеДанные;
Имущество = ТекущиеДанныеПоИмуществу.ПередаваемоеИмущество;
ДанныеПоИмуществу = ПолучитьТекущиеДанныеПоИмуществу(Имущество) ;
ТекущиеДанныеПоИмуществу.ОтдающийОтветственный = ДанныеПоИмуществу.ТекущийМОЛ;
ТекущиеДанныеПоИмуществу.ТекущееМестоХранения = ДанныеПоИмуществу.ТекущееМестоХранения;
ТекущиеДанныеПоИмуществу.ИнвентарныйНомер = ДанныеПоИмуществу.ТекущийИнвентарныйНомер;
ТекущиеДанныеПоИмуществу.ОтдающееОБОП = ДанныеПоИмуществу.ТекущееОБОП;
ТекущиеДанныеПоИмуществу.ОтдающийПользователь = ДанныеПоИмуществу.ТекущийПользователь;
ТекущиеДанныеПоИмуществу.СтоимостьЗакупкиБезНДС
=
ДанныеПоИмуществу.СтоимостьЗакупкиБезНДС;
ТекущиеДанныеПоИмуществу.СтоимостьАрендыБезНДС
=
ДанныеПоИмуществу.СтоимостьАрендыБезНДС;
ТекущиеДанныеПоИмуществу.Количество = 1;
КонецПроцедуры
&НаКлиенте
Процедура
ПередаваемоеИмуществоПередаваемоеИмуществоНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
ТекущаяОрганизация = Объект.ОтдающаяОрганизация;
СтандартнаяОбработка = ЛОЖЬ;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
=
ПолучитьФорму("Справочник.Имущество.Форма.ФормаВыбораАктуальные",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
WSHShell = Новый COMОбъект("WScript.Shell");
WSHShell.SendKeys("%");
WSHShell.SendKeys("{LEFT}{LEFT}{ENTER}");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПередаваемоеИмуществоПринимающийОтветственныйПриИзменении(Элемент)
103
ТекущиеДанныеПоИмуществу = Элементы.ПередаваемоеИмущество.ТекущиеДанные;
ПринимающийМОЛ = ТекущиеДанныеПоИмуществу.ПринимающийОтветственный;
ДанныеОБОП = ПолучитьТекущиеДанныеПоПринимающемуМОЛУ(ПринимающийМОЛ);
ТекущиеДанныеПоИмуществу.ПринимающееОБОП = ДанныеОБОП;
КонецПроцедуры
&НаКлиенте
Процедура
ПередаваемоеИмуществоПринимающийОтветственныйНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
ТекущаяОрганизация = Объект.ПринимающаяОрганизация;
ТекущаяСтруктура = ПолучитьСтруктуруПоОрганизации();
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяСтруктура;
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьСтруктуруПоОрганизации()
ТекущаяСтруктура
=
пртУчетНедвижимости.ПолучитьСтруктуруПредприятияПоОрганизации(Объект.ПринимающаяОрганизация.Ссыл
ка) ;
Возврат ТекущаяСтруктура;
КонецФункции
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Объект.Дата = ТекущаяДата();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура
ПередаваемоеИмуществоНовоеМестоХраненияНачалоВыбора(Элемент,
ДанныеВыбора,
СтандартнаяОбработка)
ТекущаяОрганизация = Объект.ПринимающаяОрганизация;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
=
ПолучитьФорму("Справочник.СтруктураЗданийкорпорации.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
=
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
104
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ОбновитьДанныеПоИмуществу();
КонецПроцедуры
&НаКлиенте
Процедура ПередаваемоеИмуществоПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа,
Параметр)
Если НЕ ЗначениеЗаполнено(Объект.ОтдающаяОрганизация) Тогда
ПоказатьПредупреждение(,"Не заполнено поле ""Отдающая организация"". Заполните данное
поле для продолжения работы ", 10);
Отказ = ИСТИНА;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.ПринимающаяОрганизация) Тогда
ПоказатьПредупреждение(,"Не заполнено поле ""Принимающая организация"". Заполните данное
поле для продолжения работы ", 10);
Отказ = ИСТИНА;
КонецЕсли;
КонецПроцедуры
Код
модуля
объекта
документа
«ПередачаИмуществаМеждуОрганизациями»:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ДокументОснование.Установить(Ссылка);
НаборЗаписей.Записать();
ДатаЗамены = ТекущаяДата();
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
ИнвентарныйНомер
=
пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(ТекСтрокаПередаваемоеИмущество.ПередаваемоеИму
щество,ПринимающаяОрганизация, Ссылка);
Если ИнвентарныйНомер <> "Дубль" Тогда
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Значение = ПринимающаяОрганизация;
НаборЗаписей.Отбор.Организация.Использование = ИСТИНА;
Запись = НаборЗаписей.Добавить();
Запись.Период = Дата;
Запись.ДокументОснование = Ссылка;
Запись.Организация = ПринимающаяОрганизация;
Запись.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Запись.ИнвентарныйНомер = ИнвентарныйНомер;
Запись.СтоимостьЗакупкиБезНДС
=
ТекСтрокаПередаваемоеИмущество.СтоимостьЗакупкиБезНДС;
Запись.СтоимостьАрендыБезНДС
=
ТекСтрокаПередаваемоеИмущество.СтоимостьАрендыБезНДС;
Запись.Списано = ЛОЖЬ;
Запись.Активность = Истина;
НаборЗаписей.Записать(ЛОЖЬ);
КонецЕсли;
//Движение.Организация = ТекСтрокаПриходуемоеИмущество.Организация;
//ИнвентарныйНомер
=
пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(ТекСтрокаПриходуемоеИмущество.Имущество,ТекСтр
окаПриходуемоеИмущество.Организация, Ссылка);
// Движение.ИнвентарныйНомер = ИнвентарныйНомер;
КонецЦикла;
// регистр УчетНедвижимостиПриходРасход Приход
105
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Движение.МестоХранения = ТекСтрокаПередаваемоеИмущество.НовоеМестоХранения;
Движение.Организация = ПринимающаяОрганизация;
Движение.МОЛ = ТекСтрокаПередаваемоеИмущество.ПринимающийОтветственный;
Движение.ОБОП = ТекСтрокаПередаваемоеИмущество.ПринимающееОБОП;
Движение.Количество = ТекСтрокаПередаваемоеИмущество.Количество;
КонецЦикла;
// регистр УчетНедвижимостиПриходРасход Расход
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Движение.МестоХранения = ТекСтрокаПередаваемоеИмущество.ТекущееМестоХранения;
Движение.Организация = ОтдающаяОрганизация;
Движение.МОЛ = ТекСтрокаПередаваемоеИмущество.ОтдающийОтветственный;
Движение.ОБОП = ТекСтрокаПередаваемоеИмущество.ОтдающееОБОП;
Движение.Пользователь = ТекСтрокаПередаваемоеИмущество.ОтдающийПользователь ;
Движение.Количество = ТекСтрокаПередаваемоеИмущество.Количество;
КонецЦикла;
КонецПроцедуры
Процедура ОбработкаУдаленияПроведения(Отказ)
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ДокументОснование.Установить(Ссылка);
НаборЗаписей.Записать();
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
Процедура ПриЗаписи(Отказ)
ПроверитьЗаполнение();
Если НЕ ПроверитьЗаполнение() Тогда
Отказ = ИСТИНА;
КонецЕсли;
КонецПроцедуры
Код
модуля
формы
«ФормаДокумента»
документа
«ПередачаИмуществаМеждуСотрудниками»:
#Область Начало_работы_с_документом
&НаКлиенте
Процедура ПроставитьТекущиеДанныеПоИмуществу(Элемент)
ТекущиеДанныеПоИмуществу = Элементы.ТЗПередаваемоеИмущество.ТекущиеДанные;
ТекущаяОрганизация = Элементы.Организация;
Имущество = ТекущиеДанныеПоИмуществу.ПередаваемоеИмущество;
ДанныеПоИмуществу = ПолучитьТекущиеДанныеПоИмуществу(Имущество) ;
ТекущиеДанныеПоИмуществу.ОтдающийПользователь = ДанныеПоИмуществу.ТекущийПользователь;
ТекущиеДанныеПоИмуществу.ТекущееМестоХранения = ДанныеПоИмуществу.ТекущееМестоХранения;
ТекущиеДанныеПоИмуществу.ИнвентарныйНомер = ДанныеПоИмуществу.ТекущийИнвентарныйНомер;
ТекущиеДанныеПоИмуществу.Количество = 1;
КонецПроцедуры
&НаСервере
106
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
СтандартнаяОбработка = ЛОЖЬ;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Объект.Дата = ТекущаяДата();
КонецЕсли;
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь.Ссылка;
КонецПроцедуры
&НаСервере
Функция ПолучитьТекущиеДанныеПоИмуществу(Имущество)
ДанныеПоИмуществу
пртУчетНедвижимости.ПолучитьДанныеПоИмуществуИзРегистров(Имущество);
Возврат ДанныеПоИмуществу;
КонецФункции
&НаКлиенте
Процедура ПередаваемоеИмуществоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущиеДанныеПоИмуществу = Элементы.ТЗПередаваемоеИмущество.ТекущиеДанные;
ТекущаяОрганизация = Объект.Организация;
ТекущийОБОП = Объект.ОтдающееОБОП;
ТекущийПользователь =
ТекущиеДанныеПоИмуществу.ОтдающийПользователь;
ПустойОБОП = ПредопределенноеЗначение("Справочник.СтруктураПредприятия.ПустаяСсылка");
ПустойФизЛицо = ПредопределенноеЗначение("Справочник.ФизическиеЛица.ПустаяСсылка");
СтандартнаяОбработка = ЛОЖЬ;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
ПолучитьФорму("Справочник.Имущество.Форма.ФормаВыбораАктуальные",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ОБОП");
НовыйЭлементОтбора.ПравоеЗначение = ТекущийОБОП;
НовыйЭлементОтбора.Использование = ИСТИНА;
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ответственный");
НовыйЭлементОтбора.ПравоеЗначение = ТекущийОтветственный;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПолучитьДанныеПоОтдающемуМОЛ()
Источник =
Объект.ОтдающийМОЛ;
Объект.ОтдающееОБОП = Источник.Организация;
КонецПроцедуры
&НаКлиенте
Процедура ОтдающийМОЛПриИзменении(Элемент)
ПолучитьДанныеПоОтдающемуМОЛ();
КонецПроцедуры
=
=
=
=
=
107
&НаСервере
Процедура ПолучитьДанныеПоПринимающемуМОЛ()
Источник =
Объект.ПринимающийМОЛ;
Объект.ПринимающееОБОП = Источник.Организация;
КонецПроцедуры
&НаКлиенте
Процедура ПринимающийМОЛПриИзменении(Элемент)
ПолучитьДанныеПоПринимающемуМОЛ()
КонецПроцедуры
&НаКлиенте
Процедура ОтдающийМОЛНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяОрганизация = Объект.Организация;
ТекущаяСтруктура = ПолучитьСтруктуруПоОрганизации();
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяСтруктура;
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПолучитьСтруктуруПоОрганизации()
ТекущаяСтруктура
пртУчетНедвижимости.ПолучитьСтруктуруПредприятияПоОрганизации(Объект.Организация.Ссылка) ;
Возврат ТекущаяСтруктура;
КонецФункции
&НаКлиенте
Процедура ПринимающийПользовательНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
// ТекущаяСтруктура = Объект.ПринимающееОБОП;
// Если ЗначениеЗаполнено(ТекущаяСтруктура) Тогда
//
СтандартнаяОбработка = ЛОЖЬ;
//
ПараметрОтбора = ТекущаяСтруктура;
//
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
//
Список = ФормаВыбора.Список;
//
//ФормаВыбора.Открыть();
//
НовыйЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
//
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
//
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
//
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
//
НовыйЭлементОтбора.Использование = ИСТИНА;
// ФормаВыбора.Открыть();
//КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПринимающийМОЛНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяОрганизация = Объект.Организация;
ТекущаяСтруктура = ПолучитьСтруктуруПоОрганизации();
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
=
108
ПараметрОтбора = ТекущаяСтруктура;
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтдающийПользовательНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяСтруктура = Объект.ОтдающееОБОП;
Если ЗначениеЗаполнено(ТекущаяСтруктура) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяСтруктура;
ФормаВыбора = ПолучитьФорму("Справочник.ФизическиеЛица.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НовоеМестоХраненияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяОрганизация= Объект.Организация;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
СтандартнаяОбработка = ЛОЖЬ;
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
ПолучитьФорму("Справочник.СтруктураЗданийкорпорации.ФормаВыбора",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
=
=
=
#КонецОбласти
Код
модуля
объекта
документа
«ПередачаИмуществаМеждуСотрудниками»:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
109
// регистр УчетНедвижимостиПриходРасход Расход
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Движение.МестоХранения = ТекСтрокаПередаваемоеИмущество.ТекущееМестоХранения;
Движение.Организация = Организация;
Движение.МОЛ = ОтдающийМОЛ;
Движение.Пользователь = ТекСтрокаПередаваемоеИмущество.ОтдающийПользователь;
Движение.ОБОП = ОтдающееОБОП;
Движение.Количество = ТекСтрокаПередаваемоеИмущество.Количество;
КонецЦикла;
// регистр УчетНедвижимостиПриходРасход Приход
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаПередаваемоеИмущество Из ПередаваемоеИмущество Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Имущество = ТекСтрокаПередаваемоеИмущество.ПередаваемоеИмущество;
Движение.МестоХранения = ТекСтрокаПередаваемоеИмущество.НовоеМестоХранения;
Движение.Организация = Организация;
Движение.МОЛ = ПринимающийМОЛ;
Движение.Пользователь = ТекСтрокаПередаваемоеИмущество.ПринимающийПользователь;
Движение.ОБОП = ПринимающееОБОП;
Движение.Количество = ТекСтрокаПередаваемоеИмущество.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ПроверитьЗаполнение();
Если НЕ ПроверитьЗаполнение() Тогда
Отказ = ИСТИНА;
КонецЕсли;
КонецПроцедуры
Код модуля формы «ФормаДокумента» документа «СписаниеИмущества»:
&НаКлиенте
Процедура СписываемоеИмуществоПриИзменении(Элемент)
ТекущиеДанныеПоИмуществу = Элементы.СписываемоеИмуществоНаФорме.ТекущиеДанные;
ТекущаяОрганизация = Элементы.Организация;
Имущество = ТекущиеДанныеПоИмуществу.СписываемоеИмущество;
ДанныеПоИмуществу = ПолучитьТекущиеДанныеПоИмуществу(Имущество) ;
ТекущиеДанныеПоИмуществу.ТекущийИнвентарныйНомер
ДанныеПоИмуществу.ТекущийИнвентарныйНомер;
ТекущиеДанныеПоИмуществу.МестоХранения = ДанныеПоИмуществу.ТекущееМестоХранения;
ТекущиеДанныеПоИмуществу.ПроцентИзноса = ДанныеПоИмуществу.ТекущийИзнос;
ТекущиеДанныеПоИмуществу.ЕдиницаИзмерения = ДанныеПоИмуществу.ЕдиницаИзмерения ;
ТекущиеДанныеПоИмуществу.ТекущийОстаток = ДанныеПоИмуществу.ТекущийОстаток;
ТекущиеДанныеПоИмуществу.Количество = 1 ;
ТекущиеДанныеПоИмуществу.МОЛ =ДанныеПоИмуществу.ТекущийМОЛ;
ТекущиеДанныеПоИмуществу.ОБОП = ДанныеПоИмуществу.ТекущееОБОП;
ТекущиеДанныеПоИмуществу.Пользователь = ДанныеПоИмуществу.ТекущийПользователь;
ТекущиеДанныеПоИмуществу.СтоимостьЗакупкиБезНДС
ДанныеПоИмуществу.СтоимостьЗакупкиБезНДС;
ТекущиеДанныеПоИмуществу.СтоимостьАрендыБезНДС
ДанныеПоИмуществу.СтоимостьАрендыБезНДС;
=
=
=
110
КонецПроцедуры
&НаСервере
Функция ПолучитьТекущиеДанныеПоИмуществу(Имущество)
ДанныеПоИмуществу
пртУчетНедвижимости.ПолучитьДанныеПоИмуществуИзРегистров(Имущество);
Возврат ДанныеПоИмуществу;
КонецФункции
&НаКлиенте
Процедура СписываемоеИмуществоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ТекущаяОрганизация = Объект.Организация;
СтандартнаяОбработка = ЛОЖЬ;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
ПараметрОтбора = ТекущаяОрганизация;
ФормаВыбора
ПолучитьФорму("Справочник.Имущество.Форма.ФормаВыбораАктуальные",,Элемент);
Список = ФормаВыбора.Список;
//ФормаВыбора.Открыть();
НовыйЭлементОтбора
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация");
НовыйЭлементОтбора.ПравоеЗначение = ПараметрОтбора;
НовыйЭлементОтбора.Использование = ИСТИНА;
ФормаВыбора.Открыть();
КонецЕсли;
КонецПроцедуры
=
=
=
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Объект.Ссылка.Проведен = ЛОЖЬ Тогда
ЭтотОбъект.Элементы.СписываемоеИмуществоНаФорме.ПодчиненныеЭлементы.СписываемоеИмуществ
о.ТолькоПросмотр = ИСТИНА;
Иначе
КонецЕсли;
Объект.Ответственный = ПараметрыСеанса.ТекущийПользователь;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Объект.Дата = ТекущаяДата();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура КоличествоПриИзмененииНаСервере()
ТекущиеДанныеПоИмуществу = Элементы.СписокСписываемогоИмущества.ТекущиеДанные;
КонецПроцедуры
&НаКлиенте
Процедура КоличествоПриИзменении(Элемент)
КоличествоПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ТекущаяОрганизация = Объект.Организация;
Если ЗначениеЗаполнено(ТекущаяОрганизация) Тогда
ЭтотОбъект.Элементы.СписываемоеИмуществоНаФорме.ПодчиненныеЭлементы.СписываемоеИмущество.Только
Просмотр = ЛОЖЬ;
Иначе
111
ЭтотОбъект.Элементы.СписываемоеИмуществоНаФорме.ПодчиненныеЭлементы.СписываемоеИмущество.Только
Просмотр = ИСТИНА;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
Код модуля объекта документа «СписаниеИмущества»
Процедура ОбработкаПроведения(Отказ, Режим)
//Очищаем все записи в независимом регистре сведений, у которых в качестве "Документа" стоит текущее
списание
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ДокументОснование.Установить(Ссылка);
НаборЗаписей.Записать();
ТекущаяОрганизация = Организация;
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
Для Каждого ТекСтрокаСписокСписываемогоИмущества Из СписокСписываемогоИмущества Цикл
ИнвентарныйНомер
=
пртУчетНедвижимости.ПолучитьМаксИнвентарныйНомер(ТекСтрокаСписокСписываемогоИмущества.Списывае
моеИмущество,Организация, Ссылка);
Если ИнвентарныйНомер = "Дубль" Тогда
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Организация.Использование = ИСТИНА;
Запись = НаборЗаписей.Добавить();
Запись.Период = Дата;
Запись.ДокументОснование = Ссылка;
Запись.Организация = Справочники.Организации.ПустаяСсылка();
Запись.Имущество = ТекСтрокаСписокСписываемогоИмущества.СписываемоеИмущество;
Запись.ИнвентарныйНомер = 0;
Запись.СтоимостьЗакупкиБезНДС
=ТекСтрокаСписокСписываемогоИмущества.СтоимостьЗакупкиБезНДС;
Запись.СтоимостьАрендыБезНДС
=
ТекСтрокаСписокСписываемогоИмущества.СтоимостьАрендыБезНДС;
Запись.Списано = ИСТИНА;
Запись.Активность = Истина;
НаборЗаписей.Записать(ЛОЖЬ);
КонецЕсли;
КонецЦикла;
Движения.УчетНедвижимостиПриходРасход.Записывать = Истина;
Для Каждого ТекСтрокаСписокСписываемогоИмущества Из СписокСписываемогоИмущества Цикл
Движение = Движения.УчетНедвижимостиПриходРасход.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Дата = Дата;
Движение.Имущество = ТекСтрокаСписокСписываемогоИмущества.СписываемоеИмущество;
Движение.МестоХранения = ТекСтрокаСписокСписываемогоИмущества.МестоХранения;
Движение.Организация = Организация;
Движение.МОЛ = ТекСтрокаСписокСписываемогоИмущества.МОЛ;
Движение.Пользователь = ТекСтрокаСписокСписываемогоИмущества.Пользователь;
Движение.ОБОП = ТекСтрокаСписокСписываемогоИмущества.ОБОП;
Движение.Количество = ТекСтрокаСписокСписываемогоИмущества.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
112
Процедура ОбработкаУдаленияПроведения(Отказ)
НаборЗаписей = РегистрыСведений.УчетИмуществаИнвентарныеНомера.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ДокументОснование.Установить(Ссылка);
НаборЗаписей.Записать();
ДатаЗамены = ТекущаяДата();
пртУчетНедвижимости.ОбновитьИнвентарныеНомераИзРегистраНаСервере(ДатаЗамены);
КонецПроцедуры
Рисунок Б.1 – Пример внешнего загрузочнго файла формата Excel
113
ПРИЛОЖЕНИЕ Б
(Обязательное)
114
Iy^HHCTEPCTBO ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ОРЛОВСКИЙ ГОСУ ДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМЕНИ И.С. ТУРГЕНЕВА»
УДОСТОВЕРЯЮЩИЙ ЛИСТ № 110140/П
К ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЕ
на демонстрационный материал, представленный в электронном виде
Студента Калабникова Владислав Андреевича
шифр 110140/п
Институт заочного и очно-заочного образования
Кафедра информационных систем
Направление 09.03.03 Прикладная информатика
Направленность (профиль) Проектирование информационных систем
Наименование документа: Демонстрационные плакаты к выпускной
квалификационной работе
Документ разработал:
Студент
Калабников В.A
Документ согласован:
Руководитель
Нормоконтроль
Документ утвержден:
Зав. кафедрой
Волков В.Н.
Орел 2018
115
ИНФОРМАЦИОННО-ПОИСКОВАЯ ХАРАКТЕРИСТИКА ДОКУМЕНТА НА
ЭЛЕКТРОННОМ НОСИТЕЛЕ
Наименование
группы атрибутов
атрибута
1. Описание
Обозначение документа
документа
(идентификатор(ы)
файла(ов))
Наименование документа
2. Даты и время
3. Создатели
4. Внешние
ссылки
5. Защита
6. Характеристики
содержания
Характеристики документа
на электронном носителе
Презентация.pptx
Демонстрационные плакаты
к выпускной
квалификационной работе
Класс документа
ЕСКД
Вид документа
Оригинал документа на
электронном носителе
Аннотация
Демонстрационный
материал, отображающий
основные этапы выполнения
выпускной
квалификационной работы
Использование документа Операционная система
Windows 7, Microsoft
PowerPoint 2010
Дата и время
13.06.2018
копирования документа
Дата создания документа 29.05.2018
Дата утверждения
06.06.2018
документа
Автор
Калабников В.А.
Изготовитель
Калабников В.А.
Ссылки на другие
Удостоверяющий лист
документы
№ 110140/п
Санкционирование
ОГУ имени И.С. Тургенева
Классификация защиты
По законодательству РФ
Объем информации
208820 Б
документа
116
7. Структура
документа(ов)
Наименование плаката
(слайда) №1
Наименование плаката
(слайда) №2
Наименование плаката
(слайда) №3
Наименование плаката
(слайда) №4
Наименование плаката
(слайда) №5
Наименование плаката
(слайда) №6
Наименование плаката
(слайда) №7
Наименование плаката
(слайда) №8
Наименование плаката
(слайда) №9
Наименование плаката
(слайда) №10
Титульный лист
Цели и задачи ВКР
Декомпозиция диаграммы
процесса учета
недвижимости,
разработанного при
внедрении подсистемы
Декомпозиция диаграммы
процесса «Оперативный учет
имущества».
Концептуальная модель базы
данных подсистемы учета
недвижимости
Алгоритм создания нового
документа поступления с
помощью внешнего файла
Алгоритм расчета арендной
платы
Экранные формы
подсистемы учета
недвижимости
Экранные формы
подсистемы учета
недвижимости
Экранные формы
подсистемы учета
недвижимости
1/--страниц
Пожаловаться на содержимое документа