HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/ipsremont-demo/docs/Commands/Импорт аппаратов.md
Команда импортирует Аппараты из 1С.
CRM делает запрос по адресу `http://sfami.instrument.ru:8095/Service82GK/hs/tmc/v1/112/GetApparatus` (адрес задаётся через настройки приложения)
Обмен ведётся с помощью [пакетной передачи](927) (XML).

### Структура XML ответа из 1С

Корнем документа является объект `<answer_package_apparatus>`.
Структура объекта:

| Поле          | Тип         | Описание                   |
|---------------|-------------|----------------------------|
| NameMethod    | `string`    | Название метода            |
| DateRequest   | `string`    | Дата запроса `d.m.Y H:i:s` |
| PackageNumber | `integer`   | Номер пакета               |
| apparatus     | `apparat[]` | Массив аппаратов           |

Структура объекта (`apparat`):

| Поле   | Тип       | Описание                                          | Варианты для `enum` |
|--------|-----------|---------------------------------------------------|---------------------|
| name   | `string`  | Название                                          |                     |
| code   | `string`  | Код аппарата                                      |                     |
| group  | `string`  | Не используется                                   |                     |
| action | `enum`    | Действие которое необходимо произвести с объектом | new, update, delete |
| shemes | `sheme[]` | Массив схем                                       |                     |

Структура объекта (`sheme`):

| Поле        | Тип           | Описание                                          | Варианты для `enum` |
|-------------|---------------|---------------------------------------------------|---------------------|
| name        | `string`      | Название                                          |                     |
| code        | `string`      | Код схемы                                         |                     |
| action      | `enum`        | Действие которое необходимо произвести с объектом | new, update, delete |
| file        | `sting`       | Название файла схемы на FTP                       |                     |
| accessories | `component[]` | Массив деталей                                    |                     |

Структура объекта (`component`):

| Поле              | Тип       | Описание                    |
|-------------------|-----------|-----------------------------|
| name              | `string`  | Название                    |
| code              | `string`  | Код детали                  |
| number            | `integer` | Номер детали на схеме       |
| BaseUnitOfMeasure | `string`  | Единица измерения           |
| price             | `string`  | Стоимость                   |
| quantity          | `integer` | Количество деталей на схеме |

Пример ответа из 1С:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<answer_package_apparatus>
    <NameMethod>GetApparatus</NameMethod>
    <DateRequest>01.01.2020 15:30:00</DateRequest>
    <PackageNumber>1</PackageNumber>
    <apparatus>
        <apparat>
            <name>Газонокосилка электрическая</name>
            <code>00001</code>
            <group>Аппараты</group>
            <action>new</action>
            <shemes>
                <sheme>
                    <name>01 Общий вид</name>
                    <code>0000001</code>
                    <action>new</action>
                    <file>0000001.png</file>
                    <accessories>
                        <component>
                            <name>Болт М8х20</name>
                            <code>00000001</code>
                            <number>1</number>
                            <BaseUnitOfMeasure>шт</BaseUnitOfMeasure>
                            <price>10</price>
                            <quantity>1</quantity>
                        </component>
                    </accessories>
                </sheme>
            </shemes>
        </apparat>
    </apparatus>
</answer_package_apparatus>
```