1. Ошибка показывает вам, что у вас заполнилась вторая позиция, а первая нет. Т.е. параметры контрольности в проводке есть, а самого контрагента - нет.
2. Я всегда работал с проводками, где есть только один контрагент. Дебитор работает по умолчанию, а с кредитором нужно писать замещение. Вот статья, где описан приблизительный способ: 
https://blogs.sap.com/2014/07/03/tbb1-u ... -postings/Возможно вам нужно дописать экзит, чтобы контрагенты подставлялись в обе позиции.
3. Что касается контрагентов в переоценке и реклассе, то опять же экзит,  развести логику обработки по коду транзакций и заполнять струтуры CH_ACCIT_D и CH_ACCIT_C. Тут нужно эксперементировать. У меня контрагент подставляется в проводку из тр. TPM44.
вот пример моей реализации контрагентов в проводке из TPM44. Для оценки и рекласс логика тоже должно работать.
Code:
* 2. ------ В тр. TPM44 нужно делать проводку на счет дебитора --------------------------------------------------
*    в тр. Для разграничения/начисления процентов по депозитам, должен быть Деловой партнер. Поэтому мы заменяем
*    технический счет Z999999999, который прописан в схеме проводки.
*----------------------------------------------------------------------------------------------------------------
    " Кредитор
    IF ch_accit_d-hkont = 'Z999999998' AND sy-tcode = 'TPM44'.
      SELECT SINGLE kontrh zztrm_tsel_dog rcomvalcl
        FROM vtbfha
        INTO ( bp, lv_tsel, lv_dk )
        WHERE bukrs = im_data-company_code AND rfha = im_data-deal_number.
      ch_accit_d-hkont = COND #( WHEN lv_tsel = 'Инвестиция' AND lv_dk = '1' THEN '6621000000' " %
                                 WHEN lv_tsel = 'Инвестиция' AND lv_dk = '3' THEN '6721000000' " %
                                 WHEN ( lv_tsel = 'Текущая' OR lv_tsel IS INITIAL ) AND lv_dk = '1' THEN '6611000000'    " %
                                 WHEN ( lv_tsel = 'Текущая' OR lv_tsel IS INITIAL ) AND lv_dk = '3' THEN '6711000000'    " %
                                 ELSE '7601020000' ).                                          " Все остальное
      ch_accit_d-koart = 'K'.
      ch_accit_d-bschl = '21'.
      IF sy-subrc = 0.
        SELECT SINGLE cvi~vendor FROM cvi_vend_link AS cvi
          INNER JOIN but000 AS bu ON bu~partner_guid = cvi~partner_guid
          INTO vendor
          WHERE bu~partner = bp.
        IF sy-subrc = 0.
          ch_accit_d-lifnr = vendor.
        ELSE.
          RAISE failed.
        ENDIF.
      ELSE.
        RAISE failed.
      ENDIF.
    ELSEIF ch_accit_c-hkont = 'Z999999998' AND sy-tcode = 'TPM44'.
      SELECT SINGLE kontrh zztrm_tsel_dog rcomvalcl
        FROM vtbfha
        INTO ( bp, lv_tsel, lv_dk )
        WHERE bukrs = im_data-company_code AND rfha = im_data-deal_number.
      ch_accit_c-hkont = COND #( WHEN lv_tsel = 'Инвестиция' AND lv_dk = '1' THEN '6621000000' " %
                                 WHEN lv_tsel = 'Инвестиция' AND lv_dk = '3' THEN '6721000000' " %
                                 WHEN ( lv_tsel = 'Текущая' OR lv_tsel IS INITIAL ) AND lv_dk = '1' THEN '6611000000'    " %
                                 WHEN ( lv_tsel = 'Текущая' OR lv_tsel IS INITIAL ) AND lv_dk = '3' THEN '6711000000'    " %
                                 ELSE '7601020000' ).                                          " Все остальное
      ch_accit_c-koart = 'K'.
      ch_accit_c-bschl = '31'.
      IF sy-subrc = 0.
        SELECT SINGLE cvi~vendor FROM cvi_vend_link AS cvi
          INNER JOIN but000 AS bu ON bu~partner_guid = cvi~partner_guid
          INTO vendor
          WHERE bu~partner = bp.
        IF sy-subrc = 0.
          ch_accit_c-lifnr = vendor.
        ELSE.
          RAISE failed.
        ENDIF.
      ELSE.
        RAISE failed.
      ENDIF.
      " Дебитор
    ELSEIF ch_accit_d-hkont = 'Z999999999' AND sy-tcode = 'TPM44'.
      ch_accit_d-hkont = '7601010000'.
      ch_accit_d-koart = 'D'.
      ch_accit_d-bschl = '01'.
      SELECT SINGLE kontrh FROM vtbfha
        INTO bp
        WHERE bukrs = im_data-company_code AND rfha = im_data-deal_number.
      IF sy-subrc = 0.
        SELECT SINGLE cvi~customer FROM cvi_cust_link AS cvi
          INNER JOIN but000 AS bu ON bu~partner_guid = cvi~partner_guid
          INTO customer
          WHERE bu~partner = bp.
        IF sy-subrc = 0.
          ch_accit_d-kunnr = customer.
        ELSE.
          RAISE failed.
        ENDIF.
      ELSE.
        RAISE failed.
      ENDIF.
    ELSEIF ch_accit_c-hkont = 'Z999999999' AND sy-tcode = 'TPM44'.
      ch_accit_c-hkont = '7601010000'.
      ch_accit_c-koart = 'D'.
      ch_accit_c-bschl = '11'.
      SELECT SINGLE kontrh FROM vtbfha
        INTO bp
        WHERE bukrs = im_data-company_code AND rfha = im_data-deal_number.
      IF sy-subrc = 0.
        SELECT SINGLE cvi~customer FROM cvi_cust_link AS cvi
          INNER JOIN but000 AS bu ON bu~partner_guid = cvi~partner_guid
          INTO customer
          WHERE bu~partner = bp.
        IF sy-subrc = 0.
          ch_accit_c-kunnr = customer.
        ELSE.
          RAISE failed.
        ENDIF.
      ELSE.
        RAISE failed.
      ENDIF.
    ENDIF.