var
  vCfg_ParseIK_ZR_ZS_ZN_2857: boolean;
//  vCfg_ParseIK_SPD_2857: boolean;

{~Check_2857_
  exchange #2857
  если в конфиге выбран параметр «Создавать дополнительные документы»
  =«Справки по расходам, доходам, источникам» или =НЕТ.
  то эд по разделам ZR,ZS,ZN не создаем, делаем запись в логе
  и возвращаем =FALSE.
  если выбрано другое значение параметра, здесь ничего не делаем
  и возвращаем =TRUE.

  сообщение пишется (по умолчанию) в журнал Info, поскольку в старом коде,
  описание создаваемых ЭД пишется в этот журнал.
  в принципе - это не совсем правильно, поскольку это не ошибка и даже
  не предупреждение.}
function Check_2857_( aWriteLog: boolean = FALSE): boolean;
begin

    try
      if vCfg_ParseIK_ZR_ZS_ZN_2857 then begin
        if aWriteLog
          then WriteLog( 'ЭД не создан по значению параметра конфигурации «Создавать дополнительные документы».')
          else WriteInfo( 'ЭД не создан по значению параметра конфигурации «Создавать дополнительные документы».');
        Result := FALSE;
      end else begin
        Result := TRUE;
      end;

      except
        ExceptionLog( 'Сбой Un_Exch2857.Check_2857_');
    end;

end;


(*
{~Check_SPD_2857_
  exchange #2857
  возвращает:
    =true, если значение параметра конфигурации
            «Создавать дополнительные документы»
              =«Справки по расходам, доходам, источникам»
    =false - в остальных случаях.

  в журнал ничего не пишется}
function Check_SPD_2857_: boolean;
begin

    try
      Result := vCfg_ParseIK_SPD_2857;
      except
        ExceptionLog( 'Сбой Un_Exch2857.Check_SPD_2857_');
    end;

end;
*)

{~CfgParameter2857
  exchange #2857
  разбор параметра конфигурации «Создавать дополнительные документы»

  1.	изменить условия формирования ЭД из блоков ZR, ZS, ZN следующим образом:
        Добавить в условие НЕ формирования ЭД при разборе блоков:
        если параметр «Создавать дополнительные документы» имеет значение
        «Нет» или  «Справки по расходам, доходам, источникам».
  2.	При разборе блока SPD формировать ЭД класса 35, 39, 40.
       добавим доп.переменную, которая будет =true, если выбрано значение:
       «Нет» или  «Справки по расходам, доходам, источникам».

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

  на разбор секций SPD он не влияет, только на ZR,ZS,ZN.}
procedure CfgParameter2857( aParamValue: integer);
begin

    try
      vCfg_ParseIK_ZR_ZS_ZN_2857 := (aParamValue in [0,5]);
//      vCfg_ParseIK_SPD_2857      := (aParamValue = 5);

      except
        ExceptionLog( 'Сбой Un_Exch2857.CfgParameter2857');
    end;

end;

begin
end.
