Open DronVS opened 3 years ago
Добрый день. У нас реализовано создание и отправка счетов фактур на основании 820 приказа след. образом
var message = new MessageToPost { FromBoxId = OrgSendFrom.Boxes[0].BoxId, ToBoxId = OrgSendTo.Boxes[0].BoxId, FromDepartmentId = SendToUser.Permissions.UserDepartmentId };
var ExtendedInvoice = new Diadoc.Api.DataXml.Utd820.InvoiceTableItem(); //Заполняем ExtendedInvoice Product Unit Price …..
var InvoiceTable = new Diadoc.Api.DataXml.Utd820.InvoiceTable(); InvoiceTable.Item = new InvoiceTableItem[] { ExtendedInvoice }; //заполняем InvoiceTable TotalWithVatExcludedSpecified VatSpecified Vat ….
var aDocInfo = new UniversalTransferDocument(); aDocInfo.Function = UniversalTransferDocumentFunction.СЧФ; aDocInfo.DocumentDate = DocLink.GetValue("ActDate"); aDocInfo.DocumentNumber = DocLink.GetValue("FactureNum"); aDocInfo.DocumentCreator = "RussoutdoorService"; aDocInfo.Currency = "643"; aDocInfo.Table = InvoiceTable; aDocInfo.TransferInfo = new Diadoc.Api.DataXml.Utd820.TransferInfo { OperationInfo = "Информация об операции" }; aDocInfo.CircumFormatInvoice = (PaymentType == "PrePay" ? UniversalTransferDocumentCircumFormatInvoice.PaymentsRecieve : UniversalTransferDocumentCircumFormatInvoice.ItemsRealization); aDocInfo.CircumFormatInvoiceSpecified = true;
//Sellers aDocInfo.Sellers = new ExtendedOrganizationInfo[] { new ExtendedOrganizationInfo { Item = new ExtendedOrganizationReference { BoxId = sellerBoxId, OrgType = Diadoc.Api.DataXml.Utd820.OrganizationType.LegalEntity } } };
aDocInfo.Buyers = new ExtendedOrganizationInfo[] aDocInfo.Shippers = new UniversalTransferDocumentShipper[] aDocInfo.Consignees = new ExtendedOrganizationInfo[]
var contract = aDocInfo.SerializeToXml(); var aDoc = Api.GenerateSenderTitleXml(Api_AuthTokenLogin, OrgSendFrom.Boxes[0].BoxId, "UniversalTransferDocument", aDocInfo.Function.ToString(), "utd820_05_01_01", contract);
var messageAttachment = new XmlDocumentAttachment() { SignedContent = new SignedContent { Content = aDoc.Content } }; message.AddInvoice(messageAttachment);
// Отправляем в Диадок var response = Api.PostMessage(Api_AuthTokenLogin, message);
нашел пример как рекомендуется переписать 4350227
но там используется UniversalCorrectionDocument из namespace Diadoc.Api.DataXml.Ucd736 в котором нет ни Shippers, ни Consignees, ни PaymentDocuments. Надо использовать какой то другой объект?
вы смешали 820 приказ и 736 820 приказ регламентирует обмен счф и упд 736 приказ только!!! - укд и ксф, то есть раньше эти документы передавались в 189 приказе , с 01 октября их нужно формировать в 736 приказе. Для вас передача УПД и СЧФ не изменилась , 820 приказ не меняется , добавляются лишь заполнение некоторых доп полей (касающихся прослеживаемости и маркировки) , в случае, если вы работаете с такими товарами.
Спасибо, а подскажите тогда почему заполняя поле UniversalTransferDocument.DocumentShipments данными я их не вижу в веб интерфейсе. Хотя в xml они прописались: <ДокПодтвОтгр НаимДокОтгр="TestName" НомДокОтгр="TestNumber" ДатаДокОтгр="01.07.2021" /> и не изменилась надпись в правом верхнем углу на (в редю Постановления Правительства РФ от 02.04.2021 №534)
вот еще статья https://www.diadoc.ru/blog/7973 Каких документов это коснется Будут изменены превью и печатные формы для документов в форматах по Приказам № 820 и 736: счет-фактура, исправление счета-фактуры,
Спасибо, а подскажите тогда почему заполняя поле UniversalTransferDocument.DocumentShipments данными я их не вижу в веб интерфейсе. Хотя в xml они прописались: <ДокПодтвОтгр НаимДокОтгр="TestName" НомДокОтгр="TestNumber" ДатаДокОтгр="01.07.2021" /> и не изменилась надпись в правом верхнем углу на (в редю Постановления Правительства РФ от 02.04.2021 №534)
вот еще статья https://www.diadoc.ru/blog/7973 Каких документов это коснется Будут изменены превью и печатные формы для документов в форматах по Приказам № 820 и 736: счет-фактура, исправление счета-фактуры,
класс заполняете верный, документ должен быть датой больше или равной 1 июля 2021 у нас в вебе все отображается , если у вас этого нет - думаю , надо задать доп вопрос сюда на форум
Спасибо, действительно все дело было в дате. Остался последний вопрос новые колонки 12, 12а и 13 в счет-фактуре, появляются если товар отслеживаемый. а если нет, но бухгалтера настаивают что бы они появились, можно заполнить какой то объект прочерком или пустой строкой что бы они отобразились?
Спасибо, действительно все дело было в дате. Остался последний вопрос новые колонки 12, 12а и 13 в счет-фактуре, появляются если товар отслеживаемый. а если нет, но бухгалтера настаивают что бы они появились, можно заполнить какой то объект прочерком или пустой строкой что бы они отобразились?
это , как я понимаю , скорее всего нет
https://www.diadoc.ru/blog/7973 почти в самом конце
ссылка никуда не ведет...
https://www.diadoc.ru/blog/7973
Колонки 12, 12а и 13 будут отображаться только в том случае, если в документе заполнен элемент СведПрослеж, т.е. для товаров, подлежащих прослеживаемости. Согласно постановлению 1137 и статье 169 НК РФ эти данные заполняются только в случае прослеживаемости
Добрый день. У нас реализовано создание и отправка счетов фактур на основании 820 приказа след. образом
var message = new MessageToPost { FromBoxId = OrgSendFrom.Boxes[0].BoxId, ToBoxId = OrgSendTo.Boxes[0].BoxId, FromDepartmentId = SendToUser.Permissions.UserDepartmentId };
var ExtendedInvoice = new Diadoc.Api.DataXml.Utd820.InvoiceTableItem(); //Заполняем ExtendedInvoice Product Unit Price …..
var InvoiceTable = new Diadoc.Api.DataXml.Utd820.InvoiceTable(); InvoiceTable.Item = new InvoiceTableItem[] { ExtendedInvoice }; //заполняем InvoiceTable TotalWithVatExcludedSpecified VatSpecified Vat ….
var aDocInfo = new UniversalTransferDocument(); aDocInfo.Function = UniversalTransferDocumentFunction.СЧФ; aDocInfo.DocumentDate = DocLink.GetValue("ActDate"); aDocInfo.DocumentNumber = DocLink.GetValue("FactureNum"); aDocInfo.DocumentCreator = "RussoutdoorService"; aDocInfo.Currency = "643"; aDocInfo.Table = InvoiceTable; aDocInfo.TransferInfo = new Diadoc.Api.DataXml.Utd820.TransferInfo { OperationInfo = "Информация об операции" }; aDocInfo.CircumFormatInvoice = (PaymentType == "PrePay" ? UniversalTransferDocumentCircumFormatInvoice.PaymentsRecieve : UniversalTransferDocumentCircumFormatInvoice.ItemsRealization); aDocInfo.CircumFormatInvoiceSpecified = true;
aDocInfo.Buyers = new ExtendedOrganizationInfo[] aDocInfo.Shippers = new UniversalTransferDocumentShipper[] aDocInfo.Consignees = new ExtendedOrganizationInfo[]
var contract = aDocInfo.SerializeToXml(); var aDoc = Api.GenerateSenderTitleXml(Api_AuthTokenLogin, OrgSendFrom.Boxes[0].BoxId, "UniversalTransferDocument", aDocInfo.Function.ToString(), "utd820_05_01_01", contract);
var messageAttachment = new XmlDocumentAttachment() { SignedContent = new SignedContent { Content = aDoc.Content } }; message.AddInvoice(messageAttachment);
// Отправляем в Диадок var response = Api.PostMessage(Api_AuthTokenLogin, message);
нашел пример как рекомендуется переписать https://github.com/diadoc/diadocsdk-csharp/commit/435022708981a2309428a72974858e952771c974
но там используется UniversalCorrectionDocument из namespace Diadoc.Api.DataXml.Ucd736 в котором нет ни Shippers, ни Consignees, ни PaymentDocuments. Надо использовать какой то другой объект?