# Серийные обработки

# Загрузка и отправка слежения БЭ

Vagon.online, груз и вагон

# Изменения Загрузка и отправка слежения

## 10.04.2024

### Убрано условие на заполненность терминала при расчете даты прибытия по скорости

В случае незаполненного терминала, должна браться скорость повагонки

## 02.08.2023

### Убрано условие на наличие даты отгрузки

При загрузке с vagon.online:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-08/scaled-1680-/yFtimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-08/yFtimage.png)

Поступили прецеденты с пустой датой отгрузки (# 1067):

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-08/scaled-1680-/2wMimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-08/2wMimage.png)

### Добавлено условие на пустые значения

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-08/scaled-1680-/ynnimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-08/ynnimage.png)

# Загрузка и отправка слежения БЭ

Модуль, позволяющий в автоматическом режиме получать информацию о дислокации контейнеров, находящихся в определённом статусе.  
  
[ЗагрузкаИОтправкаСлеженияСВагонамиVO.epf](https://cloud.accounter.org/index.php/f/204082)

Модуль автоматически ставит на слежение идущие по ЖД контейнера, и снимает прибывшие. Переносит в базу:

- дату прибытия;
- Расстояние до станции назначения;
- последнюю ЖД операцию;
- станцию операции;
- дату операции;
- станцию отправления;
- номер Ж/Д накладной;
- железная дорога операции;
- номер платформы;
- номер поезда;

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-08/scaled-1680-/C3Iimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-08/C3Iimage.png)

# Модуль API ВМТП



# Инструкция API ВМТП

## Регистрация

Важно. Для доступа к API необходимо отправить заявку на доступ.   
[Заявка на доступ к API-сервисам порта.doc](https://cloud.accounter.org/index.php/s/7kyqjdfRKanp52C)

## Установка

Загрузите файл обработки в "Дополнительные обработки" 1С:  
[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/qxWimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/qxWimage.png)

Обработка содержит 3 команды:

- Автоматическая загрузка - загружает данные исходя из настроек. Предназначена для автоматического запуска по расписанию (По умолчанию расписание отключено);
- Открыть настройки - открывает настройки модуля. Предназначена для запуска администратором и уполномоченных им лиц;
- Рабочий стол ВМТП по API - Инструмент для ручной загрузки информации пользователем.

## Настройка

Сначала укажите логин и пароль, полученные от ВМТП. Возможна загрузка по нескольким компаниям в одну базу:

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/HbXimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/HbXimage.png)

## Типовые параметры

<table border="1" id="bkmrk-%D0%A2%D0%B8%D0%BF%D0%BE%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%97%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5%D0%9F" style="border-collapse: collapse; width: 100%; height: 2293.19px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Типоразмер</td><td style="height: 29.7969px;">ЗначениеПараметра = Типоразмер(cargo.container.type);</td></tr><tr style="height: 113.781px;"><td style="height: 113.781px;">Коммерческое разрешение</td><td style="height: 113.781px;">Если cargo.Свойство("release") И cargo.release.Свойство("commercial") И cargo.release.commercial.state=Истина Тогда  
ЗначениеПараметра = РаспознатьДату(cargo.release.commercial.date)  
КонецЕсли</td></tr><tr style="height: 46.5938px;"><td style="height: 46.5938px;">Вес брутто</td><td style="height: 46.5938px;">ЗначениеПараметра = Число(cargo.weight) + Число(cargo.container.weight)</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Вес нетто</td><td style="height: 29.7969px;">ЗначениеПараметра = Число(cargo.weight) </td></tr><tr style="height: 63.3906px;"><td style="height: 63.3906px;">Выгружен в порту</td><td style="height: 63.3906px;">ЕСЛИ cargo.arrival.Свойство("date") ТОГДА  
 ЗначениеПараметра = РаспознатьДату(cargo.arrival.date)  
КОНЕЦЕСЛИ</td></tr><tr style="height: 147.375px;"><td style="height: 147.375px;">Внутрипортовые операции</td><td style="height: 147.375px;">Если cargo.Свойство("customsData") Тогда  
ЗначениеПараметра = "";  
Для каждого ТамПроц Из cargo.customsData.surveys цикл  
ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + ?(ТамПроц.type="Физический","Досмотр",ТамПроц.type);   
КонецЦикла;  
КОнецЕсли  
</td></tr><tr style="height: 116.781px;"><td style="height: 116.781px;">Отгружен по ЖД

</td><td style="height: 116.781px;">ЕСЛИ cargo.status = "Убыл" и  
cargo.departure.direction = "RW"  
ТОГДА  
 ЗначениеПараметра = РаспознатьДату(cargo.departure.date)  
КОНЕЦЕСЛИ</td></tr><tr style="height: 113.781px;"><td style="height: 113.781px;">Автовывоз с терминала</td><td style="height: 113.781px;">ЕСЛИ cargo.status = "Убыл" и  
cargo.departure.direction = "AUTO"  
ТОГДА  
 ЗначениеПараметра = РаспознатьДату(cargo.departure.date)  
КОНЕЦЕСЛИ</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Груз</td><td style="height: 29.7969px;">ЗначениеПараметра = cargo.description</td></tr><tr style="height: 164.172px;"><td style="height: 164.172px;">Тип перевозки</td><td style="height: 164.172px;">Если cargo.arrival.direction = "SEA" Тогда  
ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию("Импорт");  
Иначе  
ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию("Экспорт");  
КонецЕсли</td></tr><tr style="height: 113.781px;"><td style="height: 113.781px;">Принят на погрузку</td><td style="height: 113.781px;">ЕСЛИ cargo.Свойство("departure") И cargo.departure.Свойство("direction") И cargo.departure.direction = "RW" ТОГДА  
 ЗначениеПараметра = РаспознатьДату(cargo.departure.RWAcceptanceDate)  
КОНЕЦЕСЛИ  
</td></tr><tr style="height: 214.516px;"><td style="height: 214.516px;">Коносамент</td><td style="height: 214.516px;">ЗначениеПараметра = "";

ТипВхДокумента = ?(cargo.arrival.direction = "SEA","Коносамент (входящий)","ЖД накладная");  
Для каждого Документ Из cargo.arrival.documents цикл  
 Если Документ.type = ТипВхДокумента тогда  
 ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + Документ.number;  
 КонецЕсли   
КонецЦикла

</td></tr><tr style="height: 164.172px;"><td style="height: 164.172px;">Линия</td><td style="height: 164.172px;">Если cargo.arrival.direction = "SEA" И cargo.Свойство("arrival") И cargo.arrival.Свойство("transport") Тогда  
ЗначениеПараметра = cargo.arrival.transport.voyage.line.name;  
ИНАЧЕЕсли cargo.arrival.direction = "RW" И cargo.Свойство("departure") Тогда  
ЗначениеПараметра = Линия(cargo.departure.transport.voyage.line.name);  
КонецЕсли  
</td></tr><tr style="height: 130.578px;"><td style="height: 130.578px;">Номера ДТ</td><td style="height: 130.578px;">ЗначениеПараметра = "";  
Если cargo.customsData.Свойство("declarations") Тогда  
Для каждого Д Из cargo.customsData.declarations цикл  
ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") +Д.number;   
КонецЦикла  
КонецЕсли  
</td></tr><tr style="height: 147.375px;"><td style="height: 147.375px;">Номер пломбы</td><td style="height: 147.375px;">ЗначениеПараметра = "";  
Для каждого Пломба Из cargo.seals цикл  
ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + СтрЗаменить(Пломба.number,"ИМП ","");   
КонецЦикла;  
ЗначениеПараметра = СтрЗаменить(ЗначениеПараметра,"Прочее ","");</td></tr><tr style="height: 130.578px;"><td style="height: 130.578px;">Номер рейса</td><td style="height: 130.578px;">Если cargo.arrival.direction = "SEA" И cargo.Свойство("arrival") Тогда  
ЗначениеПараметра = cargo.arrival.transport.voyage;  
ИНАЧЕЕсли cargo.arrival.direction = "RW" И cargo.Свойство("departure") Тогда  
ЗначениеПараметра = cargo.departure.transport.voyage;  
КонецЕсли</td></tr><tr style="height: 96.9844px;"><td style="height: 96.9844px;">Охрана</td><td style="height: 96.9844px;">ЕСЛИ cargo.departure.Свойство("direction") ТОГДА  
 ЕСЛИ cargo.departure.direction = "RW" ТОГДА  
 ЗначениеПараметра = cargo.departure.guard  
 КОНЕЦЕСЛИ  
КОНЕЦЕСЛИ</td></tr><tr style="height: 231.359px;"><td style="height: 231.359px;">Повреждение</td><td style="height: 231.359px;">ЗначениеПараметра = "";  
Если cargo.Свойство("damage") Тогда  
М=Новый Массив;  
Для каждого Повреждение Из cargo.damage цикл  
М.Добавить(Повреждение.place + " - " +Повреждение.name);  
КонецЦикла;  
СортировкаВыбором(М);  
Для каждого П Из М цикл  
ЗначениеПараметра = ЗначениеПараметра + ?(ЗначениеПараметра="","",",") + П;   
КонецЦикла;  
КонецЕсли  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Релиз получен</td><td style="height: 29.7969px;">Если cargo.Свойство("release") И cargo.release.Свойство("agent") И cargo.release.agent=Истина Тогда  
ЗначениеПараметра = Истина;  
КонецЕсли</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Станция назначения</td><td style="height: 29.7969px;">ЕСЛИ cargo.status = "Убыл" И cargo.departure.direction = "RW" ТОГДА  
ЗначениеПараметра = ЖДСтанция(cargo.departure.document.station.name, cargo.departure.document.station.code, Истина);  
КОНЕЦЕСЛИ;

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Станция отправления</td><td style="height: 29.7969px;">ЗначениеПараметра = ЖДСтанция("ПОРТ ВЛАДИВОСТОК");</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Судно</td><td style="height: 29.7969px;">ЕСЛИ cargo.type = "Контейнер" и   
cargo.status = "Убыл" и  
cargo.arrival.direction = "SEA" и   
cargo.departure.direction = "RW"   
ТОГДА  
 ЗначениеПараметра = РаспознатьДату(cargo.departure.date)  
КОНЕЦЕСЛИ

ЗначениеПараметра = Справочники.CW\_ТипыПеревозок.НайтиПоНаименованию(Наименование)

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Таможенный режим</td><td style="height: 29.7969px;">Если cargo.customsData.Свойство("declarations") Тогда  
Для каждого Д Из cargo.customsData.declarations цикл  
Если Д.type = "ДТ" ТОГДА   
ЗначениеПараметра = "ГТД";  
ИНАЧЕЕсли Д.type = "Транзитная декларация" ТОГДА   
ЗначениеПараметра = "ВТТ";  
КонецЕсли;  
КонецЦикла  
КонецЕсли

</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Терминал</td><td style="height: 29.7969px;">ЗначениеПараметра = Справочники.CW\_Терминалы.НайтиПоНаименованию("ВМТП")</td></tr></tbody></table>

Для получения консультации обращайтесь на <help@accounter.org>

# Изменения API ВМТП

## API ВМТП v1.6


---

### Обновлён отбор запроса к ВМТП:

#### Поля выбираются из списка:

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/lfyimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/lfyimage.png)

#### Если у типа поля предполагается конечное количество вариантов - они будут использованы как список правых значений:  


#### [![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/vqZimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/vqZimage.png)  
Произвольное условие отбора

Введена галочка, позволяющая написать условия к примеру "ИЛИ":

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/FPMimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/FPMimage.png)

### Переработаны рассылки

Теперь их 2 и одна содержит информацию о данных загруженных в базу, а другая наличие ошибок

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-09/scaled-1680-/DzYimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-09/DzYimage.png)

### Оптимизированы функции обращающиеся к справочникам

Теперь они будут использовать буфер для того чтобы не лезть в базу n-ое количество раз

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/aj5image.png)](https://book.accounter.org/uploads/images/gallery/2023-03/aj5image.png)

### Починил поле кода загрузки (были проблемы с переключением на вкладки)

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/TPTimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/TPTimage.png)

### Введены шаблоны

(пока в таком виде - наверное потом как-то по-другому оформлю). Это просто предопределенные настройки заполнения предполагаемых параметров. Там же используется новая функция ПолучитьЗначениеИзМассива.

[![image.png](https://book.accounter.org/uploads/images/gallery/2023-03/scaled-1680-/KYIimage.png)](https://book.accounter.org/uploads/images/gallery/2023-03/KYIimage.png)

# API ВМТП

Считывает оперативную информацию о ваших перевозках через ВМТП в "Бухгалтерию Экспедитора" в ручном и автоматическом режимах. С помощью данного модуля, в вашей 1С будет обновляться информация о находящихся в порту, убывших и ожидающихся к прибытию перевозках, без участия человека. Среди всех данных, предоставляемых ВМТП, наиболее популярными являются:

- Типоразмер (20DC, 40HC)
- Дата прибытия
- Дата принятия на погрузку
- Дата получения коммерческого разрешения
- Дата убытия
- Судно (NIIGATA TRADER)
- Рейс (2302E)
- Линия (SINOKOR)
- Номер коносамента (SNKO000000000000)
- Наименование груза (ВИДЕООБОРУДОВАНИЕ, ПРИНАДЛЕЖНОСТИ)
- Вес брутто груза (вес нетто груза + вес упаковки). Без веса контейнера
- Вес контейнера
- Количество мест
- Номера ДТ (через запятую)
- Таможенный режим (ДТ/ВТТ)
- Номер пломбы
- Охрана (да/нет)
- Повреждения контейнера (КТК - деформация ребер,КТК - загрязнение снаружи)
- Релиз получен (Да/Нет)
- Станция назначения

Механизм настройки модуля позволяет произвести адаптацию под ваши условия без дополнительных затрат на работу программиста, в большинстве случаев. Стоимость модуля без внедрения **60 000р**. Стоимость внедрения взимается по факту, в соответствие с потраченным временем.  
  
Для получения консультации обращайтесь на <help@accounter.org>

# Рассылка уведомлений по грузоперевозкам

[Модуль](https://cloud.accounter.org/index.php/f/203634) позволяет добавить n-ое количество, в том числе и регламентных, рассылок с данными по грузоперевозкам.   
В первую очередь предназначена для уведомления внутри организации для следующих сценариев:

- Что-нибудь не заполнено в грузоперевозке
- Не выставлен доход по номенклатурам.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/Hg2image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/Hg2image.png)

Колонки таблицы настраиваются вот тут при помощи стандартных механизмов СКД.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/3yLimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/3yLimage.png)

Есть возможность добавить данные по таблице во вложении в формате Excel и/или xml.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/o72image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/o72image.png)

# Дополнить ЭДО реализацию 1С данными БЭ

Добавляет в стандартном 1С ЭДО информацию в электронную УПД стандартной 1С ЭДО:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/xYdimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/xYdimage.png)

Понадобятся:

- подписка, заполняющая реквизиты СопроводительныеДокументы, СведенияОТранспортировкеИГрузе данными БЭ [ЗаполнитьСопроводительныеДокументыРеализацииДаннымиБЭ](https://cloud.accounter.org/index.php/f/202692)
- Расширение [ITSP\_ДопСведенияВЭДО ](https://cloud.accounter.org/index.php/f/203253)включает доп. сведения в УПД в настройках отправки ЭДО 1С  
      
    Установлено одному клиенту на проверку. Проверка касается только заполнения "Дополнять информацией из счета".  
    Разработчикам(2) начислить **2 часа** за использование, если модули оказались полезными

## Подписка на реализацию

Подписка на реализацию [ЗаполнитьСопроводительныеДокументыРеализацииДаннымиБЭ](https://cloud.accounter.org/index.php/f/202692) заполняет реквизиты реализации на основе данных дохода. В СопроводительныеДокументы помещаются данные о счетах реализации, в СведенияОТранспортировкеИГрузе информация из шаблона:

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/HE2image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/HE2image.png)

Доступны следующие настройки:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/YhUimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/YhUimage.png)

При взведённой галке "Не проверять вывод БЭ" - поля будут заполнятся вне зависимости от настроек текущего договора (Без проверки на включенность параметров договора ДополнятьИнформациейИзСчета и ДополнятьИнформациейИзШаблонаБЭ):

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/pqmimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/pqmimage.png)

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/J44image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/J44image.png)

## Расширение для включения доп. свойств при отправке УПД 1С ЭДО

У контрагента есть настройки отправки электронных документов:[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/advimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/advimage.png)[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/Ae7image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/Ae7image.png)[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/pkhimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/pkhimage.png)[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-07/scaled-1680-/OSIimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-07/OSIimage.png)

Если галка не будет стоять, то доп данные не появятся. Расширение ставит эту галку по умолчанию при создании настройки. Уже забитые данные до, нужно ставить вручную. (есть в планах сделать)

# Версионирование объектов



# Бухгалтерия экспедитора (готовое решение)

[ITSPM\_ВерсионированиеОбъектов\_БЭ.cfe](https://cloud.accounter.org/index.php/f/227417)  
Установка требует Монопольный режим.  
!!!!При установке - убрать галочку безопасный режим работы.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/image.png)  
  
Вся стандартная настройка интегрирована в настройки хранения истории изменения основной конфигурации

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/3Lyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/3Lyimage.png)Справочники и документы бухгалтерии экспедитора выделены в отдельные группы

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/zQ0image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/zQ0image.png)

Готово![![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/eHbimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/eHbimage.png)  
  
  
Для грузоперевозок предусмотрена история в разрезе параметров. *(с версии 1.2)*[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-01/scaled-1680-/zbmimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-01/zbmimage.png)

<p class="callout danger">Для того чтобы кнопка просмотра версий объекта была доступна у пользователей с неполными правами необходимо создать группу доступа **"Чтение версий объектов"**, в которую будут входить две роли **"Чтение версий объектов"** и **"Чтение информации о версиях объектов"**.</p>

# Интеграция с другими объектами основной конфигурации

Для добавления собственных объектов следует

1\) Добавить новые элементы в расширение версионирования объектов.   
(*Если очень хочется можно и изменить одни из уже представленных определяемых типов, но лучше создать свой - В этом случае дальше в конфигурации ничего делать не нужно)*[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/yUyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/yUyimage.png)

Синоним определяемого типа будет определять представление группы ваших элементов в настройках хранения истории изменения основной конфигурации.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/R7Vimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/R7Vimage.png)

2\) Добавляем команду с следующими настройками: *(тип параметра команды - новый определяемый тип)*  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/FHyimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/FHyimage.png)

3\) В модуль ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль   
Добавить аналогичную строку с новым определяемым типом. *(Это влияет на запись версий объектов)*  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/uUnimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/uUnimage.png)

Последний пункт необязательный для работы и его можно пропустить.  
Для включения и отключения отображения кнопки в зависимости от использования версионирования в данный момент. [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/G7nimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/G7nimage.png)4.1) В состав функциональной опции ITSPM\_ВерсионированиеОбъектов\_ИспользоватьВерсионированиеОбъекта  
Добавить вашу команду.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/bfWimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/bfWimage.png)

4.2) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:  
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-10/scaled-1680-/cMKimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-10/cMKimage.png)

# Интеграция с расширениями

Внимание!   
Интеграция модуля с другими расширениями возможна только с версии совместимости 8.3.20 и выше!  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/image.png)

А при установке расширения - отключаем безопасный режим  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/aeXimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/aeXimage.png)

Интеграция должна быть двухсторонняя и состоит из 2-х элементов:   
п. 1) Запись данных о версиях объектов:  
*Эту задачу решает данный модуль, настройка будет на этапе 2*  
п. 2) Вывод кнопочки для того чтобы можно было эти версии смотреть:   
*И это нужно будет сделать в том расширении, в котором были добавлены новые справочники или документы.*

Для примера конфигурация "ЗУП" и какое-то расширение "Кадровик".  
Задача сделать так чтобы история велась по этим документам:   
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/TcXimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/TcXimage.png)

1\) Добавить общую команду \[префикс\]\_ITSPM\_ВерсионированиеОбъектов\_ИсторияИзменений  
Главные свойства: Группа и тип параметра команды *Имя, синоним и картинка, конечно, на ваше усмотрение.* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Ot4image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Ot4image.png)  
Обработка команды:  
<span style="color: rgb(0, 0, 255);">Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент <span style="color: rgb(255, 25, 0);">=</span> ОбщегоНазначенияКлиент.ОбщийМодуль<span style="color: rgb(255, 25, 0);">(</span></span>"ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент"<span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">);</span>   
</span><span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">Если </span>Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент <span style="color: rgb(255, 25, 0);">&lt;&gt; Неопределено тогда </span>Модуль\_ITSPM\_ВерсионированиеОбъектов\_ОбщийМодуль\_Клиент.ОбработкаКоманды\_ИсторияИзменений<span style="color: rgb(255, 25, 0);">(</span>ПараметрКоманды<span style="color: rgb(255, 25, 0);">,</span> ПараметрыВыполненияКоманды<span style="color: rgb(255, 25, 0);">)</span>   
</span><span style="color: rgb(0, 0, 255);"><span style="color: rgb(255, 25, 0);">КонецЕсли;</span></span>

1.1) Обращаю внимание, что должна быть включена галочка "Автозаполнение".   
В ином случае выводите как хотите сами.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/5quimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/5quimage.png)

2\) В базе открываем обработку "Настройки версионирования дополнительных объектов" и выбираем свои расширения.  
*(только записать не забудьте)* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Lacimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Lacimage.png)

Это минимальный набор действий, но если нужно чтобы кнопочка появлялась, и исчезала в зависимости от того ведется по ней запись или нет можно пользоваться функциональными опциями (точно так же как работает основной конфигурации).  
Так можно настроить интеграцию сразу со всеми объектами, но не использовать ее прямо сейчас.

Мы будем скрывать кнопку если по этому объекту не ведется запись версий.

  
3\) В расширение с которым выполняется интеграция добавляем регистр "НастройкиВерсионированияОбъектов" и ресурс "Использовать".  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/3Sjimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/3Sjimage.png)

4\) Добавляем функциональную опцию \[префикс\]\_ITSPM\_ВерсионированиеОбъектов\_ИсторияИзменений  
И выбираем в свойстве "Хранение" ресурс который добавили выше  
*Назвать тоже можете как хотите* [![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/2Lvimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/2Lvimage.png)

4.1) В состав включаем ранее добавленную команду.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/oSPimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/oSPimage.png)

5\) В каждую форму элемента или списка объектов к которым привязана команда добавить при создании на сервере код:

<span style="color: rgb(0, 0, 255);">ВерсионированиеОбъектов.ПриСозданииНаСервере</span><span style="color: rgb(255, 25, 0);">(</span><span style="color: rgb(0, 0, 255);">ЭтаФорма</span><span style="color: rgb(255, 25, 0);">);</span>[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/exYimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/exYimage.png)

Если этого не сделать кнопка будет отображаться даже если версионирование не ведется.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/6XGimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/6XGimage.png)

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/Esoimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/Esoimage.png)

# Шаблоны маршрутов по типам ГП

Подписка, заполняющая маршрут в грузоперевозке и заказе, в случае если он не заполнен.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-09/scaled-1680-/jxgimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-09/jxgimage.png)

Если хотя бы один параметр из шаблона не будет заполнен, то маршрут рассчитан не будет.  
[УстановкаМаршрутаПередЗаписьюГП](https://cloud.accounter.org/index.php/f/206605)

# Загрузка расходов СБИС

Модуль загрузки расходов из ЭД (СБИС)

# Загрузка расходов СБИС Документация

## Настройка

### Алгоритмы распознания

#### Алгоритм для распознания строк  


Подходит для случаев, где для заполнения строк расхода достаточно "Основного вложения". Основное вложение - это электронный документ подтверждения факта хозяйственной деятельности (Акт, УПД). Если из предоставляемой поставщиком услуги можно выделить услугу без мусора (меняющиеся части) и номер грузоперевозки, то этот тип алгоритма подойдёт для этого поставщика.

Выполняется в контексте:

```
УслугаПоставщика = СокрЛП(СтруктураСтроки.НаимТов);
Рез = Новый Структура("Контейнера,Услуга",Новый Массив,"");
```

Например, услуга в документе поставщика содержит услугу "XXXU1234567 Агентское вознаграждение ФИТ"  
Как видим, услуга с номером контейнера и без "мусора". В этом случае, будет достаточно выделить из строки номера контейнеров, а остальное считать услугой:

```
СыраяСтрока = СтрЗаменить(УслугаПоставщика,","," ");
ЧастиСтроки = СтрРазделить(СыраяСтрока," ",Ложь);
Для каждого Часть ИЗ ЧастиСтроки Цикл
	Контейнер = ВРег(СокрЛП(Часть));
	Если СтрДлина(Контейнер) <> 11 ИЛИ Сред(Контейнер,4,1)<>"U"  Тогда
		Рез.Услуга = Рез.Услуга + ?(Рез.Услуга = "",""," ")+Часть; 
		Продолжить;
	КонецЕсли;
	Рез.Контейнера.Добавить(Контейнер);	
КонецЦикла;
Рез.Услуга = СокрЛП(Рез.Услуга);
```

Услуга поставщика может быть похожа на следующую: "Перевозка контейнера XXXU1234567 Коносамент SKLM1111111 Маршрут: НАХОДКА ВОСТОЧНЫЙ - КЛЕЩИХА". В этом случае в услуге есть "мусор", это номер коносамента, маршрут. Если мы их не уберём, то сопоставление номенклатуры работать не будет. В этом случае, всё до номера контейнера можно считать услугой, всё после - мусором:

```
СыраяСтрока = СтрЗаменить(УслугаПоставщика,","," ");
ЧастиСтроки = СтрРазделить(СыраяСтрока," ",Ложь);
БылКонтейнер = Ложь;
Для каждого Часть ИЗ ЧастиСтроки Цикл
	Контейнер = ВРег(СокрЛП(Часть));
	Если СтрДлина(Контейнер) <> 11 ИЛИ Сред(Контейнер,4,1)<>"U" Тогда
		Если БылКонтейнер = Ложь Тогда
			Рез.Услуга = Рез.Услуга + ?(Рез.Услуга = "",""," ")+Часть; 
		КонецЕсли;
		Продолжить;
	КонецЕсли;
	Рез.Контейнера.Добавить(Контейнер);	
	БылКонтейнер = Истина;
КонецЦикла;
Рез.Услуга = СокрЛП(Рез.Услуга);
```

#### Алгоритм распознания документов

Часть поставщиков не указывают в типовых электронных документов информацию, достаточную для формирования расхода, и дополняют электронный пакет файлом, в котором содержится нужная информация. Таким файлом может являться дополнительный xml файл (ВМТП/ФИТ), pdf файл,   
В настройке поставщика "Поиск вложения к распознанию" можно указать условия подбора вложения к распознанию. Установка текстовых значений через запятую наложит фильтр по указанным значениям поля "Тип" при переборе вложений пакета. Можно так же указать условие в формате структуры, например: "Новый Структура("Тип","Расчет\_Стоимости")":

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/Zz0image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/Zz0image.png)

Тут, в качестве контекста, вам достаются объекты ДД, РасходЗаготовка, ПП. ДД - двоичные данные вложения на распознание, РасходЗаготовка - это расход в виде структуры:

```
ПоляРасхода = "Услуги,Организация,Контрагент,Договор,Валюта,ПредъявленСчет,ПредъявленАкт,ПредъявленСФ,НомерСчета,ДатаСчета,НомерАкта,ДатаАкта,НомерСФ,ДатаСФ,ЭтоКорректировка,Продавец,Расход,РасходПроведен,ДокументБП,Счет";	
ПоляУслуг = "НомерКонтейнера,Услуга,Грузоперевозка,Номенклатура,Представление,ПорядокОтражения,Покупатель,ДоговорПокупателя,СтавкаНДС,Цена,Количество,Сумма,НДС,Всего";
```

Поля расхода уже будут заполнены нужными значениями. При распознании, вам нужно заполнить массив РасходЗаготовка.Услуги элементами **Новый Структура(ПоляУслуг)**, элементами с заполненными значениями полей НомерКонтейнера,Услуга,СтавкаНДС,Цена,Количество,Сумма,НДС,Всего. Так же, в этом алгоритме, вы можете изменить любые другие значения РасходЗаготовка.   
  
Распознавание xml вложения Расчет\_Стоимости (ВМТП / ФИТ) возможно следующим алгоритмом:

```
Документ = РаспознатьXML(ДД,Док.ОсновноеВложениеКНД,ФабрикиПоКНД);

Если Не ЗначениеЗаполнено(РасходЗаготовка.Договор) Тогда
	//Документ.Header.Agr_number / Документ.Header.Agr_date   ;
	НомерДоговора = Документ.Header.Agr_number;
	ДатаДоговора = ВычленитьДату(Документ.Header.Agr_date);//
	Если ЗначениеЗаполнено(НомерДоговора) И ЗначениеЗаполнено(ДатаДоговора) Тогда
		РасходЗаготовка.Договор = ITSP_ВернутьЭлементСправочника("CW_ДоговорыПоГрузоперевозкам", 
		Новый Структура("НомерДоговора,ДатаДоговора,Наименование,Владелец,Организация,ВалютаДоговора,ВидДоговора",
		НомерДоговора,
		ДатаДоговора,
		НомерДоговора+" "+Формат(ДатаДоговора,"ДФ=dd.MM.yy"),
		РасходЗаготовка.Контрагент,
		РасходЗаготовка.Организация,
		РасходЗаготовка.Валюта,
		Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком),
		СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("НомерДоговора,Владелец,Организация,ВалютаДоговора,ВидДоговора"),Истина); // Поиск по всему, кроме наименования и даты. Мало ли может ошиблись. Это не критично
	КонецЕсли;	
КонецЕсли;

РасходЗаготовка.Услуги = Новый Массив;
Если ПП.ИскатьНомерСчета Тогда	
	Попытка	
		РасходЗаготовка.НомерСчета = Документ.Header.Inv_Number;
		РасходЗаготовка.ДатаСчета = ITSP_XMLДата(Документ.Header.Inv_Date); 
	Исключение
	КонецПопытки;
КонецЕсли;

СтрокиАкта = Новый ТаблицаЗначений;
СтрокиАкта.Колонки.Добавить("Идентификатор");
СтрокиАкта.Колонки.Добавить("Наименование");
СтрокиАкта.Колонки.Добавить("СтавкаНДС");
СтрокиАкта.Колонки.Добавить("Цена");
СтрокиАкта.Колонки.Добавить("Всего"); 	
СтрокиАкта.Колонки.Добавить("НДС");

Если ТипЗнч(Документ.Act_Row) = Тип("ОбъектXDTO") Тогда
	ITSP_ДобавитьСтрокуАкта(Документ.Act_Row,СтрокиАкта);
Иначе
	Для каждого ЭлементТаблицы ИЗ Документ.Act_Row Цикл
		ITSP_ДобавитьСтрокуАкта(ЭлементТаблицы,СтрокиАкта);	
	КонецЦикла;
КонецЕсли;

УслугиПоОбъектам = Новый ТаблицаЗначений();
УслугиПоОбъектам.Колонки.Добавить("ИдентификаторСтрокиАкта");
УслугиПоОбъектам.Колонки.Добавить("ИдентификаторПеревозки");
УслугиПоОбъектам.Колонки.Добавить("ЕдиницаИзмерения");
УслугиПоОбъектам.Колонки.Добавить("Количество");
УслугиПоОбъектам.Колонки.Добавить("Всего");	
УслугиПоОбъектам.Колонки.Добавить("НДС");

Если ТипЗнч(Документ.Object_Service) = Тип("ОбъектXDTO") Тогда
	ITSP_ДобавитьУслугуПоОбъектам(Документ.Object_Service,УслугиПоОбъектам);
Иначе
	Для каждого ЭлементТаблицы ИЗ Документ.Object_Service Цикл
		ITSP_ДобавитьУслугуПоОбъектам(ЭлементТаблицы,УслугиПоОбъектам);	
	КонецЦикла;
КонецЕсли;

ОбъектыПеревозки = Новый ТаблицаЗначений();
ОбъектыПеревозки.Колонки.Добавить("Идентификатор");
ОбъектыПеревозки.Колонки.Добавить("НомерКонтейнера");

Если ТипЗнч(Документ.Transfer_Object) = Тип("ОбъектXDTO") Тогда
	ITSP_ДобавитьОбъектПеревозки(Документ.Transfer_Object,ОбъектыПеревозки);
Иначе
	Для каждого ЭлементТаблицы ИЗ Документ.Transfer_Object Цикл
		ITSP_ДобавитьОбъектПеревозки(ЭлементТаблицы,ОбъектыПеревозки);	
	КонецЦикла;
КонецЕсли;  

Для каждого УслугаПоОбъектам ИЗ УслугиПоОбъектам Цикл	
	
	НС = Новый Структура(ПоляУслуг);
	
	СтрокаАкта = СтрокиАкта.Найти(УслугаПоОбъектам.ИдентификаторСтрокиАкта,"Идентификатор");
	ОбъектПеревозки = ОбъектыПеревозки.Найти(УслугаПоОбъектам.ИдентификаторПеревозки,"Идентификатор");
	Если СтрокаАкта = Неопределено ИЛИ ОбъектПеревозки = Неопределено Тогда
		//МассивСообщений.Добавить("Ошибка формата. "+ПредставлениеДокумента);
		//Возврат Неопределено;
	КонецЕсли;
	ЗаполнитьЗначенияСвойств(НС,УслугаПоОбъектам,"Количество,Всего,НДС");
	ЗаполнитьЗначенияСвойств(НС,СтрокаАкта,"Цена,СтавкаНДС");
	ЗаполнитьЗначенияСвойств(НС,ОбъектПеревозки,"НомерКонтейнера");	
	//------------------------------------------- были замечены ситуации, когда в услугахПоОбъекту нет информации о НДС, но есть в строке акта. Однако информацию из строки акта можно брать только в том случае, когда услугПоОбъектам, касающихся этой строки акта одын штука    
	Если УслугиПоОбъектам.НайтиСтроки(Новый Структура("ИдентификаторСтрокиАкта",СтрокаАкта.Идентификатор)).Количество() = 1 Тогда
		Если СтрокаАкта.Всего <> неопределено И СтрокаАкта.НДС <> неопределено Тогда
			ЗаполнитьЗначенияСвойств(НС,СтрокаАкта,"Всего,НДС");	
		КонецЕсли;
	КонецЕсли;
	//-------------------------------------------  	
	НС.Сумма = НС.Всего - НС.НДС;   
	НС.Услуга = ОчиститьУслугуФИТ(СтрокаАкта.Наименование);
	НС.ПорядокОтражения = ПП.ПорядокОтражения;
	
	РасходЗаготовка.Услуги.Добавить(НС);
КонецЦикла;
```

# История изменений Загрузка расходов СБИС

## [26.04.24](https://cloud.accounter.org/index.php/f/229692)

Все изменения сведены в один модуль.

# СБИС + БЭ

Дружит СБИС + БЭ

# СБИС + БЭ

Данный модуль дополняет функционал модуля СБИС для 1С для работы с БЭ. Он меняет строки исходящих документов в соответствие с ПФ БЭ, дополняет функционалом, позволяющим сопоставлять входящие документы с введёнными расходами, открывать расходы, подгружать подтверждающие документы к расходам.

## Обновление СБИС

Этот модуль выполнен без изменения обновляемой части обработки сбис, поэтому с ним не требуется ручной перенос изменений при обновлении БЭ. То есть, теперь можно включить автоматическое обновление СБИС:

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/1pAimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/1pAimage.png)

Стандартный функционал, с помощью которого можно обойтись без обновления, накладывает ограничение, которым мы пренебрегали ранее. Р**анее, при утверждении в СБИС документа от поставщика сразу же происходила загрузка подтверждающих документов с вашей ЭЦП, только что поставленной. Теперь, чтобы обновить сканы подтверждающих документов к поступлениям, которые вы только что утвердили, нужно обновить статусы документов СБИС:**

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/8RMimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/8RMimage.png)  
При этом неважно, где вы будете утверждать документ, в 1С или личном кабинете СБИС. При обновлении статуса, утверждённые документы будут подгружены автоматически, разом все. Таким образом, процедура сопоставления документа с номером будет происходит быстрее, так как при утверждении не подкачиваются сканы.   
  
**Таким образом, единственное отличие от того "что было" в том, что в после утверждения массы входящих документов, необходимо один раз обновить статусы.**  Если не выполнить обновление статусов сразу, то утверждённые документы будут подкачены при следующем обновлении. Это встроенная функция СБИС (контролировать статусы документов), она хорошо работает.

### Входящие документы

Контекстное меню (вызываемое щелчком правой кнопки мыши) дополнено функциями "Привязать сканы" и "Открыть расход":

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/fAHimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/fAHimage.png)

#### Привязать сканы

Считывает основные параметры пакета документов, подбирает расход, устанавливает связь с ведомыми расходом документами (счет,акт,сф) и электронными документами:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/qY4image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/qY4image.png)  
, подгружает файлы пакета к расходу:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/cgHimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/cgHimage.png)

##### Подгрузка утверждённых

При установленном флаге "подгружать файлы утверждённых к расходам" в настройках модуля:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/0gNimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/0gNimage.png)  
, по нажатию "Обновить статусы":  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/qY4image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/qY4image.png)  
, сканы утверждённых вами документов от поставщиков будут обновлены (будет добавлена ваша подпись на сканах СБИС):[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/iDDimage.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/iDDimage.png)

#### Открыть расход

При установленной связи между электронным и 1С документом, открывает соответствующий расход.  
Наличие связи видно по иконке в столбце 1С, в списке полученных документов:

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2023-11/scaled-1680-/qY4image.png)](https://wiki.accounter.org/uploads/images/gallery/2023-11/qY4image.png)

### Исходящие документы

Меняет номер документа, строки документа (отражает свёртки) в соответствие с данными БЭ (Счет,Акт,СФ,УПД,УКД). Меняет продавца  
Корректирует адреса и КПП получателя и отправителя в соответствие с данными, отражёнными в истории 1С.

#### Корректировка продавца

Чтобы в Сф,СфКор,УПД,УКД попадал правильный продавец, в случае его изменения, нужно зайти в каталог настроек СБИС (по умолчанию C:\\Sbis1C\\БУХ3), зайти в папку xslt, скопировать **СчФктр\_1115131\_3\_01\_5\_03.sbis3.xslt**, новый файл назвать **СчФктр\_1115131\_3\_01\_5\_03.xslt**, заменить блок:

```
<СвПрод>
	<xsl:if test="//Файл/Документ/Отправитель/СвФЛ">
		<xsl:attribute name="СокрНаим">
			<xsl:value-of select="//Файл/Документ/Отправитель/@Название"/>
	</xsl:attribute>
	</xsl:if>
	<xsl:call-template name="РассчитатьСторону">
		<xsl:with-param name="node" select="//Файл/Документ/Отправитель"/>
	</xsl:call-template>
</СвПрод>
```

на:

```
                  <xsl:choose>
						<xsl:when test="//Файл/Документ/СписокПродавцов">
							<xsl:for-each select="//Файл/Документ/СписокПродавцов">
								<СвПрод>
									<xsl:if test="СвФЛ">
										<xsl:attribute name="СокрНаим">
											<xsl:value-of select="@Название"/>
										</xsl:attribute>
									</xsl:if>
								<xsl:call-template name="РассчитатьСторону">
									<xsl:with-param name="node" select="."/>
								</xsl:call-template>
							</СвПрод>
							</xsl:for-each>
						</xsl:when>											
						<xsl:when test="//Файл/Документ/Продавец">
							<СвПрод>
							<xsl:if test="//Файл/Документ/Продавец/СвФЛ">
								<xsl:attribute name="СокрНаим">
									<xsl:value-of select="//Файл/Документ/Продавец/@Название"/>
								</xsl:attribute>
							</xsl:if>
							<xsl:call-template name="РассчитатьСторону">
								<xsl:with-param name="node" select="//Файл/Документ/Продавец"/>
							</xsl:call-template>
						</СвПрод>
						</xsl:when>
						<xsl:otherwise>
							<СвПрод>
								<xsl:if test="//Файл/Документ/Отправитель/СвФЛ">
									<xsl:attribute name="СокрНаим">
										<xsl:value-of select="//Файл/Документ/Отправитель/@Название"/>
									</xsl:attribute>
								</xsl:if>
								<xsl:call-template name="РассчитатьСторону">
									<xsl:with-param name="node" select="//Файл/Документ/Отправитель"/>
								</xsl:call-template>
							</СвПрод>
						</xsl:otherwise>
					</xsl:choose>
```

Тоже самое нужно сделать с **УпдСчфДоп\_1115131\_3\_01\_5\_03.sbis3.xslt**

##### Изменение продавца в корректировке

Скопировать **УкдКсчфДис\_1115133\_3\_01.sbis3.xslt** в **УкдКсчфДис\_1115133\_3\_01.xslt** заменить блок:

```
<СвПрод>
  <xsl:call-template name="СвПродПокТип">
  <xsl:with-param name="node" select="//Файл/Документ/Отправитель"/>
  </xsl:call-template>
</СвПрод>
```

на:

```
                  <xsl:choose>
					   <xsl:when test="//Файл/Документ/СписокПродавцов">
						<xsl:for-each select="//Файл/Документ/СписокПродавцов">
							<СвПрод>
								<xsl:call-template name="СвПродПокТип">
								<xsl:with-param name="node" select="."/>															
								</xsl:call-template>
							</СвПрод>
						</xsl:for-each>						
					  </xsl:when>
					  <xsl:when test="//Файл/Документ/Продавец">
						<СвПрод>
							<xsl:call-template name="СвПродПокТип">
							<xsl:with-param name="node" select="//Файл/Документ/Продавец"/>															
							</xsl:call-template>
						</СвПрод>
					  </xsl:when>
					  <xsl:otherwise>
						<СвПрод>
							<xsl:call-template name="СвПродПокТип">
							<xsl:with-param name="node" select="//Файл/Документ/Отправитель"/>															
							</xsl:call-template>
						</СвПрод>
						</xsl:otherwise>
					</xsl:choose>
```

Тоже самое делаем с **счФактКор\_1115133\_3\_01.sbis3**

# Печатные формы



# Акт сверки с нумерацией БЭ

[АктСверки БЭ](https://cloud.accounter.org/index.php/f/234620)

Стандартный акт сверки, с нумерацией БЭ.   
Стоимость - 2 часа разово

## 06.12.24

Добавлены корректировки[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-12/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-12/image.png)

## 3.0.153.18

В стандартный Акт сверки c [infostart, ](https://infostart.ru/1c/reports/1237609/)добавлен документ в запрос со стороны клиента: [![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-06/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-06/image.png)  
Добавлены две строки, меняющие строки с номерами, в соответствие нумерации БЭ (только реализации):  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-06/scaled-1680-/FAkimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-06/FAkimage.png)

Подпись немного увеличена, смещена вниз. (В пользовательском режиме нельзя поменять)  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-06/scaled-1680-/noQimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-06/noQimage.png)

# Финансовые блокировки грузоперевозок

Модуль предназначен для разграничения доступа к грузоперевозкам находящимся на разных этапах.  
  
Для этого в финансовых статусах грузоперевозок устанавливается уровень финансовой блокировки:  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/image.png)  
Уровень доступа к редактированию грузоперевозок с финансовой блокировкой устанавливается у группы пользователей.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/eakimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/eakimage.png)  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/BEOimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/BEOimage.png)  
  
Таким образом финансы грузоперевозок с уровнем Бухгалтерия (1) обычные пользователи редактировать не смогут, а условные финансисты могут.  
Уровень блокировки Исключительная (2) предназначен для полного закрытия грузоперевозки. *(Чтобы и финансисты не могли его редактировать).*   
  
Соответствие доступа роли группы пользователей к редактированию финансов грузоперевозок с различными уровнями доступа:

<table border="1" id="bkmrk-%D0%9C%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80-%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE" style="border-collapse: collapse; width: 100%; height: 169.219px;"><colgroup><col style="width: 25.0271%;"></col><col style="width: 25.0271%;"></col><col style="width: 25.0271%;"></col><col style="width: 25.0271%;"></col></colgroup><tbody><tr style="height: 29.7017px;"><td style="height: 29.7017px;">  
</td><td style="height: 29.7017px;">Менеджер грузоперевозки</td><td style="height: 29.7017px;">Финансисты</td><td style="height: 29.7017px;">Администрация</td></tr><tr style="height: 46.5057px;"><td style="height: 46.5057px;">Грузоперевозки без уровня блокировки</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td></tr><tr style="height: 46.5057px;"><td style="height: 46.5057px;">Грузоперевозки с уровнем Бухгалтерия (1)</td><td class="align-center" style="height: 46.5057px;">Запрещено❌</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td></tr><tr style="height: 46.5057px;"><td style="height: 46.5057px;">Грузоперевозки с уровнем Исключительная (2)</td><td class="align-center" style="height: 46.5057px;">Запрещено❌</td><td class="align-center" style="height: 46.5057px;">Запрещено❌</td><td class="align-center" style="height: 46.5057px;">Разрешено[✔️](https://emojis.wiki/ru/galochka/)</td></tr></tbody></table>

  
 При открытии пользователю будет показан текущий статус блокировки. И в случае изменения грузоперевозка блокируется   
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/jn5image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/jn5image.png)  
У пользователей с достаточными правами - редактирование будет разрешено  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/rqWimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/rqWimage.png)  
Блокировка также касается изменения строк в документах расходов и доходов по грузоперевозкам.   
Важно! Блокируется не весь документ, а только заблокированные строки.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/pG6image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/pG6image.png)

# Заполнение параметров грузоперевозок по умолчанию

Модуль предназначенный для бухгалтерии экспедитора позволяющий настроить автоматическое заполнение оперативного менеджера, менеджера продаж грузоперевозки и другие параметры из дополнительных реквизитов контрагента при изменении клиента: [![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-08/scaled-1680-/0reimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-08/0reimage.png)При копировании грузоперевозки параметры так же перезаполняются.

Настройка:  
Обработка: "Заполнение параметров грузоперевозок по умолчанию настройки"  
Или по ссылке: e1cib/app/Обработка.ITSPM\_ЗаполнениеПарметровГрузоперевозокПоУмолчанию\_Настройки  
  
В настройках необходимо указать дополнительные реквизиты контрагентов отвечающих за оперативного менеджера ,менеджера продаж и другие параметры переносимые в грузоперевозку:

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-04/scaled-1680-/P41image.png)](https://wiki.accounter.org/uploads/images/gallery/2025-04/P41image.png)

# Блокировка бюджета по финансовым статусам

Позволяет установить уровень блокировки бюджета по финансовому статусу грузоперевозки.   
Нет - без блокировки.   
Бухгалтерия - разрешение на редактирование есть у группы пользователей с аналогичным уровнем доступа или выше.  
Полная - разрешение есть только у пользователей с аналогичным доступом или пользователям с правами администратора.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/image.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/image.png)  
Подразумевается, что уровень блокировки бюджета будет установлен по нарастающей от раннего статуса к более поздним. Если статусу с порядковым номером будет 3 будет установлен уровень блокировки «Бухгалтерия», тогда всем последующим статусам следует установить уровень не ниже. В ином случае уровень блокировки будет снижен с продвижением грузоперевозки по финансовым статусам, что позволит редактировать бюджеты на более поздних стадиях.

Установка уровня доступа для группы устанавливается в настройках группы в разделе «Бюджетирование».

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/n7limage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/n7limage.png)

При открытии бюджета из грузоперевозки форма будет недоступна к редактированию

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/O6Eimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/O6Eimage.png)

Любая другая попытка изменения бюджета вне соответствии уровня доступа будет сопровождаться ошибкой:  
"Редактирование бюджета запрещено"

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/E5Rimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/E5Rimage.png)

# Редактирование дат блокировок в журнале

Модуль добавляет кнопки блокировки и снятия блокировки мониторинга и финансов по выделенным строкам журнала  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/y2pimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/y2pimage.png)

Наличие самих кнопок, а также доступных в них опций зависит от настроек группы пользователя  
Право установки блокировки мониторинга задается настройкой "Блокировка мониторинговых параметров" на вкладке "Мониторинг". Право установки блокировки финансов задается настройкой "Установка блокировки" на вкладке "Финансы".  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/qHbimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/qHbimage.png)

Право на снятие блокировок задается настройками "Отмена блокировки мониторинговых параметров" на вкладке "Мониторинг" и "Снятие блокировки" на вкладке "Финансы" соответственно.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/oUoimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/oUoimage.png)

Обращаем внимание, что в модуле бухгалтерия экспедитора блокировка грузоперевозок с установленными заказами блокирует весь заказ со всеми грузоперевозками. В примере 2 грузоперевозки из одного заказа и заблокировав одну из них - заблокируется и вторая.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/CBCimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/CBCimage.png)  
Вторая грузоперевозка тоже заблокировалась.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2024-09/scaled-1680-/cdZimage.png)](https://wiki.accounter.org/uploads/images/gallery/2024-09/cdZimage.png)

# Установка статусов договоров по ГП



# Описание механизма добавления статусов договоров по ГП с отбором в списике

#### Описание модуля

Данный модуль добавляет и обновляет статусы договоров по грузоперевозкам на основании активности клиентов.

Предусмотрен следующий набор статусов:

1. **Не работаем более 5 лет** - прошло более 5 лет с последнего взаимодействия.
2. **Не работаем более 2 лет** - прошло более 2 лет, но менее 5 лет с последнего взаимодействия.
3. **Не работаем более 1 года** - прошло более 1 года, но менее 2 лет с последнего взаимодействия.
4. **Новый клиент (работаем менее 1 года)** - прошло менее 1 года с даты заключения договора.
5. **Текущий клиент (работаем более года, но менее 2 лет)** - с даты заключения договора прошло более 1 года, но менее 2 лет, и в течении последнего года были перевозки.
6. **Старый клиент (работаем более 2 лет)** - с даты заключения договора прошло более 2 лет, и в течении последнего года были перевозки.

Статус договора выведен в карточке договора на вкладке "Опции"

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-01/scaled-1680-/i7Qimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-01/i7Qimage.png)

Дополнительно статус договора выведен в список договоров по грузоперевозкам

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-01/scaled-1680-/PvAimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-01/PvAimage.png)

Для настройки списка откройте меню настроек "Еще" -&gt; "Настроить список".

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-01/scaled-1680-/JVlimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-01/JVlimage.png)

В открывшемся окне настройте требуемые отборы, группировки или условное оформление по полю "Статус договора".

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-01/scaled-1680-/mbXimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-01/mbXimage.png)

####   


#### Порядок обновления статусов

Статусы договоров по грузоперевозкам обновляются в двух случаях:

1. регламентным заданием по расписанию 1 раз в сутки по всем договорам (не помеченных на удаление);
2. при проведении дохода по грузоперевозке для соответствующего договора.

# Данные грузоперевозок

Расширение ITSPM данные грузоперевозок - это библиотека по взаимодействию с данными грузоперевозок, заявок, заказов

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-04/scaled-1680-/4RVimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-04/4RVimage.png)

В расширении имеется примеры с использованием самых простых функций модуля.   
Все примеры на форме обработки "**ITSPM\_ДанныеГрузоперевозок\_Пример**".  
Где можно интерактивно добавить список грузоперевозок и список параметров для получения.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/r7cimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/r7cimage.png)  
Разные кнопки получают одни и те же данные разыми способами:  
**ПолучитьЗначениеГрузоперевозки** - возвращает значение одного параметра для одной грузоперевозки  
**ПолучитьЗначениеГрузоперевозок** - возвращает соответствие: грузоперевозка -&gt; значение одного параметра  
**ПолучитьЗначенияГрузоперевозки** - возвращает строку табличной части с значениями параметров для N грузоперевозок  
**ПолучитьЗначенияГрузоперевозок** - возвращает либо соответствие (1) грузоперевозка -&gt; строка табличной части с значениями параметров, либо таблицу значения (2) с данными N грузоперевозок и N параметров

<details id="bkmrk-%D0%9A%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B4%D0%B0%D1%82%D1%8B-%D0%94%D0%BB%D1%8F"><summary>Контрольные даты</summary>

Для варианта с использованием данных (план/факт) из контрольных дат сделаны отдельные кнопки.   
Поскольку для контрольных дат можно хранить 3 значения: План, Факт и Значение

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/pMNimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/pMNimage.png)

Функция **ПолучитьИмяПоляПараметраДляКомпоновки** вернет соответствующее аспекту имя поля.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/5Rzimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/5Rzimage.png)

А функции ПолучитьЗначениеГрузоперевозки указание того нужен ли вам план, факт или значение зашито в саму функцию получения параметра.  
[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/Mneimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/Mneimage.png)

</details>Ключевое отличие от соответствующих стандартных функций (**ЗначениеРеквизитаОбъекта** и пр.) это упор на параметры грузоперевозок.   
Имея просто ссылку на параметр и ссылку на грузоперевозку - можно получить значение в одно действие.   
\- Запрос будет делаться используя схему компоновки данных.  
\- Значение будет иметь тот тип значения который предполагается переданным параметром.  
\- Помимо данных самой грузоперевозки можно получить такие данные как МониторинговыйСтатус, \_ФинансовыйСтатус, ДатаЗакрытияМониторинга и ДатаЗакрытияФинансов

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/ty2image.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/ty2image.png)

<details id="bkmrk-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2"><summary>Параметры параметров</summary>

Так же запрашиваемы поля могут быть более сложными например такой:  
Ссылка.\[(пг) Партнер\].\[Адрес для отправки заявок (Контрагенты)\]

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/5Shimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/5Shimage.png)Где параметр грузоперевозки с названием "Партнер" имеет тип значения контрагент, который в свою очередь позволяет получить данные в том числе и дополнительных реквизитов контрагента.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/D63image.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/D63image.png)

</details><details id="bkmrk-%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F-%D0%9F%D1%80"><summary>Функции "Получить значения" и имена колонок</summary>

При использовании функций **ПолучитьЗначенияГрузоперевозки** и **ПолучитьЗначенияГрузоперевозок**  
Вы можете столкнуться с тем, что список полей вы отправляете такой

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/lcJimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/lcJimage.png)

А имена колонок получаются вот такие.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/qOjimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/qOjimage.png)  
  
Для этого и нужна функция **ПолучитьСоответствиеПолейДляРезультата** которая вернет вам соответствие того что вы отправляли для получения данных и имена колонок в результате.

[![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/WTMimage.png)](https://wiki.accounter.org/uploads/images/gallery/2025-03/WTMimage.png)

</details><details id="bkmrk-%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B3%D1%80%D1%83%D0%B7%D0%BE%D0%BF"><summary>Запись данных грузоперевозок</summary>

В модуле есть раздел с записью грузоперевозок.   
Скорее всего раздел работает, но он не протестирован должным образом на совместимость с некоторыми другими проектами в работе.   
Плюс к этому я еще не написал для них примеров использования.   
Можно сказать это бета-тест  
![image.png](https://wiki.accounter.org/uploads/images/gallery/2025-03/scaled-1680-/mgQimage.png)  
Ключевые функции этого раздела   
УстановитьЗначениеПараметраГП и УстановитьЗначениеПараметраГП\_ПоИсточнику  
Разница между ними в том, что УстановитьЗначениеПараметраГП сама получает объект и записывает в него данные.  
А УстановитьЗначениеПараметраГП\_ПоИсточнику принимает в себя справочник-объект и вводит изменения в этот объект не записывая его - используется если нужно изменить 2 и более параметра в одной грузоперевозке.

</details>