Ana, além dos campos que você mencionou, para determinação de CFOP em SD, existe um campo chave muito importante, e a dica que te dou é essa. Você usa o NF item type como chave. E ele vem da tabela J_1BSDICA, que usa a ordem de venda e a categoria de item.
Portanto, para além dos campos que vem do cadastro de material, entre outros, construa as combinações adequadas de CFOP usando o NF item type, que, em suma, depende do seu cenário.
Se precisar de mais esclarecimentos, me avise.
Abraços.