Нет там никакой засады ... по коду ошибки нужно смотреть, что именно не прошло.
А вообще, формируется комплексный реквизит 1174 с основанием для коррекции - всё по описанию:
Код: Выделить всё
If InList(GHeader.CheckType, | ! --- Добавление атрибутов по чеку коррекции
LIBFPTR_RT_SELL_CORRECTION, | ! КОРРЕКЦИЯ ПРИХОДА
LIBFPTR_RT_SELL_RETURN_CORRECTION, | ! КОРРЕКЦИЯ ВОЗВРАТА ПРИХОДА
LIBFPTR_RT_BUY_CORRECTION, | ! КОРРЕКЦИЯ РАСХОДА
LIBFPTR_RT_BUY_RETURN_CORRECTION) ! КОРРЕКЦИЯ ВОЗВРАТА РАСХОДА
Self.SetParamStr( 1177, GHeader.Correction.Text) ! Наименование основания для коррекции
Self.SetParamDateTime( 1178, GHeader.Correction.DocDate, 0) ! Дата документа основания для коррекции (время всегда 00:00:00)
Self.SetParamStr( 1179, GHeader.Correction.DocNum) ! Номер документа основания для коррекции
Self.UtilFormTlv(Self.TlvBuffer) ! Запись комплексного реквизита в буфер
Self.SetParamInt( 1173, GHeader.Correction.Vid) ! Вид коррекции: 0 - самостоятельная операция / 1 - операция по предписанию
Self.SetParamBiteArray(1174, Self.TlvBuffer.Str() ) ! Запись комплексного реквизита из буфера Self.TlvBuffer
else
! Запись тега 1256
end
Дальше всё как и для традиционного чека, но тег 1256 у нас при коррекции не формируется. ХЗ почему ....