Добавил решения блока 07

This commit is contained in:
2022-03-22 12:10:41 +04:00
parent b9228a2a93
commit 14a18577c2
10 changed files with 306 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
# Задание к занятию "Распределенная информационная база"
Разработать пересылку данных между двумя узлами распределенной базы.
В качестве решения прислать один файл, содержащий все изменения по конфигурации.
## Задание 1. Создание конфигурации и плана обмена
### Описание задачи
Создать конфигурацию торгового предприятия и добавить в нее план обмена
### Требования к результату
Выгрузка информационной базы (.dt) с конфигурацией ТорговоеПредприятие, содержащая минимальные метаданные и план обмена.
### Процесс выполнения
* Создайте чистую конфигурацию
* Добавьте справочники Номенклатура и Контрагенты
* Добавьте документы ПриходнаяНакладная и РасходнаяНакладная
* В документах "накладных" добавьте в шапку реквизит Контрагент, а также табличную часть с колонками "Товар (СправочникСсылка.Номенклатура)", "Количество (Число)", "Цена (Число)", "Сумма (Число")
* Добавьте в конфигурацию план обмена Полный
* В плане обмена по кнопке "Состав" укажите все объекты метаданных и разрешите авторегистрацию
## Задание 2. Запись изменений в файл обмена
### Описание задачи
Внести изменения в информационную базу и выгрузить изменения для внешнего узла
### Требование к результату
Выгрузка информационной базы (.dt) из прошлого задания с командой, позволяющей сохранить изменения в файл обмена
### Процесс выполнения
* Создайте команду "Отправить данные" в плане обмена. В качестве типа параметра команды укажите ПланОбменаСсылка.Общий, команду разместите в панели действий формы
* В обработчике команды напишите алгоритм, который для выбранного узла обмена будет выгружать все изменения в файл XML.
* Используйте объекты ЗаписьСообщенияОбмена, ЗаписьXML, по примеру, указанному в презентации к лекции
* После формирования сообщения обмена добавьте код удаления всех зарегистрированных изменений для данного узла обмена
```bsl
ПланыОбмена.УдалитьРегистрациюИзменений(Узел);
```
* Файл с сообщением обмена должен сохраняться на машине клиента (передаваться с сервера на клиент)
* Запустите программу в режиме 1С:Предприятие
* Отредактируйте предопределенную запись в плане обмена, задайте ей код "ГЛ" и наименование "Главная база"
* Создайте новый элемент в плане обмена, задайте ей код "ВН" и наименование "Внешняя база"
* Введите в режиме 1С:Предприятие несколько записей в справочниках и сформируйте сообщение обмена.
## Задание 3. Чтение изменений из файла обмена
### Описание задачи
Получить изменения от внешнего узла и записать их в базу
### Требование к результату
Выгрузка информационной базы (.dt) из прошлого залания с командой, позволяющей загрузить изменения из файла обмена
### Процесс выполнения
* Создайте вторую команду в плане обмена, назовите ее "Получить изменения"
* В обработчике команды реализуйте алгоритм чтения сообщения обмена из выбранного пользователем файла
* Алгоритм обработчика должен позволять выбрать XML файл с клиентского компьютера
* Используйте объекты ЧтениеСообщенияОбмена, ЧтениеXML по примеру, указанному в презентации к лекции
* Выгрузите конфигурацию в файл CF и загрузите его в новую чистую информационную базу
* Создайте в режиме 1С:Предприятие в этой базе обратную конфигурацию узлов - предопределенному узлу код "ВН" и наименование "Внешняя база", а второму созданному узлу код "ГЛ" и наименование "Главная база"
* Загрузите в базу файл, сформированный в предыдущем задании.

View File

@@ -0,0 +1,61 @@
<v8msg:Message xmlns:v8msg="http://v8.1c.ru/messages">
<v8msg:Header>
<v8msg:ExchangePlan>Полный</v8msg:ExchangePlan>
<v8msg:To>ВН</v8msg:To>
<v8msg:From>ГЛ</v8msg:From>
<v8msg:MessageNo>3</v8msg:MessageNo>
<v8msg:ReceivedNo>0</v8msg:ReceivedNo>
</v8msg:Header>
<v8msg:Body>
<CatalogObject.Номенклатура>
<Ref>86761b11-a94e-11ec-8018-c682962e9dd1</Ref>
<DeletionMark>false</DeletionMark>
<Code>000000001</Code>
<Description>Клавиатуры</Description>
</CatalogObject.Номенклатура>
<CatalogObject.Контрагенты>
<Ref>86761b10-a94e-11ec-8018-c682962e9dd1</Ref>
<DeletionMark>false</DeletionMark>
<Code>000000001</Code>
<Description>Поставщик1</Description>
</CatalogObject.Контрагенты>
<CatalogObject.Контрагенты>
<Ref>86761b13-a94e-11ec-8018-c682962e9dd1</Ref>
<DeletionMark>false</DeletionMark>
<Code>000000002</Code>
<Description>Покупатель1</Description>
</CatalogObject.Контрагенты>
<DocumentObject.ПриходнаяНакладная>
<Ref>86761b12-a94e-11ec-8018-c682962e9dd1</Ref>
<DeletionMark>false</DeletionMark>
<Date>2022-03-21T22:39:22</Date>
<Number>000000001</Number>
<Posted>true</Posted>
<Контрагент>86761b10-a94e-11ec-8018-c682962e9dd1</Контрагент>
<Товары>
<Row>
<Товар>86761b11-a94e-11ec-8018-c682962e9dd1</Товар>
<Количество>1</Количество>
<Цена>100</Цена>
<Сумма>100</Сумма>
</Row>
</Товары>
</DocumentObject.ПриходнаяНакладная>
<DocumentObject.РасходнаяНакладная>
<Ref>86761b14-a94e-11ec-8018-c682962e9dd1</Ref>
<DeletionMark>false</DeletionMark>
<Date>2022-03-21T22:39:45</Date>
<Number>000000001</Number>
<Posted>true</Posted>
<Контрагент>86761b13-a94e-11ec-8018-c682962e9dd1</Контрагент>
<Товары>
<Row>
<Товар>86761b11-a94e-11ec-8018-c682962e9dd1</Товар>
<Количество>1</Количество>
<Цена>100</Цена>
<Сумма>100</Сумма>
</Row>
</Товары>
</DocumentObject.РасходнаяНакладная>
</v8msg:Body>
</v8msg:Message>