Обязательные настройки Shelter для работы с ФФД 1.05/1.1
В данном мануале будут публиковаться обязательные настройки в ПО Shelter для корректной работы с ФФД 1.05/1.1
1. В версии 2.12.126.2650 для каждого пользователя необходимо прописать ИНН в карточке пользователя :

В логе универсального драйвера будет фигурировать следующая информация : 

<FiscalDocument DocType="Receipt">
  <Header>
    <Restaurant Code="" Name=""/>
    <Operator Id="1" Code="1" Name="Сазонов Алексей Владимирович" TaxPayerIdNum="504536897787898"/>
    <Station Id="0" Code="" Name=""/>
    <CustomProperties/>
    <Unfiscal Slip="0" CutAfter="0">
      <TextBlock>Комната: Киоск портье
Фолио: 501</TextBlock>
    </Unfiscal>
  </Header>
  <Receipt DocNumber="9" TaxType="0" Guid="7" Time="2018-10-30T18:18:12">
    <Order Table="">
      <Operator Code="1" Name="Сазонов Алексей Владимирович"/>
    </Order>
    <Items>
      <Item Name="Проживание" Code="100" Quantity="1000" Department="0" Value="5000" PricePerOne="5000" PriceToPay="5000" ForAdvance="0" Id="1">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="6" TaxValue="0"/>
        </Taxes>
      </Item>
    </Items>
    <Payments>
      <Payment Name="Наличный расчет" Code="910" ShortName="910" TypeIndex="1" Id="14" Value="5000"/>
    </Payments>
  </Receipt>
</FiscalDocument>

Значение параметра TaxPayerIdNum = значение ИНН в карточке пользователя
2. В версии 2.12.126.2700 реализована передача ППР (признак предмета расчета) в универсальный драйвера (УД) и оператору фискальных данных (ОФД).
Для настройки ППР необходимо : 
1. В настройках системы включить чек-бокс "Использовать ФФД 1.05" - Сохранить
2. ППР по умолчанию - Товар

2. После включения этой опции, в карточке услуги появляется новое поле "Предмет расчета" (1 на рисунке): 

 3. Данные признаки предмета расчета берутся из справочников ("Настройки" - "Справочники" - "Справочники" - "Предмет расчета"):

ВНИМАНИЕ! Данные признаки редактировать не рекомендуется!
4. Признак предмета расчета (тег 1212) в логах УД фигурирует как ItemKind. Значением этого параметра являются значения реквизита из справочника предмета расчета (см. п.3), то есть в УД мы передаем значение реквизита (от 1 до 18), а не его название.
5. Для услуг, которые были начислены из R_Keeper используется тот предмет расчета, который указан для услуги в Shelter, для модуля Медицина - аналогичная ситуация, как и с услугами R_Keeper.
6. На чеке печатаются следующие предметы расчета : 

ItemKind="1" - Товар
ItemKind="2" - Подакцизный товар
ItemKind="3" - Работа
ItemKind="4" - Услуга
ItemKind="5" - Ставка азартной игры
ItemKind="6" - Выигрыш азартной игры
ItemKind="7"* - в Shelter - Лотерейный билет, на чеке - Лотерейный билет, в ОФД - Ставка лотереи
ItemKind="8" - Выигрыш лотереи
ItemKind="9" - Предоставление РИД
ItemKind="10"* - в Shelter - Платеж, на чеке - ПЛАТЕЖ(ВЫПЛАТА), в ОФД - Выплата
ItemKind="11" - Агентское вознаграждение
ItemKind="12" - Составной предмет расчета
ItemKind="13" - Иной предмет расчета
 
7. На чеке не печатаются и не передаются следующие предметы расчета :
ItemKind="18" - Курортный Сбор
ItemKind="17" - Торговый Сбор
ItemKind="16" - Страховые взносы
ItemKind="15" - Внереализационный доход
ItemKind="14" - Имущественное право

В логе универсального драйвера будет фигурировать следующая информация : 

<?xml version="1.0"?>
<FiscalDocument DocType="Receipt">
  <Header>
    <Restaurant Code="" Name=""/>
    <Operator Id="1" Code="2147483647" Name="ucs" TaxPayerIdNum=""/>
    <Station Id="0" Code="" Name=""/>
    <CustomProperties/>
    <Unfiscal Slip="0" CutAfter="0">
      <TextBlock>Комната: 125
Фолио: 1067</TextBlock>
    </Unfiscal>
  </Header>
  <Receipt DocNumber="18" TaxType="0" Guid="112" Time="2018-12-04T19:51:20">
    <Order Table="">
      <Operator Code="2147483647" Name="ucs"/>
    </Order>
    <Items>
      <Item Name="Падение луны" Code="118" Quantity="1000" Department="0" Value="18000" PricePerOne="18000" PriceToPay="18000" ItemKind="0" PaymentKind="4" Id="1">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Падение метеорита" Code="117" Quantity="1000" Department="0" Value="17000" PricePerOne="17000" PriceToPay="17000" ItemKind="18" PaymentKind="4" Id="2">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Падение Олипма" Code="116" Quantity="1000" Department="0" Value="16000" PricePerOne="16000" PriceToPay="16000" ItemKind="17" PaymentKind="4" Id="3">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Восстание машин" Code="115" Quantity="1000" Department="0" Value="15000" PricePerOne="15000" PriceToPay="15000" ItemKind="16" PaymentKind="4" Id="4">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание машин" Code="114" Quantity="1000" Department="0" Value="14000" PricePerOne="14000" PriceToPay="14000" ItemKind="15" PaymentKind="4" Id="5">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание роботов" Code="113" Quantity="1000" Department="0" Value="13000" PricePerOne="13000" PriceToPay="13000" ItemKind="14" PaymentKind="4" Id="6">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание взрослых" Code="112" Quantity="1000" Department="0" Value="12000" PricePerOne="12000" PriceToPay="12000" ItemKind="13" PaymentKind="4" Id="7">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание взрослых младенцев" Code="111" Quantity="1000" Department="0" Value="11000" PricePerOne="11000" PriceToPay="11000" ItemKind="12" PaymentKind="4" Id="8">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание взрослых детей" Code="110" Quantity="1000" Department="0" Value="11000" PricePerOne="11000" PriceToPay="11000" ItemKind="11" PaymentKind="4" Id="9">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание детей" Code="109" Quantity="1000" Department="0" Value="10000" PricePerOne="10000" PriceToPay="10000" ItemKind="10" PaymentKind="4" Id="10">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание группы" Code="108" Quantity="1000" Department="0" Value="9000" PricePerOne="9000" PriceToPay="9000" ItemKind="9" PaymentKind="4" Id="11">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание просто" Code="107" Quantity="1000" Department="0" Value="8000" PricePerOne="8000" PriceToPay="8000" ItemKind="8" PaymentKind="4" Id="12">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание на полу" Code="106" Quantity="1000" Department="0" Value="7000" PricePerOne="7000" PriceToPay="7000" ItemKind="7" PaymentKind="4" Id="13">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание на матрасе" Code="105" Quantity="1000" Department="0" Value="6000" PricePerOne="6000" PriceToPay="6000" ItemKind="6" PaymentKind="4" Id="14">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание на раскладушке" Code="104" Quantity="1000" Department="0" Value="5000" PricePerOne="5000" PriceToPay="5000" ItemKind="5" PaymentKind="4" Id="15">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="1" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Бронирование" Code="103" Quantity="1000" Department="0" Value="4000" PricePerOne="4000" PriceToPay="4000" ItemKind="4" PaymentKind="4" Id="16">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="6" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Ранний заезд" Code="102" Quantity="1000" Department="0" Value="3000" PricePerOne="3000" PriceToPay="3000" ItemKind="3" PaymentKind="4" Id="17">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="5" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Поздний выезд" Code="101" Quantity="1000" Department="0" Value="2000" PricePerOne="2000" PriceToPay="2000" ItemKind="2" PaymentKind="4" Id="18">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="5" TaxValue="0"/>
        </Taxes>
      </Item>
      <Item Name="Проживание" Code="100" Quantity="1000" Department="0" Value="1000" PricePerOne="1000" PriceToPay="1000" ItemKind="1" PaymentKind="4" Id="19">
        <Taxes>
          <Tax RateValue="0" TaxRateIndex="2" TaxValue="0"/>
        </Taxes>
      </Item>
    </Items>
    <Payments>
      <Payment Name="Наличный расчет" Code="910" TypeIndex="1" Id="1" Value="182000"/>
    </Payments>
  </Receipt>
</FiscalDocument>

3В версии 2.12.126.2700 реализована передача ПСР (признак способа расчета) в универсальный драйвера (УД) и оператору фискальных данных (ОФД).
Для настройки ПСР необходимо : 
1. В настройках системы включить чек-бокс "Использовать ФФД 1.05" - появляются дополнительные настройки.
2. ППР для авансовых платежей - Платеж
ПСР для частичной предоплаты - ПРЕДОПЛАТА
ПСР для полной предоплаты - ПРЕДОПЛАТА 100%

ПСР для полного расчета установлено по умолчанию и не настраивается - ПОЛНЫЙ РАСЧЕТ
3. 
В настройках подключения ФР в Shelter (Сервисы и оборудования) выставить необходимое значение в "Код типа платежа предоплаты(аванса)" - данный код будет передаваться при "закрытии" оплаты (ПОЛНЫЙ РАСЧЕТ) :

Данный код берётся из настроек фискального регистратора (типы оплат), можно найти через тест драйвера 
На тестовом ФР Retail-01K код типа платежа предоплаты (аванса) - 14 :

На тестовом ФР АТОЛ - 3 : 

ВНИМАНИЕ!!! Коды типов оплат необходимо смотреть через тест-драйвера, указанные выше коды - это примеры.
Каждому ПСР соответствует свой PaymentKind в логах УД : 
а) При ПРЕДОПЛАТА 100% передается 
PaymentKind="1"
б) При ПРЕДОПЛАТА  передается PaymentKind="2"
в) При АВАНС передается PaymentKind="3"
г) При ПОЛНЫЙ РАСЧЕТ передается PaymentKind="4"
4
В версии 2.12.126.2700 реализована печать чека коррекции
Для настройки возможности печати чека коррекции необходимо : 
1. В настройках системы включить чек-бокс "Использовать ФФД 1.05" 
2. В настройках системы включить чек-бокс "Использовать чек коррекции"

3. В "Сервисы и оборудование", для каждого подключенного через УД фискального регистратора, необходимо выставить "Код ФФД" (теги) для каждого кода налога в фиск.регистраторе. Коды тегов ФФД можно запросить у ЦТО, либо воспользоваться этой ссылкой

В логе универсального драйвера будет фигурировать следующая информация после печати чека коррекции : 

<FiscalDocument DocType="CorrectionReceipt">
  <Header>
    <Restaurant Code="" Name=""/>
    <Operator Id="1" Code="2147483647" Name="ucs" TaxPayerIdNum=""/>
    <Station Id="0" Code="" Name=""/>
    <CustomProperties/>
  </Header>
  <FFD Code="31">
    <TLV Tag="1173" Value="0"/>
    <TLV Tag="1054" Value="1"/>
    <TLV Tag="1055" Value="4"/>
    <TLV Tag="1020" Value="13000"/>
    <TLV Tag="1031" Value="13000"/>
    <TLV Tag="1081" Value="0"/>
    <TLV Tag="1215" Value="0"/>
    <TLV Tag="1216" Value="0"/>
    <TLV Tag="1217" Value="0"/>
    <TLV Tag="1102" Value="1983"/>
    <TLV Tag="1103" Value="0"/>
    <TLV Tag="1104" Value="0"/>
    <TLV Tag="1105" Value="0"/>
    <TLV Tag="1106" Value="0"/>
    <TLV Tag="1107" Value="0"/>
    <TLV Tag="1021" Value="ucs"/>
    <TLV Tag="1203" Value=""/>
    <STLV Tag="1174">
      <TLV Tag="1177" Value="test"/>
      <TLV Tag="1178" Value="2018-12-07T00:00:00"/>
      <TLV Tag="1179" Value="test1"/>
    </STLV>
  </FFD>
</FiscalDocument>

5. Необходимо сопоставить коды типов оплат в ФР и в "Сервисы и оборудования" : 

Коды типов оплат фискального регистратора можно посмотреть через тест-драйвера. Примеры для АТОЛ и для Retail (ШТРИХ) есть выше по мануалу (см. п.3). Сопоставление кодов типов оплат необходимо для корректной работы 2-х и более ФР, если последовательность кодов типов оплат у этих ФР отличаются.
Например, для СПАРК код оплаты наличными - 8, электронными - 1, а для АТОЛ наличнымы - 1, электронными - 2. 

Тестирование выполнялось на фискальных регистраторах : АТОЛ 22Ф, Retail-01K, СПАРК-115Ф
Версия библиотек фискального драйвера : 
fpAtol54.dll - 7.48.166.0
fpShtr54.dll - 7.47.91.0
fpSpark54.dll - 7.46.49.0

Данные библиотеки можно скачать тут

Важно!!! 
ФР СПАРК не печатает чек коррекции, не открывает смену через открытие фискальной смены, а так же плохо воспринимает некоторые признакми предмета расчета - ФР СПАРК не рекомендуется к использованию
ФР ШТРИХ на чеке может не печатать признаки предмета расчета (зависит от прошивки и настроек ФР), однако данные в ОФД передает верные.