public string esRNS(XPathNodeIterator taxGroupNode)
{
if (taxGroupNode.MoveNext())
{
if (taxGroupNode.Current.Value=="RNS")
return "Y";
else
return "N";
}
else
return "X";
}
public string obtenirTipusDesglos(String docType,int OCRD_ResidenNum,String licTradNum, String U_B1SYS_INV_TYPE, String U_B1SYS_SPEC_REGIME)
{
String resultat="F";
if ((OCRD_ResidenNum>=2 | licTradNum.Substring(0,3)=="ESN") & U_B1SYS_INV_TYPE!="F2" & U_B1SYS_INV_TYPE!="F4")
resultat="O";
return resultat;
}
public string obtenirEntregaOServei(XPathNodeIterator DOC1AcctCode)
{
string resultat="E";
int g70=0;
string valor="";
if (DOC1AcctCode.MoveNext())
{
XPathNavigator navegador = DOC1AcctCode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC1/AcctCode");
while (iterador.MoveNext())
{
valor=iterador.Current.Value;
if (valor.StartsWith("70"))
g70=g70+1;
}
if (g70==0)
resultat="S";
}
return resultat;
}
public decimal INTRXGetSumOfBaseSum(XPathNodeIterator taxGroupNode)
{
string taxCode = "";
decimal lbaseSum = 0;
if (taxGroupNode.MoveNext())
{
nfi.NumberDecimalSeparator = ".";
taxCode = taxGroupNode.Current.Value;
XPathNavigator navi = taxGroupNode.Current;
if (gMapOfTaxGroups.ContainsKey(taxCode) && gMapOfTaxGroups[taxCode] != true)
{
gMapOfTaxGroups[taxCode] = true; // mark our gMap as already computed
// the sum for given tax code was not yet computed
XPathNodeIterator node = navi.Select(String.Format("//DataSource/TAX1/TaxCode[text()='{0}']/..", taxCode));
while (node.MoveNext())
{
lbaseSum += decimal.Parse(node.Current.SelectSingleNode("BaseSum").Value, nfi);
}
}
XPathNavigator navegador = taxGroupNode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC9/Posted[text()='N']/..");
decimal lsantiSum=0;
while (iterador.MoveNext())
{
lsantiSum=lsantiSum+decimal.Parse(iterador.Current.SelectSingleNode("DrawnSum").Value, nfi);
}
lbaseSum=lbaseSum+lsantiSum;
}
if (gIsCancelFlow)
{
lbaseSum *= -1;
}
return lbaseSum;
}
public decimal INTRXGetSumOfVatSum(XPathNodeIterator taxGroupNode)
{
string taxCode = "";
decimal lvatSum = 0;
if (taxGroupNode.MoveNext())
{
taxCode = taxGroupNode.Current.Value;
XPathNavigator navi = taxGroupNode.Current;
XPathNodeIterator node = navi.Select(String.Format("//DataSource/TAX1/TaxCode[text()='{0}']/..", taxCode));
while (node.MoveNext())
{
lvatSum += decimal.Parse(node.Current.SelectSingleNode("VatSum").Value, nfi);
}
XPathNavigator navegador = taxGroupNode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC9/Posted[text()='N']/..");
decimal lsantivatSum=0;
while (iterador.MoveNext())
{
lsantivatSum=lsantivatSum+decimal.Parse(iterador.Current.SelectSingleNode("Vat").Value, nfi);
}
lvatSum=lvatSum+lsantivatSum;
}
if (gIsCancelFlow)
{
lvatSum *= -1;
}
return lvatSum;
}
public string numeroDocument(string objecte, string nomSerie, string docNum)
{
string resultat;
if (nomSerie.Length>0)
{
if (objecte.Equals("13"))
resultat=nomSerie+"/"+docNum;
else
resultat=nomSerie+"_"+docNum;
}
else
resultat=docNum;
return resultat;
}
public decimal INTRXGetSumLineTotal(XPathNodeIterator taxGroupNode)
{
string taxCode = "";
decimal lbaseSum = 0;
if (taxGroupNode.MoveNext())
{
nfi.NumberDecimalSeparator = ".";
taxCode = taxGroupNode.Current.Value;
XPathNavigator navegador = taxGroupNode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC1");
while (iterador.MoveNext())
{
lbaseSum=lbaseSum
+decimal.Parse(iterador.Current.SelectSingleNode("LineTotal").Value, nfi)
+decimal.Parse(iterador.Current.SelectSingleNode("LineVat").Value, nfi);
lbaseSum+=decimal.Parse(iterador.Current.SelectSingleNode("EquVatSum").Value, nfi);
}
iterador = navegador.Select("//DataSource/DOC3");
while (iterador.MoveNext())
{
lbaseSum=lbaseSum
+decimal.Parse(iterador.Current.SelectSingleNode("LineTotal").Value, nfi)
+decimal.Parse(iterador.Current.SelectSingleNode("LineVat").Value, nfi);
lbaseSum+=decimal.Parse(iterador.Current.SelectSingleNode("EquVatSum").Value, nfi);
}
}
if (gIsCancelFlow)
{
lbaseSum *= -1;
}
return lbaseSum;
}
public string obtenirConcepte(XPathNodeIterator DOC1AcctCode)
{
string resultat="";
int g70=0;
string valor="";
if (DOC1AcctCode.MoveNext())
{
XPathNavigator navegador = DOC1AcctCode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC1/AcctCode");
while (iterador.MoveNext())
{
valor=iterador.Current.Value;
if (valor.StartsWith("70"))
g70=g70+1;
}
if (g70>0)
resultat="Venta de mercancias";
else
resultat="Prestación de servicios";
}
return resultat;
}
// Obtenir la naturalessa de la transacció (E=Entrega de bens S=Prestació de serveis)
public string obtenirNaturaTransaccio(XPathNodeIterator DOC1AcctCode)
{
string resultat="E";
int g70=0;
string valor="";
if (DOC1AcctCode.MoveNext())
{
XPathNavigator navegador = DOC1AcctCode.Current;
XPathNodeIterator iterador = navegador.Select("//DataSource/DOC1/AcctCode");
while (iterador.MoveNext())
{
valor=iterador.Current.Value;
if (valor.StartsWith("70"))
g70=g70+1;
}
if (g70==0)
resultat="S";
}
return resultat;
}
// Obtenir el tipus de desglos (O=Operacio F=Factura)
// Obligatoriament seran amb desglos les factures a clients extrangers o que tinguin un NIF que comenci amb N
// i que no suguin factures simplificades o assentaments resum (F2 o F4)
public string obtenirTipusDesglos(String docType,int OCRD_ResidenNum,String licTradNum, String U_B1SYS_INV_TYPE)
{
String resultat="F";
if ((OCRD_ResidenNum>=2 | licTradNum.Substring(0,3)=="ESN") & U_B1SYS_INV_TYPE!="F2" & U_B1SYS_INV_TYPE!="F4")
resultat="O";
return resultat;
}
Visites: 1.243