Дополнительные возможности

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

При изменении статуса документа

Если для документов при смене статуса требуется вносить изменения, например в связанный документ 1С, тогда следует использовать функцию ПослеУстановкиСтатусаДокумента.

Функция выполняется после нажатия на кнопку «Обмен с сервером» и при отправке ответа по входящему документу.

Пример записи в комментарий отправленного документа 1С о том, что он подписан контрагентом:

ДокументДД = Параметры.ДокументДД;
Статус = Параметры.Статус;

Если Найти(Статус, "Подписан") > 0
    И ДокументДД.Документ <> Неопределено Тогда

    Документ1С = ДокументДД.Документ.ПолучитьОбъект();

    Документ1С.Комментарий = "Подписан";
    Документ1С.ОбменДанными.Загрузка = Истина;

    Документ1С.Записать();

КонецЕсли;

Возврат Истина;

Переопределение типов Организации и Контрагентов

Для нетиповых конфигураций может потребоваться изменить тип значения Организации и Контрагентов. В том числе для запросов.

Функция ОпределитьТипЗначенияОбъекта предназначена для получения нужного типа по синониму.

Обращение к ней происходит в следующих случаях:

  • при открытии форм организаций и контрагентов в модуле
  • при определении типов значений для отборов СКД и быстрых отборов
  • при получении списка контрагентов
  • при групповом сопоставлении контрагентов

Типовой вариант функции:

Если Параметры.Синоним = "Организации" Тогда
    Результат = "СправочникСсылка.Организации";
ИначеЕсли Параметры.Синоним = "Контрагенты" Тогда
    Результат = "СправочникСсылка.Контрагенты";
Иначе
    Результат = Неопределено;
КонецЕсли;

Фильтр контрагентов для приглашения

В форме списка контрагентов модуля есть возможность оправить приглашение контрагентам из списка 1С.

В раздел «Поиск и приглашение» попадают те контрагенты, с которыми нет партнерских отношений.

Часто в списке контрагентов 1С есть те, с кем уже нет взаимодействий.

Для возможности фильтровать такие варианты, существует функция ПолучитьКоличествоДокументовЗаПериод, которая определяет значение поля «ДокументовЗаПериод».

По умолчанию происходит оценка количества накладных с контрагентами за 3 месяца. Но этот период, а также состав документов для отбора, можно изменять.

Пример запроса для расчета количества документов «Реализация товаров и услуг»:

Запрос.Текст =
       "ВЫБРАТЬ РАЗРЕШЕННЫЕ
        | РеализацияТоваровУслуг.Контрагент КАК Связь1,
        | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РеализацияТоваровУслуг.Ссылка) КАК ДокументовЗаПериод
        |ПОМЕСТИТЬ ВТ_Документы
        |ИЗ
        | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        |ГДЕ
        | РеализацияТоваровУслуг.Проведен = ИСТИНА
        | И РеализацияТоваровУслуг.Организация = &Организация
        | И РеализацияТоваровУслуг.Дата >= &ДатаНачала
        | И РеализацияТоваровУслуг.Контрагент В(&МассивКонтрагентов)
        |
        |СГРУППИРОВАТЬ ПО
        | РеализацияТоваровУслуг.Контрагент
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        | ВТ_Документы.Связь1 КАК Связь1,
        | СУММА(ВТ_Документы.ДокументовЗаПериод) КАК ДокументовЗаПериод
        |ИЗ
        | ВТ_Документы КАК ВТ_Документы
        |
        |СГРУППИРОВАТЬ ПО
        | ВТ_Документы.Связь1";