1. Поля, которые не должны заполняться – должны вообще отсутствовать в реестре, а не быть пустыми или содержать фиктивные значения. Т.е. указанные Вами поля (<OPLATA>, <SUMP>, <SANK_MEK>, <SANK_MEE>, <SANK_EKMP>, <SUMMAP>)не должны заполнятся нулями и вообще не должны присутствовать в реестрах от МО. Т.к. по формату обмена, если числовое поле присутствует, но не содержит значения, то оно приобретает значение 0 (ноль), а не NULL (пусто).
2. Все эти поля являются условно-обязательными. В «Общих принципах» явно указано, что заполняются поля в ТФОМС или СМО.
3. Более того, в «Общих принципах» описаны условия проверки данных полей. Хоть и не в таблице Д.1, а в таблице Е.2 (для МТР) – эти условия можно применить и для таблицы Д.2: SUMMAP = SUMMAV – (SANK_MEK + SANK_MEE + SANK_EKMP). Получается, что если заполнить содержимое полей SANK_* нулями, то тогда значение в поле SUMMAP должно быть выставлено в значение поля SAMMAV. Т.е. Вы указываете, что сумма, принятая к оплате, равна сумме выставленного к оплате. Что, как минимум, странно. Если же все заполнить нулями (или передать пустые значения полей), то не выполняется требование проверки значения поля SUMMAP.
4. У нас в фонде значения полей SUMMAP, SUMP, OPLATA, SANK_* в реестрах от МО вообще игнорируются и никак не учитываются, по той простой причине, что не имеют для значения в данном виде реестров. Вернее, так: их значение не важно. СМО могла бы поступать так же, и просто игнорировать содержание/наличие/отсутствие данных полей в реестрах от МО. Они не мешают проведению МЭК , вообще при ней не учитываются. СМО просто может их сбросить и установить свои значения.