API J1203201

Відповісти
bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

API J1203201

Повідомлення bytheway » 31 липня 2019, 08:37

При запросе App.DocumentsDataSet("PerDate >= '01.07.2019'") система не возвращает полученные акцизные накл. J1203201, в списке - только созданные нами.

Medoc 11.01.014

В чем может быть причина?
Вкладення
Screenshot_192.jpg
Screenshot_192.jpg (107.75 Кіб) Переглянуто 1028 разів

Inkognito
Повідомлень: 932
З нами з: 14 січня 2012, 14:26

Re: API J1203201

Повідомлення Inkognito » 31 липня 2019, 10:17

DocumentsDataSet - устаревший метод, созданный разработчиком очень давно, и не развивается. Вашу задачу он навряд ли решит.
Попробуйте более совершенный метод GetPrimaryReestr:
Код 1С | Показать
App = Новый COMОбъект("MEDOC.ZApplication");
primДокументы = App.GetPrimaryDocs();
docType = 10050; //10050 - акцизная НН, 10051 - акцизный Додаток2
docMove = 1; //1 - исходящие, 2 - входящие
reestrNN = primДокументы.GetPrimaryReestr(docType, docMove, НачалоДня(ДатаС), КонецДня(ДатаПо) );
reestrNN.First();
Сообщить("Всего найдено: "+reestrNN.RecordCount());

Пока НЕ reestrNN.EOF Цикл
ОбработкаПрерыванияПользователя();

ТекстДокумента = "Документ: " +
СокрЛП(reestrNN.Fields.Item("CharCode").Value)+ " " + ?(docType = 10050, "Акцизная НН", "Акцизный Д2") + " " +
СокрЛП(reestrNN.Fields.Item("Doc_num").Value) + " від " + Формат(reestrNN.Fields.Item("Doc_date").Value, "ДЛФ = Д");

Сообщить(ТекстДокумента );

reestrNN.Next();
КонецЦикла;
Более детально: C:\Program Files\Medoc\Medoc\help\manual\Інструкція по COM-об’єктам.pdf

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 31 липня 2019, 16:01

Огромное спасибо! Попробую.

А как можно узнать docType для вида документа ? primДокументы.GetPrimaryReestr(docType


кстати, при docType = -1 не выдает в списке новых АН

Inkognito
Повідомлень: 932
З нами з: 14 січня 2012, 14:26

Re: API J1203201

Повідомлення Inkognito » 31 липня 2019, 17:54

Согласно инструкции (см.выше):
Инструкция | Показать
Тип документа docType int:
«-1» - усі;
«10100» - Податкова накладна;
«10101» - Додаток 2;
«10103» - Рахунок;
«10104» - Акт;
«10105» - Первинний документ – Накладна;
«10106» - Інші Документи;
«10107» - Банківська виписка;
«10108» - Довіреність;
«10109» - Договір;
«10050» - Акцизна накладна;
«10051» - Розрахунок коригування (акциз).

Inkognito
Повідомлень: 932
З нами з: 14 січня 2012, 14:26

Re: API J1203201

Повідомлення Inkognito » 01 серпня 2019, 09:55

Проблема проявлена - как по исходящим, так и по входящим документам. И она явно на стороне Медка.
J1203002 - находится корректно. Проблема именно с новыми формами.
Востаннє редагувалось 02 серпня 2019, 11:08 користувачем Inkognito, всього редагувалось 1 раз.

Белокопытов Геннадий
Универсал (склонность - системные вопросы)
Повідомлень: 9775
З нами з: 13 січня 2012, 11:21

Re: API J1203201

Повідомлення Белокопытов Геннадий » 01 серпня 2019, 15:32

Спасибо, будет доработано в одном из следующих обновлений программы

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 05 серпня 2019, 13:31

После последнего обновления (15) входящие АН появились, (получаю с помощью DocumentsDataSet) , но список неполный. Видимо, начиная с какой-то даты

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 07 серпня 2019, 08:55

И как это вот можно понять?
| Показать
6bcsx.png
6bcsx.png (63.28 Кіб) Переглянуто 643 разів
| Показать
download.png
download.png (60.57 Кіб) Переглянуто 643 разів

Medoc Man
Повідомлень: 739
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: API J1203201

Повідомлення Medoc Man » 07 серпня 2019, 09:31

bytheway писав:
07 серпня 2019, 08:55
И как это вот можно понять?
| Показать
6bcsx.png
| Показать
download.png
Вы путаете дату создания документа и дату документа (дату выписки документа).
Вы можете создать АН 1 января, но поставить дату документа 7 января.
Это будут разные даты.
Человек-волшебник

Inkognito
Повідомлень: 932
З нами з: 14 січня 2012, 14:26

Re: API J1203201

Повідомлення Inkognito » 07 серпня 2019, 09:34

bytheway
Это дата физического создания документа в базе Медка (ручное или АПИ методами). Аналогичный результат должен дать использование метода GetDocCrtDate (string ExDocID) --- кстати, почему-то не разработан его эквивалент GetDocCrtDateByCode --- логично создать такой (на заметку представителям Медка).
Дату документа можно получить, открыв документ по его CardCode :

Док = App.OpenDocumentByCode(Формат(CardCode , "ЧГ="));
rsMain = Док.DataSets("MAIN");

, и прочитать значение соответсвующего поля:

ДатаДокумента= rsMain.FldVal("CRDATE");

Обращаю внимание представителей Медка, что метод GetPrimaryReestr() так и не стал показывать акцизные НН (в 15 обновлении). Надо доработать.
Востаннє редагувалось 07 серпня 2019, 09:43 користувачем Inkognito, всього редагувалось 5 разів.

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 07 серпня 2019, 09:39

CRDATE - це дата складання ( дата документу), виходячи з расшифровки бланку

Inkognito
Повідомлень: 932
З нами з: 14 січня 2012, 14:26

Re: API J1203201

Повідомлення Inkognito » 07 серпня 2019, 09:47

Так, це дата складання, але метод DocumentsDataSet() не повертає це значення в якості дати документу. Поле NAME - це просто відображення того, як складається імя документу (з яких полів). Але прочитати дату документу цим методом напряму не зможете. Відкривайте документ, читайте відповідне поле. Код вище.

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 07 серпня 2019, 09:55

Inkognito писав:
07 серпня 2019, 09:47
Так, це дата складання, але метод DocumentsDataSet() не повертає це значення в якості дати документу. Поле NAME - це просто відображення того, як складається імя документу (з яких полів). Але прочитати дату документу цим методом напряму не зможете. Відкривайте документ, читайте відповідне поле. Код вище.
Ну я об этом и говорю.
- Давайте сделаем метод, который вместо даты документа будет отдавать совсем иное значение.
Медок: done

Medoc Man
Повідомлень: 739
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: API J1203201

Повідомлення Medoc Man » 07 серпня 2019, 09:59

bytheway писав:
07 серпня 2019, 09:55
Inkognito писав:
07 серпня 2019, 09:47
Так, це дата складання, але метод DocumentsDataSet() не повертає це значення в якості дати документу. Поле NAME - це просто відображення того, як складається імя документу (з яких полів). Але прочитати дату документу цим методом напряму не зможете. Відкривайте документ, читайте відповідне поле. Код вище.
Ну я об этом и говорю.
- Давайте сделаем метод, который вместо даты документа будет отдавать совсем иное значение.
Медок: done
Какое иное значение?
Вы же запрашиваете не то, что хотите получить.
Человек-волшебник

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 07 серпня 2019, 10:12

Medoc Man писав:
07 серпня 2019, 09:59
bytheway писав:
07 серпня 2019, 09:55
Inkognito писав:
07 серпня 2019, 09:47
Так, це дата складання, але метод DocumentsDataSet() не повертає це значення в якості дати документу. Поле NAME - це просто відображення того, як складається імя документу (з яких полів). Але прочитати дату документу цим методом напряму не зможете. Відкривайте документ, читайте відповідне поле. Код вище.
Ну я об этом и говорю.
- Давайте сделаем метод, который вместо даты документа будет отдавать совсем иное значение.
Медок: done
Какое иное значение?
Вы же запрашиваете не то, что хотите получить.
Если в документе есть поле CRDATE=03.08.19 , до вызывая окрівая рекордсет (через DocumentsDataSet() ) с таким же наименованием поля CRDATE логично ожидать получения такого же значения

Medoc Man
Повідомлень: 739
З нами з: 07 червня 2018, 14:28
Звідки: Kiev

Re: API J1203201

Повідомлення Medoc Man » 07 серпня 2019, 11:14

bytheway писав:
07 серпня 2019, 10:12
Если в документе есть поле CRDATE=03.08.19 , до вызывая окрівая рекордсет (через DocumentsDataSet() ) с таким же наименованием поля CRDATE логично ожидать получения такого же значения
Или я не догоняю, о чём Вы толкуете, или Вы не видите у себя же разницу между CRDATE и CRTDATE.
CRTDATE - дата фактического создания документа в базе M.E.Doc.
CRDATE - дата документа (дата выписки документа) для Акцизной накладной.

На втором своём скриншоте Вы показываете, что в NAME отображается дата CRDATE.
А на первом скриншоте показываете на колонку CRTDATE и недоумеваете, что не так.

:?
Человек-волшебник

bytheway
Повідомлень: 8
З нами з: 31 липня 2019, 08:12

Re: API J1203201

Повідомлення bytheway » 07 серпня 2019, 17:19

Medoc Man писав:
07 серпня 2019, 11:14
На втором своём скриншоте Вы показываете, что в NAME отображается дата CRDATE.
А на первом скриншоте показываете на колонку CRTDATE и недоумеваете, что не так.
:?
:o :o :o :o
Sorry . It's my bad"

Відповісти

Повернутись до “Модуль «Інтеграція»”