EDI edifabric x12 813 формат последовательности / проблема расположения
Невозможно переключить "Налоговая информация и сумма" и "Форма группы". "Форма группы" должна стоять на первом месте:
Ниже приведены мои функции для группы форм и TIA, для группы форм EDI Guide сначала до TIA, но после поколения TIA всегда стоит первым.
public void FGS_FormGroupSummary(G_TFS g_tfs, string assignedId)
{
if (g_tfs.G_FGS == null)
{
g_tfs.G_FGS = new List<G_FGS>();
}
G_FGS formGroup = new G_FGS();
formGroup.S_FGS = new S_FGS();
formGroup.S_FGS.D_350_1 = assignedId;
g_tfs.G_FGS.Add(formGroup);
}
public void TIA_TaxInformationAndAmount2(G_TFS g_tfs, string taxInfoCode, string monetaryAmount, string quantity)
{
//Tax Information and Amount Segment
G_TIA tia = new G_TIA();
g_tfs.G_TIA = new List<G_TIA>();
tia.S_TIA_2 = new S_TIA_2();
tia.S_TIA_2.C_C037_2 = new C_C037_2();
tia.S_TIA_2.C_C001_2 = new C_C001_2();
tia.S_TIA_2.C_C037_2.D_817_1 = taxInfoCode; //"5003" = Total Due In Dollars
tia.S_TIA_2.D_782_2 = monetaryAmount;
tia.S_TIA_2.D_380_4 = quantity; //Quantity
tia.S_TIA_2.C_C001_2.D_355_1 = X12_ID_355.GA; //"GA" = Gallons
g_tfs.G_TIA.Add(tia);
}
Изображение, прикрепленное ниже, представляет собой код, который вызывает функции выше, вы можете видеть, что я сначала вызываю группу форм перед TIA
2 ответа
В определении класса для 813 измените это:
[Serializable]
[XmlType(AnonymousType=true, Namespace="www.edifabric.com/x12")]
[XmlRoot(Namespace="www.edifabric.com/x12", IsNullable=false)]
public class G_TFS {
[XmlElement(Order=0)]
public S_TFS S_TFS {get; set;}
[XmlElement("S_REF_2",Order=1)]
public List<S_REF_2> S_REF_2 {get; set;}
[XmlElement("S_DTM_2",Order=2)]
public List<S_DTM_2> S_DTM_2 {get; set;}
[XmlElement("S_MSG",Order=3)]
public List<S_MSG> S_MSG {get; set;}
[XmlElement("G_N1_2",Order=4)]
public List<G_N1_2> G_N1_2 {get; set;}
[XmlElement("G_TIA",Order=5)]
public List<G_TIA> G_TIA {get; set;}
[XmlElement("G_FGS",Order=6)]
public List<G_FGS> G_FGS {get; set;}
}
к этому:
[Serializable]
[XmlType(AnonymousType=true, Namespace="www.edifabric.com/x12")]
[XmlRoot(Namespace="www.edifabric.com/x12", IsNullable=false)]
public class G_TFS {
[XmlElement(Order=0)]
public S_TFS S_TFS {get; set;}
[XmlElement("S_REF_2",Order=1)]
public List<S_REF_2> S_REF_2 {get; set;}
[XmlElement("S_DTM_2",Order=2)]
public List<S_DTM_2> S_DTM_2 {get; set;}
[XmlElement("S_MSG",Order=3)]
public List<S_MSG> S_MSG {get; set;}
[XmlElement("G_N1_2",Order=4)]
public List<G_N1_2> G_N1_2 {get; set;}
[XmlElement("G_FGS",Order=5)]
public List<G_FGS> G_FGS {get; set;}
[XmlElement("G_TIA",Order=6)]
public List<G_TIA> G_TIA {get; set;}
}
Генерация следует последовательности определения класса. Какой набор транзакций и версия это? Если вам нужно поменять местами эти два, то вам нужно поменять их местами в определении класса.