ФЕдЕPAЛЬнoЕ ГOCУДAPсTBЕннOЕ БЮДЖЕT}loЕ
oБPAЗoBATЕЛЬHoЕ yЧPЕжДЕниЕ BЬIсrТш'ГОoБPAзoBAни,{
(IIAЦIIOIIAJIЬI{ьIЙ иссЛЕДOBATЕJIьскI,Iй
мopДовсшrЙ
гOсyДAPCTBЕI{I{ьIЙ rrншвEPсиTЕT им. н. II. огдpЁвд"'>
Фaкyльтет
MaTемaTики
и инфopМaI{иoIIньDt
Кaф елpa I\{aTrМ aтllЧrcкoгo
TrxIIологий
alяaJIvlla
УTBЕP}I{ДAЮ
3aв.кaфедрoй
кaIIд.
нaylq .Цoll.
4Д..'a'.
_@_
u-/9),
.
L/".'Ф'.(4 2019 г.
БAкAЛABPCкAЯPAБOTA
PEAJII{ЗAЦI,IяшIOДУJIясPABI{ЕIII,IяДAIII{ЬIх
IIA IIЛATФOPNIЕ lC: IIPЕ'ДIIPI,IяTIIЕ
paбoтьI
Aвтopбaкaлaвpокoй
щgfu-
M. A. oпpитoвa
oбoзнaчениrбaкaлaвpскoй
paботьlБР-02069
964-a2.a3.
01.01- t 9
Cпециa.пьIIoсTЬ02.03.0 1 Maтемaтикa и кoМпЬк}тrplrЬIrнayки
Пpoфиль Maтемaтический aII€lJIиз и ПpиJIox(еI{ия
Рyководитель paбoтьl
кaIIд.физ.-мaт. нayк
Д. A. Ерeмнн
Hоpмoкoкгpoлёp
12 oСZo/a
(дaтa)
Сapaнск
20t9
o. Г. Кoстpoв
ФЕшРAЛЬI-IOЕГoCУДAPсTBЕ}lнoЕ БIoД}(ЕTнoЕ
oБPAЗoBAТЕЛЬHoЕyЧPЕжшниЕ BЬIСIrТFГooБPAЗoBAни,{
(IIAЦиOIIAЛЬIIьIй исслЕДOBATЕJIьскI,Iй
мopДовский
гOсУДAPсTBЕI{ньIЙ
)rI{иBЕPсиTЕT им. H. II. oгAPЁвд>
ФaкyльтеT МaTеМaTики и инфоpмaщиoн}IЬD( теxнoлогий
Кaфeдpa MaтеI\{aтиЧrскoгo aнaJlизa
УTBЕP)ItДAIo
Зaв. кaфещloй
кaнд.Ф,и1..Мaт.
нayк' .цoц.
цДжяьl
3AДAIII{Е I{A BьIIIyскЕryIo кBAлIIФикAЦI{oннylo
PAБoTУ
(в фоpмебaкaлaвpскoйpaбoты)
Сryдeнт oпpитовa Мapия AлексaндpoBHa
l Tемa Реaлизaциямo.цyjlясpaB}Iе}Iия
нa плaтфopмr lC: Пpедпpиятиr
дa}IIIЬIx
УтвеpxсдrllallpикaзoмNs 2944.cот 25.04.2019г.
2 Cpoк IIpеДсTaBЛrI{I.lя
paботык ЗarТ{иTr26.06.20|9т.
3 Исxo.цньlе
.ЦaнIIЬIr ДJIя I{ayЧ}roгo иссЛr.цoBaНklЯ: Теx}IичlсIttlя,
yтебнaя
ЛиTrparypa IIo TrI\{rиссЛr.цOBaHИЯ'эЛrкTpoннЬIr peсypcьI
4 Cодepxс aНИe BьItIyскнoй квaлификauиoннoй paбoтьl
4.1 CразнеIIие.цaEнЬD( B сI.IсTемelC: Пpедприятие
4 .2 P eaлw aЦI{я MoДyJIя сpaBIIrIIия .цaIrIIьlx
4.3 BнeдprIIие ]\{o.цyЛя
Пpшlо>кения: Пpилo)кrlrие A, Пpилo)I(еIIие Б, Пpилo)кеIII{r B, Пpилorкениe Г
Pyкoводительpaботьr
3a.цaниепpиIIяJIк исIIоЛIIеIIиIo
ф"
26.o',2otу
шБдn"Б]l'ul
a"уч""a!q" I6,0Ч2otз
(*д"**'
д"".J
Д. A. Еpемин
М. A. oпpитовa
РЕФЕРАТ
Бакалаврская работа содержит 68 страниц, 29 рисунков, 2 таблицы,
11 использованных источников, 4 приложения.
СРАВНЕНИЕ
1С: ПРЕДПРИЯТИЕ,
ДАННЫХ,
РЕЛЯЦИОННЫЕ
СОМ-СОЕДИНЕНИЕ,
БАЗЫ
СОЕДИНЕНИЕ
ДАННЫХ,
ТАБЛИЦ,
МОДУЛЬ, УПРАВЛЕНИЕ ДОСТУПОМ, ОТЧЕТ, ВНЕДРЕНИЕ МОДУЛЯ.
Объектом исследования являются методы сравнения данных двух таблиц
в реляционных базах данных.
Цель работы: проанализировать существующие способы сравнения
таблиц, разработать модуль сравнения данных в системе 1С: Предприятие,
произвести разделение доступа к данным модуля для различных пользователей.
В результате исследования рассмотрены основные способы сравнения
таблиц в современных прикладных программах, реализован модуль сравнения
данных в системе 1С: Предприятие, ограничен доступ к составным частям
и данным модуля при помощи механизмов ролей и RLS.
Степень внедрения – модуль был успешно внедрен в прикладное решение
«Управление торговлей, редакция 11» в компании ООО «Еврошоп Руссланд».
Область
применения
–
прикладные
решения
на
платформе
1С: Предприятие.
Эффективность – снижение трудозатрат при сравнении двух таблиц из
разных информационных баз.
3
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
5
1 Сравнение данных в системе 1С: Предприятие
7
1.1 Сравнение данных в реляционной базе данных
7
1.2 Сравнение таблиц из разных баз
10
1.3 Прикладная программа 1С: Предприятие
12
1.4 Схема сравнения данных
14
1.5 Управление доступом к данным
16
2 Реализация модуля сравнения данных
19
2.1 Справочник «Информационные базы»
19
2.2 Справочник «Настройки сравнения данных»
24
2.3 Общий модуль «Обмен данными»
32
2.4 Отчет «Сравнение данных»
35
2.5 Роли и ограничение доступа к данным
40
3 Внедрение модуля
44
ЗАКЛЮЧЕНИЕ
47
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
49
ПРИЛОЖЕНИЕ А
51
ПРИЛОЖЕНИЕ Б
53
ПРИЛОЖЕНИЕ В
57
ПРИЛОЖЕНИЕ Г
60
4
ВВЕДЕНИЕ
В наше время кампании любых размеров используют в своей
деятельности учетно-информационные системы. Многие из них состоят из
нескольких информационных баз, между которыми настраиваются различного
вида синхронизации данных. При возникновении ошибок синхронизация может
завершаться некорректно, что часто приводит к рассогласованию данных
в информационной системе. Если в качестве учетно-информационных систем
рассматривать базы под управлением 1С, то примерами таких систем могут
быть
прикладные
решения
«1С: Управление
торговлей»
для
ведения
управленческого учета и «1С: Бухгалтерия» для ведения регламентированного
учета. Иногда выполняется переход от одного прикладного решения к другому.
Например, от «1С: Бухгалтерия» на «1С: ERP». Тогда возникает необходимость
переноса данных из одной базы в другую и проверки корректности такого
переноса. Между большинством конфигураций на 1С существуют типовые
правила обмена, разработанные сотрудниками самой фирмы 1С. Изменить
типовые, а также разработать свои правила обмена могут программисты,
которые
приспосабливают
учетную
систему
для
нужд
организации.
При использовании и типовых, и «самописных» правил обмена, могут
возникать ошибки, например:
– настроен двухсторонний обмен и один и тот же документ одновременно
изменен в двух базах, а в логике обмена не указан приоритет базы данных
на изменение данных;
– документ был изменен, но по какой-либо причине не произошла его
регистрация к обмену;
– в базе данных изменен документ, который не попадает в период
выгрузки данных;
– и т.д.
В связи со всем вышеперечисленным становится актуальной задача
разработки механизма, который позволял бы производить сравнение данных
5
информационных баз, был удобен для пользователя и гибок в настройках.
Объектом
исследования
являются
методы
сравнения
таблиц
в реляционных базах данных.
Предметом исследования является сравнение данных двух таблиц
в системе 1С: Предприятие.
Цель работы: проанализировать существующие способы сравнения
таблиц, разработать модуль сравнения данных в системе 1С: Предприятие,
произвести разделение доступа к данным модуля для различных пользователей.
Достижение поставленной цели предполагает решение следующих задач:
– изучение основных способов сравнения таблиц, используемых в работе
сотрудника предприятия;
– изучение механизмов работы с объектами системы 1С: Предприятие
и основными конструкциями языка 1С;
– разработка схемы сравнения данных;
– разработка
конфигурации,
имеющей
возможность
подключиться
к другим базам под управлением 1С, получить требуемую информацию
и указать различия;
– обеспечение
ограничения
доступа
к
данным
для
различных
пользователей.
Дипломная работа состоит из трех глав.
В первой главе рассматривается теория сравнения данных в реляционных
базах, обосновывается выбор системы 1С: Предприятие в качестве среды
разработки модуля, описывается схема сравнения данных и механизмы
управления доступом к данным.
Во второй главе описываются этапы создания модуля. Был разработан
отчет, в котором в удобном виде представлен результат сравнения данных двух
информационных баз, а также реализовано разделение доступа к объектам
разработанного модуля.
Третья глава посвящена описанию способа внедрения модуля в другую
конфигурацию.
6
1 Сравнение данных в системе 1С: Предприятие
1.1 Сравнение данных в реляционной базе данных
Реляционной базой данных называется совокупность сведений, которая
организована
на
основе
реляционной
модели
данных
и
содержится
в компьютерной памяти. Эта совокупность относится к определенной
предметной области и обеспечивает потребности пользователей в информации
и ее удобное хранение.
Реляционная база данных состоит из связанных друг с другом таблиц.
Каждая из этих таблиц содержит данные об определенном виде объектов.
Строка таблицы, называемая записью, несет в себе информацию о каком-то
одном конкретном объекте, в столбцах таблицы находятся атрибуты –
некоторые характеристики объекта.
Запись таблицы имеет структуру, одинаковую для всех записей этой
таблицы: поля, хранящие атрибуты объекта. Организация поля такова, что оно
может
хранить
только
одну
характеристику,
и
при
этом
является
фиксированным типом данных. К примеру, столбцы таблицы – артикул товара,
его наименование и цена закупки. Тогда типом первого поля «Артикул» будет
строка (так как «Артикул» может содержать буквы какого-нибудь алфавита),
типом второго поля «Наименование» также будет строка, а типом третьего поля
«Цена» – число. Необходимым условием является уникальность имени столбца
в рамках одной таблицы.
Одно из важнейших свойств таблицы реляционной базы, которое
отвечает требованию устранения избыточности информации, – отсутствие
одинаковых строк. Поэтому такие таблицы и называются отношениями. Для
того чтобы не допустить дублирование строк, используется первичный ключ,
в который входит набор полей, совокупность значений которых позволяют
определить каждую запись однозначно. В первичный ключ может входить одно
поле, несколько полей или даже все поля таблицы. Однако чем меньшее число
7
полей отвечает за уникальность, тем быстрее осуществляется поиск записи
и тем проще проверка на наличие дублей в таблице.
Для создания, изменения и управления данными в базах данных,
основанных на реляционной модели, применяется язык SQL. SQL был создан
в 1970-х годах фирмой IBM и стал международным стандартом, позволяющим
одинаковым образом составлять запросы к различным базам. Язык запросов
SQL состоит из операторов, инструкций и вычисляемых функций. Он позволяет
определять объекты базы данных, доступ к данным, манипулировать данными
и управлять транзакциями. SQL задумывался как инструмент для конечного
пользователя,
поэтому
он
предоставляет
широкие
возможности
манипулирования таблицами базы данных. Некоторые из этих возможностей,
касательные тематики дипломной работы, описаны ниже.
Соединения таблиц в реляционных базах бывают: внутреннее, внешнее
и перекрестное. Внутреннее соединение в языке SQL описывается оператором
INNER JOIN и выдает в качестве результата таблицу с данными, целиком
пересекающимися по условию после ON. Внешние соединения бывают левыми
(LEFT JOIN), правыми (RIGHT JOIN) и полными (FULL JOIN). Перекрестное
соединение (CROSS JOIN) предстает аналогом декартового произведения
множеств реляционной алгебры и дает результатом таблицу, в которой каждой
строке первой таблицы соответствует каждая строка второй таблицы.
Для сравнения двух таблиц в языке SQL предусмотрено два ключевых
слова – INTERSECT и EXCEPT. Они употребляются внутри конструкции
SELECT,
чтобы
сравнить
результаты
выборок.
В
математике
они
соответствуют операциям пересечения и симметрической разности двух
множеств. Каждая из конструкций является совокупностью левых и правых
соединений. SELECT INTERSECT выбирает в результирующую таблицу
строки, которые присутствуют и в первой выборке, и во второй. Результатом
SELECT EXCEPT будет таблица, в которую входят те строки из первой
выборки, которые не попали во вторую, и те строки из второй выборки, что не
попали в первую. Обе эти конструкции симметричны, то есть не имеет
8
значения, какой из двух запросов будет записан слева или справа от ключевой
фразы – результат все равно будет одинаковым.
Иногда возникают ситуации, когда требуется сравнение двух таблиц
и нахождение записей одной из таблиц, не имеющих соответствия в другой
таблице. Простой механизм для этого предоставляет Microsoft Access –
реляционная система для создания, редактирования и управления базами
данных. В поставке программы имеются учебная база данных и шаблоны для
начинающих пользователей, которые по каким-то причинам не имеют времени
на создание базы с нуля. Один из таких шаблонов – шаблон «Борей».
Наиболее часто встречающиеся ситуации, при которых возникает
необходимость сравнения двух таблиц:
– выяснить, над какими данными совершались действия, а над какими –
нет; в этом случае одна таблица содержит все сведения о каких-либо объектах,
а другая таблица хранит действия, применяемые к этим объектам;
– объединить
две
таблицы,
в
которых
содержатся
одинаковые,
избыточные или противоречивые сведения.
Чтобы сравнить две таблицы, Microsoft Access предоставляет функционал
мастера для сравнения двух таблиц. Нужно зайти на вкладку «Создание», найти
группу «Запросы» и в ней выбрать «Мастер запросов». Появится окно диалога
под названием «Новый запрос», предлагающего выбрать один из нескольких
пунктов. Для данного случая необходимо выбрать пункт «Поиск записей, не
имеющих
подчиненных».
Далее
будет
появляться
страницы
мастера,
на которых нужно выбрать таблицы или запросы и связанные с ними таблицы,
поля, по которым будет производиться связывание, и поля, отображающиеся
в результате. На последней странице мастера можно увидеть созданный запрос
и изменить его структуру или просмотреть результаты.
Таким образом, с помощью механизма, предоставленного Microsoft
Access, можно сравнить данные двух таблиц в рамках одной информационной
базы.
9
1.2 Сравнение таблиц из разных баз
Актуальным является сравнение данных двух и более таблиц из разных
информационных баз. Часто в управленческом учете возникают задачи, для
решения
которых
необходимо
проанализировать
изменение
каких-то
показателей, сверить данные из нескольких источников. В таких случаях
алгоритм действий может быть следующим: пользователь получает данные из
каждого источника (например, формирует отчет), выгружает данные и через
некоторую программу выполняет сравнение. Существует множество способов
выявить различия между двумя таблицами, но наиболее гибкий и доступный
функционал предоставляет продукт фирмы Microsoft Office – программа для
редактирования электронных таблиц Microsoft Excel.
Microsoft Excel имеет встроенные средства сравнения двух таблиц.
Допустим, есть две таблицы, в которых содержатся данные из двух разных баз.
Таблицы, как правило, огромны: их размеры варьируются от сотни до тысяч
строк. Необходимо оперативно выявить различия в заданных показателях. Для
этого есть несколько путей: при помощи функции ВПР, сводной таблицы или
надстройки Power Query.
Функция ВПР (латинский вариант VLOOKUP) используется для
сопоставления данных из одной таблицы данным из другой таблицы при
одинаковых значениях какого-нибудь параметра.
В качестве первого параметра функции указывается искомое значение
сравнения – параметр сравнения, по которому будут сопоставляться
показатели. Вторым параметром указывается массив данных – таблица, из
которой будут браться значения для сопоставления. Третий параметр – это
порядковый номер столбца в таблице, из которого берутся значения
сравниваемого
показателя.
Четвертый
параметр
отвечает
за
точность
соответствия: если значением этого параметра указано «Ложь» или 0, то это
означает разрешение только точного поиска, а если указано «Истина» или 1, то
разрешается приблизительное соответствие, то есть попытку найти значение
10
параметра сравнения, максимально похожее на затребованное.
Эта функция иногда возвращает ошибку #Н/Д. Например, если
производится точный поиск, а искомого значения нет в таблице, или если
производится поиск на приблизительное соответствие, а в сравниваемой
таблице значения параметра сравнения не расположены в возрастающем
порядке. Существует множество вариантов обработки такой ошибки, так что
выводиться в случае ее возникновения будет что-то понятное пользователю.
У способа сравнения таблиц с помощью ВПР есть плюсы и минусы:
плюсы – достаточной простой способ, работающий во всех версиях Excel;
минусы – существенное замедление работы на таблицах с более чем 100 тыс.
строк, необходимость корректировки формул в случае изменения размеров
таблиц.
Второй способ сравнения – создание сводной таблицы. Одну таблицу
нужно скопировать под другую, при этом следует добавить столбец для
обозначения таблицы, из которой бралась каждая строчка. Затем нужно создать
сводную таблицу, выбрав в подпункте меню Вставка – Сводная таблица,
выбрать поля области столбцов, поля области строк и поля области значений.
В итоге сформируется общий список отсортированных по алфавиту строк без
повторений.
Плюсами такого подхода будут: быстрая работа на больших таблицах,
при изменении каких-то показателей таблицы легко обновить таблицу, щелкнув
правой кнопкой мыши и выбрав «Обновить», удобно видеть строки,
присутствующие только в одной из таблиц. Минусы: приходится копировать
таблицу под другую вручную, добавлять еще один столбец с наименованием
таблицы, при изменении размеров таблицы – выполнять все действия сначала.
Наконец, существует бесплатная надстройка Power Query, которая
предоставляет возможность загружать в Excel таблицы почти из любых
источников и затем преобразовывать их как угодно. Начиная с версии
2016 года, эта надстройка включена на вкладке «Данные», а в версиях 20102013 годов необходимо скачать и установить ее самостоятельно.
11
Во всех перечисленных способах есть недостатки, на которые нельзя не
обратить
внимание:
требуется
работа
пользователя
с
отчетами
и дополнительной выгрузкой данных, манипуляции с полученными таблицами
в Excel или в другой прикладной программе, зачастую медленная работа
используемых средств сравнения и отсутствие в них гибкости при изменениях
данных в таблицах. Все это приводит к необходимости разработки
функционала, который с наименьшими временными затратами со стороны
пользователя выполнял бы требуемое сравнение и выводил результат
в удобном для просмотра и анализа виде.
1.3 Прикладная программа 1С: Предприятие
В наше время кампании любых размеров используют в своей
деятельности
информационные
системы.
Предприятия
накапливают
определенный объем данных, который впоследствии может применяться для
выявления сведений о закономерностях и взаимосвязях между этими данными.
В России для автоматизации бухгалтерского и управленческого учета
предприятия чаще всего используют программные продукты 1С: Предприятие.
1C: Предприятие – программный продукт компании «1С», автоматизирующий
деятельность
государственных
и
коммерческих
предприятий,
других
организаций и частных лиц. Первоначально продукт предназначался для
автоматизации бухгалтерского и управленческого учетов (включая начисление
зарплаты и управление кадрами), но сегодня он находит свое применение
в областях, далеких от бухгалтерских задач.
База данных в 1С: Предприятии построена на основе реляционной модели
данных, все данные в ней представлены таблицами. В 1С возможны два
способа доступа к данным, хранящимся в базе: объектный и табличный.
Табличный способ доступа реализуется с помощью механизма запросов.
Таблицы,
которыми
представляются
данные,
связаны
между
собой.
Допускается обращение как к отдельно взятым таблицам, так и к некоторой
12
совокупности.
В рамках одной информационной базы выборку и последующее
сравнение данных можно делать с помощью языка запросов 1С. Язык запросов
1С основан на языке SQL, но не содержит встроенных функций для сравнения
таблиц. Однако операции сравнения можно реализовать с помощью соединений
таблиц.
В 1С есть возможность создания внутреннего, левого внешнего, правого
внешнего, полного внешнего и перекрестного соединения таблиц. Также
в самой платформе реализованы механизмы, которые позволяют упростить
и ускорить получение некоторых данных: виртуальные таблицы «остатков»,
«оборотов», «остатков и оборотов», «срез последних», «срез первых» и др.
Вышесказанное позволяет сделать вывод, что для разработки механизма
сравнения данных будет целесообразно использовать систему 1С: Предприятие.
В программе 1С структура базы данных описывается объектами
метаданных. Для реализации модуля сравнения данных понадобятся такие
объекты
конфигурации,
как
подсистема,
общий
модуль,
справочник,
перечисление, отчет. Также для разграничения прав доступа к разработанному
функционалу будет задействован общий объект – роль.
Объект «подсистема» используется для выделения в конфигурации
функциональных частей, получаемых логическим разбиением прикладного
решения. Подсистема понадобится в разрабатываемом модуле для построения
интерфейса.
Общий объект конфигурации «Общий модуль» предназначен для
реализации объединенных по какому-либо признаку процедур и функций.
Например, общий модуль может быть создан для процедур и функций
похожего назначения или принадлежащих одной подсистеме конфигурации.
Справочники хранят информацию в основной таблице, каждая запись
в которой представляет отдельный элемент справочника. Справочники
позволяют работать со списками данных, что требуется в работе почти любой
компании.
13
Перечисления используются для описания не изменяемых со временем
наборов значений. Например, методы ведения учетной политики. Для
1С: Предприятия есть два способа организации работы системы: файловый
и клиент-серверный, и вариант подключения к базе зависит от ее
расположения,
поэтому
в
данной
работе
был
использован
объект
«Перечисление» для хранения варианта расположения информационной базы.
Объект конфигурации «Отчет» предназначен для обработки информации
и получения сводных данных в удобном для просмотра и анализа виде. При
разработке
отчета
в
конфигураторе
задаются
некоторые
стандартные
настройки, чтобы его можно было в пользовательском режиме сразу
выполнить. При создании отчета часто используется система компоновки
данных, позволяющая разработчику осуществить все действия по построению
отчета быстро и относительно легко. Система компоновки данных –
совокупность средств для декларативного описания отчетов. В систему
компоновки данных входят: настройки, схема и макет компоновки данных,
а также результат компоновки данных в виде табличного документа или другой
формы
представления.
Система компоновки
данных, или
СКД, дает
возможность создавать отчеты, ничего не программируя, увидеть результат
компоновки в автоматически сгенерированной форме просмотра, исполнить
отдельные этапы построения отчета на разных компьютерах и независимо
использовать отдельные ее части. Все вышеперечисленное делает объект
«Отчет» хорошо подходящим для отображения результата сравнения данных,
и он был использован в данной работе с этой целью.
Роли – общие объекты, назначаемые пользователям и предназначенные
для ограничения прав доступа. Роли необходимы для определения действий,
которые могут быть выполнены над тем или иным объектом метаданных.
1.4 Схема сравнения данных
Всякий раз, когда необходимо выполнить сравнение таблиц из разных
14
баз, нужно некоторым образом получить данные, выгрузить их в Microsoft
Excel и воспользоваться одним из приведенных выше способов или другой
программой, предоставляющей подобный функционал, обработать результат
под текущие требования и сохранить его в отдельный файл. Все эти действия
занимают долгое время и требуют от пользователя определенной подготовки
и
манипуляций.
Поэтому
в
тех
случаях,
когда
сравнение
данных
осуществляется достаточно часто, есть необходимость в разработке различных
механизмов, которые сократили бы количество действий пользователя и его
время.
Один
из
возможных
механизмов
представлен
в
виде
схемы,
изображенной на рисунке 1.
База 1
Таблица 2
Таблица 1
Соединение
Ответ
Таблица 1
Соединение
Ответ
Консолидация
данных
Таблица 2
База 2
Таблицарезультат
Текущая база
Рисунок 1 – Схема сравнения данных
Имеется одна информационная база, которая напрямую подключается
к другим информационным базам – источникам данных. Подключение
выполняется последовательно к каждой базе-источнику. На стороне этой базы
выполняется запрос, и выборка данных отправляется в информационную базу,
15
из которой было выполнено подключение. Данные, полученные из разных баз,
сравниваются уже в рамках одной информационной базы, обладающей
необходимым функционалом.
В 1С существует много способов интегрироваться с другими системами:
HTTP-сервисы,
Web-сервисы,
Automation-сервер,
внешнее
текстовые
соединение
и
файлы
др.
и
Обеспечить
документы,
надежный
программный доступ из внешних приложений к данным 1С: Предприятия
позволяют Automation-сервер и внешнее соединение. Automation-сервер делает
доступным внешнему приложению все свойства и методы глобального
контекста, запуская 1С: Предприятие полноценно. Создание же внешнего
соединения очень похоже на использование 1С: Предприятия в качестве
Automation-сервера, но внешнее соединение обладает рядом преимуществ:
– скорость установки соединения – при внешнем соединении все
действия происходят в одном вызывающем процессе, а при запуске системы
как Automation-сервера создается отдельный процесс операционной системы;
– внешнее
соединение
более
экономно
при
расходе
ресурсов
операционной системы;
– обращение к свойствам и методам объектов системы происходит
быстрее, так как не задействовано межпроцессное взаимодействие.
В данной работе для подключения одной информационной базы к другой
будет использоваться внешнее соединение, так как оно обеспечивает быстрый
и надежный доступ к данным.
1.5 Управление доступом к данным
Проблема разделения доступа к данным всегда была и остается
актуальна. Вход в систему 1С: Предприятия выполняется под определенным
пользователем.
Необходимо,
так
или
иначе,
ограничивать
видимость
и возможность использования некоторой функциональности в зависимости
от должности и полномочий пользователя, вошедшего в систему. В типовых
16
конфигурациях реализовано, например, ограничение доступа к данным
по подразделениям, ограничен доступ к кассам или каким-то документам.
В 1С за доступ пользователя к каким-либо данным или функционалу
отвечают права доступа, количество разновидностей которых ограничено
и задано в платформе. Различают две большие группы прав: основные
и интерактивные. У каждого объекта конфигурации свое число объектных
прав: к примеру, у справочников – 16 прав, у регистра сведений – 5 прав, и т.д..
Права доступа можно установить либо для всего объекта целиком, либо для
реквизитов объекта, но в этом случае – только отдельные виды прав, такие, как
«Просмотр» и «Редактирование». Все права взаимосвязаны и распределяются
по уровням. К примеру, основному праву «Проведение» соответствуют
интерактивные
права
«Интерактивное
проведение»
и
«Интерактивное
проведение неоперативное». Но права доступа нельзя считать полноценной
иерархией, так как возможно установление одних прав более низкого уровня
без других прав низкого уровня, даже если они в совокупности необходимы для
установления какого-то права более высокого уровня.
Для наиболее удобной выдачи прав доступа определенному пользователю
используются такие объекты, как роли. Каждая роль объединяет в себе набор
прав, которые должны быть назначены одновременно. При назначении
пользователю
некоторой
роли
ему
автоматически
предоставляются
закрепленные за этой ролью права доступа. Настройка доступа пользователя
к каким-либо данным осуществляется выдачей ему прав. По логике
разрешений, чтобы снять первоначальный запрет на доступ, необходимо
задействовать механизм выдачи доступа. Если право доступа выдано
пользователю хотя бы одной ролью, то отнять это право другими ролями уже
нельзя.
Часто оказывается необходимым дать доступ не ко всем данным
некоторого объекта конфигурации, а только к части. Настройка такого рода
выполняется механизмом RLS – Record Level Security, или механизмом
контроля доступа на уровне записей. В этом случае над некоторым объектом
17
базы действие может быть выполнено только тогда, когда ограничение доступа
к данным для него истинно.
Условие ограничения доступа описывается на специальном языке –
подмножестве языка запросов. Проверка этого условия осуществляется для
всех записей выбранной таблицы базы данных. Условие может быть написано
как самостоятельно, так и при помощи конструктора ограничений доступа
к данным, очень напоминающим конструктор запросов.
Для ограничения доступа к данным для текущего сеанса предназначены
объекты «Параметры сеанса», чье значение в течение сеанса сохраняется.
Преимуществом
данного
механизма
является
возможность
так
разграничить права, что пользователь не будет знать о существовании в базе
других данных. Недостатком является сложность настройки механизма
и падение производительности системы, так как всякий запрос разработчика
будет усложняться условиями ограничения. Все же RLS – достаточно удобный
механизм, поэтому он использован в реализации разделения прав доступа
в разработанном модуле сравнения данных.
18
2 Реализация модуля сравнения данных
2.1 Справочник «Информационные базы»
Для того чтобы хранить настройки подключения к базам создан
справочник «Информационные базы». В нем содержится информация
об информационных базах: адрес базы, пользователь, под которым будет
происходить соединение, и его пароль.
Рисунок 2 – Реквизиты справочника «Информационные базы»
Реквизиты справочника, представленные на рисунке 2:
– реквизит «Пользователь» – содержит имя пользователя, под которым
будет совершаться соединение с базой; тип – «Строка», длина – 100;
– реквизит «Пароль» – содержит пароль пользователя, упомянутого
выше; тип – «Строка», длина – 50;
– реквизит «РасположениеБазы» – содержит тип расположения базы;
возможны
два
значения
–
«ЛокальнаяСеть»
и «Сервер1С»;
тип
–
«ПеречислениеСсылка.ТипРасположенияБазы»;
– реквизит «АдресЛокальнойБазы» – содержит путь к каталогу, в котором
19
расположена файловая информационная база в случае, если реквизит
«РасположениеБазы» принимает значение «ЛокальнаяСеть»;
– реквизит «ИмяСервера» – содержит имя сервера 1С: Предприятия,
на котором развернута база в случае, если реквизит «РасположениеБазы»
принимает значение «Сервер1С»;
– реквизит «ИмяБазыНаСервере» – содержит имя информационной базы
на сервере в случае, если реквизит «РасположениеБазы» принимает значение
«Сервер1С».
Чтобы
сделать
интерфейс
наиболее
понятным
и
удобным
для пользователя, была создана форма элемента справочника, элементы
которой представлены на рисунке 3.
Рисунок 3 – Элементы формы элемента справочника
На поля ввода адреса локальной базы, имени сервера и имени
информационной базы на сервере установлена подсказка.
В модуле формы элемента справочника настроено поведение формы при
различных событиях и действиях пользователя. Код модуля формы элемента
справочника «Информационные базы» приведен в приложении А.
Процедура «ПриОткрытии» определяет наполнение формы при ее
20
открытии: форма справочника автоматически перерисовывается в зависимости
от значения реквизита «РасположениеБазы» и от того, является ли данный
элемент предопределенным. Предопределенный элемент – «ТекущаяБаза» –
содержит в себе настройки подключения к базе, из которой осуществляется
текущая работа. Поэтому скрыты все поля, кроме наименования базы.
В случае если происходит не создание нового элемента, а повторное
открытие формы, вызывается процедура «РасположениеБазыПриИзменении».
Благодаря этой процедуре, при переключении типа расположения базы данных
состав полей меняется. Если значение «РасположениеБазы» совпадает
со значением перечисления «ЛокальнаяСеть», то включается видимость
у
элемента
формы
«АдресЛокальнойБазы»,
«ГруппаБазыНаСервере»,
в
которую
а
входят
группа
элементов
«ИмяСервера»
и «ИмяБазыНаСервере», становится невидима пользователю. В противном
случае
значения
свойства
«Видимость»
у
перечисленных
элементов
инверсируются.
Интерфейс формы элемента справочника представлен на рисунке 4 и
на рисунке 5.
21
Рисунок 4 – Форма элемента справочника «Информационные базы»
(локальная база)
Рисунок 5 – Форма элемента справочника «Информационные базы»
(серверная база)
22
Для простоты редактирования в случае, если значение реквизита
«АдресЛокальнойБазы» заполнено, диалог выбора каталога открывается на том
каталоге, путь к которому указан в реквизите «АдресЛокальнойБазы». Диалог
выбора каталога представлен на рисунке 6.
Рисунок 6 – Диалог выбора каталога
При открытии самого справочника в информационной базе появляется
список элементов этого справочника. Чтобы этот список был информативен, а
поиск нужного элемента по нему осуществлялся легко, была создана форма
списка, представленная на рисунке 7.
23
Рисунок 7 – Список элементов справочника «Информационные базы»
2.2 Справочник «Настройки сравнения данных»
Для хранения настроек сравнения данных из информационных баз создан
справочник «Настройки сравнения данных».
Рисунок 7 – Реквизиты справочника «Настройки сравнения данных»
Реквизиты справочника:
– реквизиты «База1» и «База2» – содержат базы, к которым будет
осуществляться
подключение;
тип
«СправочникСсылка.ИнформационныеБазы»;
24
каждого
из
них
–
– реквизиты «ЗапросКБазе1» и «ЗапросКБазе2» – содержат тексты
запросов к базам, которые будут выбирать требуемые данные; тип каждого из
них – «Строка» неограниченной длины;
– реквизиты «ПоляЗапроса1» и «ПоляЗапроса2» – содержат выбираемые в
запросах поля; тип – «Строка» неограниченной длины.
Также у справочника есть табличные части:
– «ПараметрыЗапросов» – используется для наложения фильтра на
получаемые данные; имеет реквизиты «ИмяПараметра» типа «Строка»
неограниченной
длины
и
«ЗначениеПараметра»
типа
«Составной»,
содержащего все примитивные типы;
– «НастройкиСвязи» – используется для указания ключевых полей; имеет
реквизиты «Реквизит1» и «Реквизит2» для указания полей, по которым будут
связываться таблицы из информационных баз, типа «Строка» неограниченной
длины;
– «Пользователи» – содержит список пользователей, для которых будет
доступна данная настройка сравнения; имеет реквизит «Пользователь» типа
«СправочникСсылка.Пользователи».
При открытии самого справочника появляется список элементов этого
справочника. Для удобства представления информации была создана форма
списка, представленная на рисунке 8.
Рисунок 8 – Список элементов справочника «Настройка сравнения данных»
25
Чтобы создание и заполнение элементов было понятным и удобным, была
создана форма элемента справочника. На форме размещены и сгруппированы
все реквизиты и табличные части справочника. Код модуля формы элемента
справочника «Настройки сравнения данных» приведен в приложении Б.
Поля и параметры запроса заполняются автоматически при изменении
текста соответствующего запроса. Поля ввода для полей запроса недоступны
для
редактирования.
За
заполнение
«ЗаполнитьПараметрыЗапроса»,
параметров
за
отвечает
заполнение
процедура
полей
–
«ЗаполнитьПоляЗапроса». В этих процедурах происходит поиск определенных
символьных конструкций с помощью специального языка поиска и работы с
подстроками текста – регулярных выражений.
Регулярные
выражения
используют
строку-шаблон,
содержащую
метасимволы. Это строка задает правила, по которым осуществляется поиск.
В общем случае в языке программирования реализуется один из трех подходов
к
обработке
регулярных
выражений:
интегрированный,
процедурный
и объектно-ориентированный. В VBScript используется объект RegExp.
Механизм регулярных выражений обеспечивают высокую скорость анализа
текста, встроенные функции 1С обработки строк работают значительно
медленнее.
Регулярные выражения предоставляют гибкий и мощный функционал,
сильно упрощая работу программиста или системного администратора.
С помощью метода Test можно сравнить некоторый текст с указанным
шаблоном. Метод Replace позволяет заменить из текста строку, подходящую
под заданный шаблон. Метод Execute извлекает из текста соответствующую
шаблону строку.
Для работы с регулярными выражениями в 1С: Предприятии необходимо
создать CОM-объект «VBScript.RegExp». Этот объект, помимо перечисленных
выше методов, обладает свойствами, представленными в таблице 1, а в таблице
2 перечислены некоторые метасимволы регулярных выражений, среди которых
есть использованные в данной работе.
26
Таблица 1 – Свойства объекта «VBScript.RegExp»
Свойство
Multiline
IgnoreCase
Описание
Определяет, является ли текст многострочным
Поиск с учетом или без учета регистра
Принимает значения «Ложь», соответствующее проверке строки
Global
до первого соответствия указанному шаблону, и «Истина», если
поиск осуществляется по всему тексту
Pattern
Шаблон поиска, состоящий из обычных символов и
метасимволов
Таблица 2 – Некоторые метасимволы регулярных выражений
Значение
Символ
^
Начало строки на входе
$
Конец строки на входе
.
Любой одиночный символ
+
Один или более символов предыдущего знака
?
Ноль или один символ предыдущего знака
Набор символов, указывающий на поиск любого из перечисленных
[ ... ]
[диапазон]
(шаблон)
a|b
в нем символов
Диапазон символов, указывающий на поиск любого из символов
этого диапазона
Фиксированный подбор в коллекцию SubMatches
Условие «ИЛИ»
27
На рисунке 9 приведен код на языке 1С, создающий объект
«VBScript.RegExp» с необходимыми свойствами.
Рисунок 9 – Создание объект «VBScript.RegExp» на языке 1С
Имя параметра запроса в языке запросов 1С имеет определенный вид:
сначала ставится знак амперсанда &, затем буква, после которой уже могут
стоять буквы, цифры и знак нижнего подчеркивания. Шаблон для поиска
параметров в тексте запроса представлен на рисунке 10.
Рисунок 10 – Шаблон для поиска параметров в тексте запроса
Для поиска полей запроса использовались и регулярные выражения,
и язык 1С. Шаблон для поиска полей в тексте запроса представлен на
рисунке 11.
Рисунок 11 – Шаблон для поиска полей в тексте запроса
Однако такой шаблон будет определять все поля запроса, а не только те,
что попадают в последнюю таблицу. Также он может определить псевдоним
источника данных запроса. Из-за возможного чрезвычайно сложного вида
запроса
необходимо
произвести
предварительную
обработку
текста.
С помощью встроенных функций языка 1С для работы со строками, в случае,
28
если запрос имеет несколько временных таблиц, ищется самая последняя из
них, а затем с использованием регулярного выражения выполняется анализ
строки.
Результат работы алгоритма заполнения полей запроса представлен на
рисунке 12.
Рисунок 12 – Результат заполнения полей запроса
Реквизиты табличной части «НастройкиСвязи» заполняются из списков
выбора.
Поэтому
при
открытии
«ЗаполнитьСпискиВыбораРеквизитов»,
формы
которая
вызывается
получает
поля
процедура
запросов
и соответствующим образом распределяет их между списками выбора
реквизитов табличной части. Также перезаполнение списка выбора происходит
при изменении текста запроса. Таким образом, ключевые поля сравнения
пользователю не нужно вписывать самостоятельно, они выбираются среди
полей фиксированного списка. Результат заполнения списков выбора показан
на рисунке 13.
29
Рисунок 13 – Список выбора для реквизита табличной части «Настройки связи»
В табличной части «Пользователи» указываются те из пользователей, для
которых доступна данная настройка сравнения. Эти пользователи смогут
видеть ее в форме списка справочника и выбирать в отчете.
Табличные
части
«Параметры
запросов»,
«Настройки
связи»
и «Пользователи» на форме располагаются на страницах. Внешний вид
получившейся формы представлен на рисунке 14 и на рисунке 15.
30
Рисунок 14 – Форма элемента справочника «Настройки сравнения данных»
(страница «Настройки»)
Рисунок 15 – Форма элемента справочника «Настройки сравнения данных»
(страница «Пользователи»)
31
2.3 Общий модуль «Обмен данными»
При внешнем соединении в качестве модуля приложения выступает
модуль внешнего соединения. Процедуры, размещенные в этом модуле,
описывают действия, которые выполняются при инициализации и завершении
соединения.
Если функция, процедура или глобальная переменная определена
с ключевым словом Экспорт, то она становится частью глобального контекста.
СОМ-соединение, имея доступ ко всему глобальному контексту системы
1С: Предприятие, может иметь своими свойствами: константы, доступные
через менеджеры значения объектов конфигурации и объявленные в модуле
внешнего соединения с помощью ключевого слова Экспорт переменные.
Методами внешнего соединения могут быть: системные функции и процедуры,
объявленные с помощью ключевого слова Экспорт процедуры и функции
общих модулей и модуля внешнего соединения, а также дополнительный метод
NewObject.
Чтобы организовать доступ к данным 1С: Предприятия через внешнее
соединение, нужно выполнить последовательность действий:
– произвести
установку
COM-соединения,
создав
менеджер
COM-соединений;
– получить объект соединения и обратиться к доступным свойствам,
методам и объектам той базы данных, с которой было осуществлено
соединение.
Для организации внешнего соединения был создан общий объект
конфигурации – общий модуль «Сравнение данных». Код модуля приведен
в приложении В. Свойства объекта отображены на рисунке 16. Общий модуль
выполняется на стороне клиента и через подключение внешнего источника.
32
Рисунок 16 – Свойства общего модуля «Обмен данными»
В
нем
содержатся
функции,
использующиеся
для
установления
соединения с информационной базой и получения из нее данных.
Функция
«СформироватьСтрокуПодключения»
возвращает
строку
подключения к базе. Параметрами являются тип расположения базы (файловая
или серверная), адрес локальной базы (если эта база – файловая; в противном
случае в качестве этого параметра не передается ничего), имя сервера и имя
базы на сервере (если эта база – серверная; в противном случае в качестве этих
параметров не передается ничего), пользователь и его пароль.
Функция «СоздатьCOMОбъект» возвращает СОМ-объект, созданный
с учетом версии платформы 1С: Предприятие. Не имеет параметров.
Функция
«ВыполнитьПодключениеЧерезCOM»
имеет
своими
параметрами строку подключения, параметр «ЭтоПроверка», принимающий
значение «Истина» или «Ложь» в зависимости от того, производится проверка
подключения к базе или получение данных, текст запроса, который будет
передан на исполнение в подключенной базе, и параметры запроса. В случае
истинности параметра «ЭтоПроверка» возвращает «Неопределено» и сообщает
об успешности установки соединения; если параметр ложен, то возвращается
33
строка – преобразованная в строку таблица значений, содержащая результат
выполнения запроса на стороне подключенной информационной базы.
Функция «ВыполнитьПодключениеЧерезCOM» используется в форме
элемента справочника «Информационные базы» для проверки корректности
ввода всех данных. На форму добавлена кнопка «Проверить подключение», при
нажатии
на
которую
«ВыполнитьПодключениеЧерезCOM»
вызывается
и
выводится
функция
соответствующее
сообщение.
На рисунке 17 показано успешное подключение к базе под пользователем
Администратор, на рисунке
18 – ошибочная ситуация: пользователя
Администратор2 в подключаемой базе нет.
Рисунок 17 – Успешное подключение к информационной базе
34
Рисунок 18 – Ошибка подключения к информационной базе
2.4 Отчет «Сравнение данных»
Отчет «Сравнение данных» – рабочий инструмент для обычного
пользователя. В программном модуле формы отчета прописаны алгоритмы,
реализующие сравнение данных.
Рисунок 19 – Структура отчета «Сравнение данных»
35
Отчет имеет единственный, являющийся обязательным для заполнения
реквизит – «НастройкаСравнения» – в котором указывается элемент
справочника «Настройки сравнения данных». Также отчет имеет одну
табличную часть – «ПараметрыЗапросов». Структура отчета представлена на
рисунке 19. В ней указываются нужные значения параметров запроса. По
умолчанию эта таблица заполняется значениями, указанными в выбранной
настройке сравнения, но у пользователя может появиться необходимость
выполнить запросы к базам со своими параметрами. Для того чтобы не давать
пользователю менять оригинальную настройку сравнения со стандартными
значениями,
было
принято
решение
добавить
табличную
часть
«ПараметрыЗапросов» в отчет.
Для удобства использования отчета была создана форма отчета.
В
реквизиты
формы
добавлен
вспомогательный
реквизит:
«ПоказатьРазличные» – тип Булево. Также реквизитом формы является
добавленный по умолчанию реквизит «Результат» типа «ТабличныйДокумент».
В отчете используется система компоновки данных, поэтому при
создании форма отчета автоматически заполняется стандартными элементами:
«КомпоновщикНастроекПользовательскиеНастройки»,
«ОсновнаяКоманднаяПанель» и «Результат». Для определения собственных
механизмов
реагирования
на
события
командная
панель
«ОсновнаяКоманднаяПанель» в форме удалена и вместо нее добавлена кнопка
«Сформировать». При нажатии на кнопку «Сформировать» происходит
заполнение
табличного
документа
в
соответствии
с
установленными
настройками.
Если установлена галочка «Показать различные», то в результат отчета
попадут только различающиеся в базах записи, а одинаковые будут скрыты.
Чтобы увидеть все записи таблицы-результата сравнения, нужно снять галочку
«Показать различные».
После
закрытия
формы
отчета
часто
бывает
нужно
сохранить
заполненные реквизиты и табличные части отчета. Для того чтобы
36
пользователь при повторном открытии формы отчета видел заполненные при
предыдущем формировании реквизит «НастройкаСравнения» и табличную
часть «ПараметрыЗапросов», были изменены свойства формы отчета и внесены
процедуры и функции в модуль формы.
Свойству
формы
«Автоматическое
сохранение
данных
формы
в настройках» присвоено значение «Использовать». После этого в реквизитах
формы появилась возможность отметить сохраняемые реквизиты. Таким
образом, был сохранен реквизит «НастройкаСравнения».
В
модуль
формы
добавлены
процедуры
«СохранитьНастройки»,
«ПередЗагрузкойДанныхИзНастроекНаСервере»,
«ПриЗагрузкеДанныхИзНастроекНаСервере».
организована
работа
с
объектом
В
этих
процедурах
была
«ХранилищеНастроекДанныхФорм»,
в который сохранялись текущие значения параметров, а затем при повторном
открытии загружались из него.
Форма отчета представлена на рисунке 20.
Рисунок 20 – Внешний вид формы отчета «Сравнение данных»
Заполнение табличного документа происходит при нажатии на кнопку
37
«Сформировать»,
которая
запускает
на
выполнение
процедуру
«СформироватьОтчет». Сначала механизмом запросов получаются все поля
строки
таблицы,
сравнения».
соответствующей
Когда
все
элементу
необходимые
справочника
данные
получены,
«Настройки
в
функции
«ПолучитьСтрокуДанных» выполняются запросы к базам и получаются
преобразованные в строку таблицы значений – результаты выборок данных.
После получения данных из информационных баз запускается процедура
«СформироватьОтчетНаСервере», которая в результате своей работы заполняет
табличный документ «Результат». Сначала данные баз из строки преобразуются
обратно в таблицы значений. Из настройки сравнения запросом получаются
настройки связи – поля, по которым будут связываться таблицы с данными.
Затем получаются имена всех полей каждой из таблиц. Таблицы с данными баз,
поля связи, все поля таблиц и значение реквизита «ПоказатьРазличные»
передаются в функцию «СоединитьТаблицыЗначений».
В
функции
соединение
«СоединитьТаблицыЗначений»
таблиц
с
данными
двух
используется
информационных
баз.
полное
Таблицы
соединяются по ключу – полям, указанным в табличной части «Настройки
связи» настроек сравнения. Чтобы обеспечить попадание в итоговую таблицу
строк из обеих таблиц в случае их отсутствия в одной из таблиц, в качестве
ключа была сформирована строка вида ЕСТЬNULL(Поле1, Поле2).
После получения таблицы результата создается новый построитель
отчета, у которого в качестве источника данных указывается полученная
результирующая таблица. Построитель отчета – это объект, позволяющий
вывести данные в отчет из произвольного источника. Так как для получения
таблицы с результатом сравнения используется сложный алгоритм, то
построитель отчета необходим для показа этой таблицы пользователю.
Основная схема компоновки данных заполняется стандартными настройками
и при помощи компоновщика макета создается макет. Процессор компоновки
данных заполняет сформированный макет данными. Затем процессор вывода
системы
компоновки
данных
выводит процессор компоновки
38
данных
в табличный документ «Результат».
Результат сравнения двух таблиц с выводом всех строк показан на
рисунке 21.
Рисунок 21 – Результат выполнения отчета
Результат сравнения двух таблиц с выводом только различающихся строк
показан на рисунке 22.
Рисунок 22 – Результат выполнения отчета (различные)
39
2.5 Роли и ограничение доступа к данным
Заполнение справочников «Информационные базы» и «Настройки
сравнения данных» – сложное, требующее высокой квалификации. Составление
текста запроса, выявление требуемых параметров запросов, установку
правильной настройки связи между таблицами должен выполнять специально
обученный сотрудник, который понимает суть механизма запросов и работу
самого алгоритма сравнения.
Так как в типовых конфигурациях от фирмы 1С предусмотрен
стандартный
справочник
«Пользователи»
и
параметр
сеанса
«ТекущийПользователь», то для успешной интеграции эти объекты были
созданы и в реализованном модуле. В модуле сеанса также было прописано
заполнение параметра сеанса.
Для разделения доступа к данным были созданы две роли:
– роль «СверкаДанныхИзменение», с установленными правами на чтение,
добавление, изменение и удаление всех справочников и на использование
и просмотр отчета;
– роль «СверкаДанныхЧтение», с установленными правами на чтение
и просмотр всех справочников и на использование и просмотр отчета.
Роль
«СверкаДанныхИзменение»
должна
назначаться
специально
обученному пользователю, в задачи которого входит заполнение справочников
«Информационные базы» и «Настройки сравнения данных»: создание настроек
подключения к базам, написание запросов, составление настроек связи полей
и указание стандартных значений параметров.
Роль
«СверкаДанныхЧтение»
должна
быть
назначена
обычному
пользователю, которому требуется получить результат сравнения данных
информационных
баз.
Он
сможет
только
просматривать
имеющиеся
справочники и выбирать настройки сравнения в отчете.
Для тестирования реализованного контроля доступа к данным были
созданы
пользователи
«Петров»
40
с
назначенной
ему
ролью
«СверкаДанныхИзменение»
и
«Иванов»
с
назначенной
ему
ролью
«СверкаДанныхЧтение». Интерфейс элемента справочника «Информационные
базы» для пользователя «Иванов» представлен на рисунке 23.
Рисунок 23 – Форма элемента справочника «Информационные базы» для
пользователя «Иванов»
Для
ограничения
доступа
к
отдельным
элементам
справочника
«Настройки сравнения данных» использовался механизм RLS. Условие
устанавливалось на чтение справочника, его вид представлен на рисунке 24.
41
Рисунок 24 – Условие ограничения доступа
Результат этой настройки представлен на рисунке 25 и рисунке 26.
Пользователю «СверкаДанныхЧтение» видны только те настройки сравнения, в
которых этот пользователь присутствует в табличной части «Пользователи». На
рисунке 26 видно, что форма элемента справочника доступна только для чтения
и просмотра.
Рисунок 25 – Форма списка справочника «Настройки сравнения данных»
пользователя «Иванов»
42
Рисунок 26 – Форма элемента справочника «Настройки сравнения данных»
пользователя «Иванов
«
43
3 Внедрение модуля
Процесс внедрения разработанного модуля рассмотрен на примере
типовой конфигурации «Бухгалтерия предприятия, редакция 3.0».
Необходимо
запустить
систему
1С: Предприятие
в
режиме
«Конфигуратор» от пользователя с правами администратора. Открыть дерево
конфигурации. В пункте главного меню «Конфигурация» выбрать пункт
«Сравнить,
объединить
с
конфигурацией
из
файла…»,
как
показано
на рисунке 27. Откроется диалог выбора файла, необходимо выбрать файл
с
расширением
.cf
–
конфигурацию
с
модулем
сравнения
данных
«МодульСравненияДанных.cf».
Рисунок 27 – Выбор пункта главного меню
Откроется окно сравнения
конфигураций, вид которого показан
на рисунке 28. Выбран фильтр «Показывать отличия в конфигурациях», потому
что при объединении конфигураций интересуют именно различающиеся
объекты.
44
Рисунок 28 – Окно сравнения конфигураций
По умолчанию режим объединения объектов – «взять из файла». Это
означает, что все те объекты первой конфигурации, что отмечены галочками,
будут объединены с объектами второй конфигурации, выбранной для
сравнения
и
объединения,
по
стандартным
правилам
объединения
конфигураций:
– если объект подсвечен голубым цветом – объект присутствует в обеих
конфигурациях, но различается;
– если объект подсвечен красным цветом – объект присутствует только
в первой конфигурации и при объединении останется неизменным;
– если объект подсвечен зеленым цветом – объект присутствует только
во второй конфигурации и при объединении целиком перенесется в первую
конфигурацию.
Если объект не отмечен галочкой, то все подчиненные ему объекты не
будут объединены по стандартным правилам – объект останется без изменения,
таким, каким он был до объединения конфигураций.
Чтобы свойства самой конфигурации не были заменены свойствами
45
внедряемого модуля, нужно отключить режим объединения «взять из файла»
у пункта «Свойства», сняв галочку напротив названия объекта, как показано
на рисунке 29.
Рисунок 29 – Снятие галочек в окне сравнения конфигураций
Логика разработанного модуля такова, что режим объединения «взять из
файла» необходимо также отключить у справочника «Пользователи». Все
остальное следует оставить без изменения.
Вопрос переноса пользователей остается на усмотрение внедряющих
модуль.
После установления всех настроек надо нажать кнопку «Выполнить»
и дождаться окончания объединения. В конце объединения появится
сообщение о том, что объединение конфигураций завершено. После этого
нужно сохранить рабочую конфигурацию и обновить конфигурацию базы
данных. В появившемся окне с сообщением о реорганизации информации
необходимо нажать кнопку «Принять».
Для проверки корректности объединения следует открыть базу в режиме
«1С: Предприятие».
Таким
образом,
прикладным решением 1С.
46
модуль
интегрируется
с
любым
ЗАКЛЮЧЕНИЕ
Реляционные базы данных существуют уже более 40 лет и повсеместно
используются. Все данные в них могут быть представлены в виде двумерных
таблиц. На основе реляционной модели данных создано огромное количество
учетно-информационных систем. Часто возникает необходимость сравнивать
данные двух и более таблиц из разных информационных баз. В настоящей
бакалаврской работе рассмотрены способы сравнения таблиц, применяемые
сотрудниками предприятия, указаны недостатки существующих решений
задачи и разработано собственное решение – модуль сравнения данных
в системе 1С: Предприятие. Если для сравнения используется прикладная
программа, например, Microsoft Excel, то алгоритм действий может быть
следующим: пользователь получает данные из каждого источника, выгружает
их и через некоторую программу выполняет сравнение. Все это отнимает
у работника много времени и требует специальной подготовки. Разработанный
в данной работе функционал с наименьшими временными затратами
со стороны пользователя выполняет требуемое сравнение и выводит результат
в удобном для просмотра и анализа виде.
Для разработки модуля была выбрана система 1С: Предприятие. Выбор
этой системы обусловлен популярностью продукта в России и особенностями
платформы: в ней реализованы механизмы, позволяющие упростить и ускорить
получение некоторых данных – виртуальные таблицы «остатков», «оборотов»,
«остатков и оборотов», «срез последних», «срез первых» и др.
Разработка модуля велась в режиме управляемого приложения. В модуле
были использованы объекты конфигурации: «Подсистема», «Общий модуль»,
«Справочник», «Отчет», «Перечисление», «Роль», а также задействованы
объект «Параметры сеанса» и модуль сеанса. Логика работы модуля
следующая:
одна
функционалом,
информационная
напрямую
база,
последовательно
обладающая
подключается
необходимым
к
другим
информационным базам – источникам данных, запросом получает данные
47
и сравнивает их. В качестве способа подключения к информационным базам
было
выбрано
использовался
Для
COM-соединение.
объект
конфигурации
показа
результата
«Отчет».
В
сравнения
справочнике
«Информационные базы» должны храниться адреса информационных баз,
пользователь,
В
под
справочнике
которым
«Настройки
происходит
сравнения
подключение,
данных»
и
должны
его
пароль.
указываться
подключаемые базы, запросы к ним, стандартные значения параметров
запросов и настройки связи полей. В качестве способа ограничения доступа
к
данным
модуля
были
созданы
две
роли:
«СверкаДанныхЧтение»
и «СверкаДанныхИзменение». Роль «СверкаДанныхЧтение» должна быть
назначена обычному пользователю, которому требуется получить результат
сравнения данных информационных баз, а роль «СверкаДанныхИзменение»
должна назначаться специально обученному пользователю, в задачи которого
входит заполнение справочников «Информационные базы» и «Настройки
сравнения данных».
Разработанный модуль интегрируется с любым прикладным решением
1С, имеющим платформу версии 8.3.6.1977 и старше. Внедрение этого модуля
особенно полезно на предприятиях, у которых действуют распределенные
информационные базы и сравнение данных осуществляется достаточно часто.
Модуль сравнения данных позволяет сравнивать любые данные реляционной
базы данных под управлением 1С, будь то документы, справочники, регистры,
планы счетов или другие сложным образом организованные таблицы. Для этого
нужно лишь один раз указать адреса информационных баз и написать к ним
запрос.
Цель работы выполнена – модуль сравнения данных в системе
1С: Предприятие успешно создан, разделение доступа к данным модуля
реализовано. Модуль был внедрен в прикладное решение «Управление
торговлей, редакция 11» на предприятие ООО «Еврошоп Руссланд».
48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1
1С: Предприятие 8 [Электронный ресурс] : Система прав доступа. –
Режим доступа: http://v8.1c.ru/overview/Term_000000579.htm.
2
GOODWILL. ПРОДАЖА И ВНЕДРЕНИЕ 1С [Электронный ресурс] :
Настройка RLS в 1С – ограничение доступа на уровне записей. – Режим
доступа:
https://programmist1s.ru/nastroyka-rls-ogranichenie-dostupa-na-urovne-
zapisey-1s.
3 Wiseadvice – it [Электронный ресурс] : Михаил Сайко. Общие модули
в
1С
8.3.
–
–
2018.
Режим
доступа:
https://wiseadvice-it.ru/o-
kompanii/blog/articles/obshhie-moduli-v-1s-8-3/
4
Разработка
интерфейса
прикладных
решений
на
платформе
«1С: Предприятие 8» / [В. А. Ажеронок, А. В. Островерх, М. Г. Радченко
и др.] – М. : ООО «1С-Паблишинг», 2018. – 902 с.
5
Радченко М. Г. П84 Профессиональная разработка в системе
1С: Предприятие 8 (+CD) / [А. П. Габец, Д. И. Гончаров, Д. В. Козырев и др.]
/ под. ред. М. Г. Радченко. – М.: «1С-Паблишинг»; СПб. : Питер, 2006. – 808 с.
6
Инфостарт – информационно-аналитический центр по автоматизации
учета и управления на 1С [Электронный ресурс] : Евгения Карук. Управление
доступом: роли, права, профили, группы доступа, функциональные опции, RLS.
– 2017. – № 685213. – Режим доступа: https://infostart.ru/public/685213.
7
Курсы по 1С. Профессиональный курсы по 1С:программирование,
типовые конфигурации (УПП, КА, ЗУП, УТ11), подготовка к аттестации,
разработка, настройка и внедрение [Электронный ресурс] : RLS – гибкая
и тонкая настройка ограничений доступа к данным. – Режим доступа:
https://курсы-по-1с.рф/ news/rls-data-access-restrictions.
8
Радченко
М.
Г.
1С: Предприятие 8.3.
Практическое
пособие
разработчика. Примеры и типовые приемы / М. Г. Радченко, Е. Ю. Хрусталева.
– М. : ООО «1С-Паблишинг», 2013. – 965 с.
9
Смит Билл. Методы и алгоритмы вычислений на строках (regexp) =
49
Computing Patterns in Strings / Билл Смит. – М. : «Вильямс», 2006. – 496 с.
10
Фридл Дж. Регулярные выражения / Дж. Фридл – 3-е издание. –
СПб. : Символ-Плюс, 2008. – 608 с., ил., пер. с англ.
11
Хрусталева Е. Ю. Язык запросов «1С: Предприятия 8». – М. : ООО
«1С-Паблишинг», 2013. – 369 с.
50
ПРИЛОЖЕНИЕ А
(Обязательное)
Модуль формы элемента справочника «Информационные базы»
51
Окончание ПРИЛОЖЕНИЯ А
52
ПРИЛОЖЕНИЕ Б
(Обязательное)
Модуль формы элемента справочника «Настройки сравнения данных»
53
Продолжение ПРИЛОЖЕНИЯ Б
54
Продолжение ПРИЛОЖЕНИЯ Б
55
Окончание ПРИЛОЖЕНИЯ Б
56
ПРИЛОЖЕНИЕ В
(Обязательное)
Общий модуль «Обмен данными»
57
Продолжение ПРИЛОЖЕНИЯ В
58
Окончание ПРИЛОЖЕНИЯ В
59
ПРИЛОЖЕНИЕ Г
(Обязательное)
Модуль формы отчета «Сравнение данных»
60
Продолжение ПРИЛОЖЕНИЯ Г
61
Продолжение ПРИЛОЖЕНИЯ Г
62
Продолжение ПРИЛОЖЕНИЯ Г
63
Продолжение ПРИЛОЖЕНИЯ Г
64
Продолжение ПРИЛОЖЕНИЯ Г
65
Продолжение ПРИЛОЖЕНИЯ Г
66
Продолжение ПРИЛОЖЕНИЯ Г
67
Окончание ПРИЛОЖЕНИЯ Г
68
oTЗЬIB
Ha BьIПyсItнyIo бaItaлaвpсI(yo paбoтy
cTy.ценTa
4 кypсa нaПpaBЛеътия
02.0З.0|
<Maтемaтkъ<a
И кoМПЬIoTеpHЬIr
l{ayки)
oпpитoвoй М.A. нa TеМy
<Pеaлизaция Мo.цyЛЯсpaBнеHиЯ ДaIIнЬIxI{aплaтфopме 1C :ПpеДПpиЯTие)
Чaстo
tlpи
BеДении
инфopмaциoнHaЯ
yчеTa
I{a ПpeДГIpИЯTИvI исПoЛЬЗyrTся
IIе oДIIa
6aзa, a HесI(oлЬI(o' Mе)к.цy I(oTopЬIМи пpoисxoДиT
.цaI{нЬIМИ.Пpи TaI(oМ oбмене МoГyT BoЗHикaTь oшибки'
oбмен
I(oTopЬIе пpиBoДяT I(
paccoГJlaсoBal{иIo ДaнI{ЬIx. Пpoцесс BЬIЯBЛeI{иЯTaкиX pacХo)кДений ДoстaToЧIIo
тpyДoемкий,
ЗaI{иМaеT
oПpеДеленIIЬIХ нaBЬIкoB'
MIIoгo
BpеMени
I(oTopЬIr не
И
тpeбyет
сBЯЗaIIЬI с
еГo
OT
пoJIЬЗoBaTеЛЯ
пpoфессиoнaльнoй
.цеяTеЛЬнoсTЬIo.
Пеpед
aBTopoМ вьIпyскнoй бaIсaлaвpсItoй paбoтьI бьтla ПoсTaBЛеI{a
ЗaДaЧapaзpaбoтки МrxaниЗMa cpaBHениЯ ДaI{нЬIxДByx инфopмaциoнIlЬIx бaз в
сиcTrМе
1C:ПpедпpИЯTИe. Aвтopoм
сpaBнrIIиЯ тaблиц
бьтllи иЗyченЬI ocI{oBнЬIе опoсобьt
B сoвpеМrннЬIХ ПpиIflaДнЬIx Пpo|paМMax, paзpaбoтaн
МoДyЛЬ сpaBIIеHиЯ ДaIIнЬIХ,pе€ L IIизoBaнo pulЗгpa}IиЧеIlиr.цocTyПa к OсIIOBHЬIМ
oбъeктaм сисTеМЬI.
Мoдyль aпpoбиpoBallB opГaниЗaцииooo <ЕвpoIпoпPyсслaнд>.
Сuитalo,
чTo
нaсToЯщaЯ
paбoтa
y,цoBлеTBoрЯrT тpебoвaниям
I(
BЬIПyскнЬIм бaкaлaBpскиМ paбoтaм, a еr aBTop, oпpитoвa M.A.' ЗaсJIyiI(иBaеT
oценки ((oTЛиЧIIo)).
Haуrньrй pyкoBoДиTеЛЬ
ФЕ,ДЕPAЛЬHOЕГOсУДAPсTBЕHHOЕ, БЮД}ItЕТHoЕ
oБPAЗoBAТЕЛЬHoЕ УЧPЕ}I{ДЕHИЕ,BЬICIIIЕГO OБPAЗOBAHИ,I
..F{AЦИoЕIAЛЬF{ЬтЙисслЕДoBATвль скиЙ
)|
MoPДoB скиЙ Гo CУДAP CTBЕHHьIЙ yниBЕPCИTЕT ИM. I{.П.oГAPЁBA''
OTЗЬIB PЕIЕHЗЕF{TA
o BЬIПУскнoЙ КBAЛИФИItAЦИorшoЙPAБoTЕ
СтyДентa oпpитoвa Мapия AлексaнДpoвнa
(Фaмилия, имя, oтuествo)
Фaкyльтет Мaтемaтикvl иИT
Кaфедpa Maтем aтич r с I(oГo aLIaЛИЗa
HaпpaвлеЕIие Пo.цгoToBI(и
Maтемaт
Гpyппa 401
ИКa И I(oМгIЬIoтеpIIьIе IIaYI(И
КвaлифиI(aциЯ (степень) бaкaлaвp
HaименoBaние TrМЬI: Pеaлизaция мoДvля сpaвнения .цaнньIхнa плaтфopме
1C:Пpедпpиятие
PеЦензент
Кaлединo.Е.' ФГБoУ Bo <МГУ им.H.П.oгapёвu,
кaн,ц.физ.-мaт.нayк. б/з
(Фaмилия И.o., местo paбoтьI,yчrнor зBaние,отепеt'tь)
oцЕIrкA
J\Ъ
пlп
2.
з,
т/l .
BЬIIIУCI{нOЙ PAБOTЬI
Пoкaзaтели
AктyaльнocTЬ TеМaTики paбoтьt
Степень ПoЛI{oTЬI oбзopa cocToяIIиЯ Boпpoсa и кopprкTнocTЬ ПocTaнoBкИ ЗaДaЧИ
Уpoвень и кoppекTнoсTЬ исIIoЛЬЗoBaHИЯ B paбoте MеTo.цoB
иссЛrДoBaния! MaTеMaTиЧrcкoГo МoДеЛиpoBaниЯ
Cтепень кoМПЛrкснoстиpaбoTЬI,ПpиМrIIениев ней знaний
oбщепpoесTесTBенF{oHayЧнЬIХ,
сoциaЛЬнo*Экol{oMичlскиХ,
и
фесоиoнaпЬFIЬIх c[rциaЛЬI{ЬIХДиcциПЛиII
5 . Яснoсть, ЧlTкocTЬ, ПoсЛrДoBaTrЛЬIloсTЬ и oбoснoвaннocTЬ
изЛo}I(ения
oценкa
5
+
4
a
J
2
+
+
+
+
6 . Пpименениr coBprМrl{I{oГoМaToМaTиЧrcкoГoи ПpoГpaММ- +
L
нoгo oбеспеЧения,кoМПЬroTеpнЬIх
TеxнoЛoГийв paбoте
Кaчествo oфopмления (oбщий yрoBенЬГpaМoТнoсTи,сTиЛЬ
изЛo)кеIIиЯ,кaчеcTBo иЛЛtocTpaций,оooтBrTcTBиr тpебoвa- +
tIияM стaндapтa)
8 . opигинaлЬIlосTЬ
9.
И нoBиЗIIa IIoЛyчеtIнЬIх pеЗyЛЬTaToB
(нaучньIх. кo}lcTpyкTopcких и TехIloЛoГиЧеоких pеrпений)
Тип paбoтьI
фyндaменTaЛЬHaя с opиГиI{aЛЬHЬIМи
DеЗУльTaTaМи
prФrpaTиBIIaя
1 0 . Pекoмендaции
ПpикЛaДнaЯ
+
+
к oпyбликoBal{иIo
К Bt{е.IIDеFIиro
ИToГoBAЯ oЦЕF{КA
- tlе oцениBaется (тpyлно oЦенить)
-l-
oTЛиЧtIo
0
oтмеченнЬIе ДoсToиliсTBa: B paбoте paссмaтpивaется oДнa из aктyaльньIх
ИcКa oIIIиooк ПDи Bе.IIeнии vЧеTa B IIrcкoЛЬI(
бaзax. Aвтopoм pеaлизoвaн мoД}zль.пoзвoляroЩий вьtпoлнять сpaвнение ДaнлIo0ЬIх
и}l
Мoдvдь иМееТvдoбньt
1C :ПpедrroИЯТИЯ.
BaTеJlЬсt(ИИ Иr],Ieo()еис" lloЗ*
вoляет сoxpaнять pезyльтaт сpaвнения вo внеrшний фaйл .цля Дaльнейtшегo
aн€ L IIиЗa.
oтнести oто},тствие
: К не.цoстaткaм paбoтьt сле,ц}zеT
oтмеченнЬIr IIе.цoсTaTки
I{a
ПЛa
HIIЬIX
a
Зaключение: Бaкaлaвpскaяpaбoтa oпpитoвoй M.A. yдoвлетвoDяетвqем тpебoвaниям' пpеДъявляемьrxк paбoтaм тaItoгoтипa. и зaслyrкивaетoценки <<oтЛиЧнo))
l{
цФЙ'p
2019г.
Pецензент
oTчЕT ;
o prЗyЛЬTaTaХПpoBrpки paбoTЬI oбyuaroщегoсЯ
I{a нaЛич kle ЗaИNIcтвo в aний
Ф.И. o. aBTopa paб oтьI: oпpитoв a Мapия AлексaнДpoBFIa
Tемa paбoтьI: <<PеaлизaцияМo.цyЛя сpaBHеI{ия ,цaнI{ЬIхHa плaтфopме
ПpедcтaвJIенI{aя p.aбoтa ПpolПЛa ПpoBеpкy нa нaЛиЧие ЗaиMствoвaний в
сисTеMе (<Aнтиплaгиaт.BУЗ>>(uлu uнoй аIlаЛoluчнoй сuсmе^4е,ансlЛuЗamекcmoв
с m вo ван uй, вьtбp анн o й Ун u веpc umеmoм)
|tа ttа,ouчuе ЗаutJvl
PезyльтaтЬI aBToMaTическoй ПpoBеpкИ: opигинaЛЬHoсTЬ 98,7зуo
цИTиpoBaния 0,24oh
зaимствoBanИЯ 1.0З%
PезyльтaтьI aнaЛиЗa IIoЛI{oГooTЧеTaIIa нaJIиЧI4eЗaИNIQтвoвaний:
Я: Дa, I,ОЗo/o
ПpaBoМеpIIЬIrЗaиMсTBoBaIIи
кoppекTI{ЬIеЦиTИp oBa:нИЯ:.
дa, О,24oА
I{rПpaBoМеpIIЬIrзaиMсTBoBaHия: HеT
ПpиЗIIaки oOxoДa сИcTrМЬI:нrT
oбщее зaкJIIoчеIIие oб итoгoвoй opиГиII€ L ЛЬI{ocTи paбoтьI и BoЗМo)кHoсTи еr
Дol]yскa к ЗaщиTr:
BьIпyскнaя
квaлифик aЦИoНTтaЯpaботa oпpитoвoй" М.A.
<Pеaлизaция
МoдyЛя cpaвнrI{ия ДaIIнЬIx I{a плaтфopме lC:ПpедпpklЯ.ГИe>>ДoПycкaеTся к
зaшIиTе.
PyкoвoдиTrЛЬ
кaн.ц.физ..мaт.нayк.
A}.Т}4ПлAГиAт
yft'toM
тBoритЕ
Mopдoвский гoсyдаpствeнньlй
yнивepситeтимeни H. П. oгapeва
сoБсгвЕl{ньlltd
сп PAB1{A
o pe3yлЬтaтaxпpoвepки тeкстoBoroдoкyrшeнтa
нa нaлИчИe }aиMстBoBaн.4й
Пpoвepкa вblпoлH eнa в сист ег vle
Aнтиплaгиaт.By3
Aвтop pa6oтьl
Фaкyльтe1 кaфедpa,
нoмep гpyппЬl
.
Tип paбoтьt
Назвaниe pа6oтьt
iоn!'кт.9.ЁtilР*-т$-i"пйn
'u*.,'u'''***
$f#igiyffi u.ilьъdйiii.йdйiiЕffi
.;;1ui.:'.,u
l... ..il.l.i'iil-.';;r..i,.
$!fiф,,i!iffiзцир*.*Ь;'ьlpфirui=i1ii:'l...'..
А.Bй.Ёя
iFffi Йinrrйdllйoд'ляlё
нФр;дп ЁйitйЁ.....
Йя янЁii ндплдтоьрм
H a з в a н и eф a й л a
Пpoцeнт 3aимствoваtlия
Пpoцeнт цитиpoвaния
пpoцeнт opигинaлЬ}loсти
flaтa пpoвepки
Moдyли пoискa
.:,' ..:t..:::'::.::ti.:,.:-ti
Pa6oтy пpoвepил
:, t..:r]l::1,=tt:.I t .. :::.= ::lt,
EPЕMИHдMитРИЙAлЕксAHtPoBИч
Фиo nposepяющеro
flaта пoдписи
. ,ii.оg.''o.€ . 'j!,a|1'
пoдписЬпpoвеpяющeгo
Чтo6ьt y6eдиться
B noдлинt'|oстиспpaBки,
испoльзyйтe QR.кoд, кoтopьtй
сoдepжит ссЬ|Лкyнa oтчeт.
o Т в e т н a в o п p o с , я в л я e т с ял и o 6 н a p y ж e н н o e 3 а и м с т в o в а H и e
к o p р e к т н Ь l м ,с и с т e м а o с т a в л я e тн a y с м o т р е н и e п p o в e p я Ю щ e г o .
П p e д o с т ав л e нн a я и н ф o p м a ц и я н e п o д л е х { и ти с п o л Ь 3 o в а ни ю
в к o м M e p Ч е с к и хц e Л я x .
*ЕIр*affoП
fi*tЁ*lжfuНll
0Бtl"tЕсТB0 с oГPAнИЧЕt-IНoЙ OТвЕrсTвЕl.tl.l0стЬl0
<.ЕBРOtl!OПPУССААHAI
г.Сapанск. ff| иннlзzzоz:вsl
$| азоооз,Россия.
Kпп.l3260.lool
0ГPl.| 1I4]з27ooz3а
гIp'Ae!fl4нa д- з4
fl ввос:::о:tа
fit offiсе@eurоshор.ru
@ илллlv.вunosг|oр.Ru
Исx.Ns 5f{
фo
J^,с.g-
2ОI9 г.
Aкт внеДpеI{ия IIpoгрaI!{]t{HoгoMoДyЛя
<<CpaвнеIIиe
ДaнньIx нa плaтфopме 1C :ПpеДIIpияTиr>>
Пpoгpaммньrй
Мo.цyЛЬ <Cpaвнение
.щaI{нЬIx нa
шлaтфоpме
1C:ПpедпpИЯTИe>>,
401 гpyппьI
aBTopol\l кoTopoГo ЯBЛЯеTсЯсTy.цеI{T-бaкaшaBp
HaI]paBЛеI{ия IIo.цГoToBки 02.03.01
Мaтемaтикa
И
I(oМПЬIoTеpнЬIе }IayI(и
фaкyльтеTa МaTеМaTИКI4и инфopМaциo}IнЬIx TеxIIoJIoГий ФГБoУ
им. H.П. oгapёвa>> oпpитoвa
paбoтy
кoМПaIIии.
Пpoдyкт
Bo
(MГУ
Мapия AлексaндpoBIIa, yсПеIIIнo BI{rДpеIr B
ПoJIIIoсTЬIo y.цoBЛеTBopяеT IIoЛЬЗoBaTеЛЬскиM
TpеOoBaнияM сoTpy'цi{икoB.
Генеpaльньrйдиpектo
C.M. Itpaнoв
Отзывы:
Авторизуйтесь, чтобы оставить отзыв