Доступ к МедКу через объекты

OlegBom
Повідомлень: 78
З нами з: 05 липня 2012, 17:07

Re: Доступ к МедКу через объекты

Повідомлення OlegBom » 14 січня 2015, 15:44

vademchuk писав:
OlegBom писав:ПРОБЛЕМА!
При загрузке из Медка НН в учетную систему, появляется сообщение

Сервер RPC недоступен.

на строке oTablDocs:First()

Программу, закачки из Медка не менял последние два месяца. И все работало.

Проверил у себя - все работает.

Код: Виділити все

ыы = App.DocumentsDataSet("...........");
ыы.First();
Пока Не  ыы.EOF Цикл
.......
Какая-то странная проблема на сервере. Локально работает.

Но вылезло другое. Из 12 НН в реестре первичных документов по вот этому запросу подтягивается только 6

(CharCode = 'J1201005' OR CharCode = 'J1201006' OR CharCode = 'J1201007' OR CharCode = 'F1201007') AND PerDate >= '01.01.2015' and PerDate <= '31.01.2015' and SENDSTT in (14)
Что я сделал не так?

yevgen
Повідомлень: 4
З нами з: 14 січня 2015, 15:30

Re: Доступ к МедКу через объекты

Повідомлення yevgen » 14 січня 2015, 15:51

Добрый день.
Делаю выгрузку входящих налоговых накладных из Медка в 1С через GetPrimaryReestr

Код: Виділити все

Prim = App.GetPrimaryDocs();
DataSet = Prim.GetPrimaryReestr(1, 2, Дата1, Дата2);
Пока DataSet.EOF = 0 Цикл
	........................
        DataSet.Next();
 КонецЦикла
Меня интересует значения полей FIRM_EDRPOU, Partner_EDRPOU и PATRNER_IPN (именно так с грамматической ошибкой!!!) из DataSet

В моем случае FIRM_EDRPOU - это ЕДРПОУ нашей фирмы, PARTNER_EDRPOU - пусто, а PATRNER_IPN - это ИНН нашей фирмы

А где же тогда ИНН и ЕДРПОУ поставщика???

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 14 січня 2015, 16:05

вопрос снят. Нужно help внимательнее читать
Востаннє редагувалось 14 січня 2015, 16:27 користувачем tanyxa, всього редагувалось 1 раз.

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 14 січня 2015, 16:07

yevgen писав: Делаю выгрузку входящих налоговых накладных из Медка в 1С через GetPrimaryReestr
Скажите, если не секрет. А где вы берете описание параметров, в частности вот этой GetPrimaryReestr? Инструкция по этому поводу скромно молчит, там даже функции этой нет

yevgen
Повідомлень: 4
З нами з: 14 січня 2015, 15:30

Re: Доступ к МедКу через объекты

Повідомлення yevgen » 14 січня 2015, 16:22

tanyxa писав: Скажите, если не секрет. А где вы берете описание параметров, в частности вот этой GetPrimaryReestr? Инструкция по этому поводу скромно молчит, там даже функции этой нет
Не секрет )) Нашел чисто случайно на сайте в теме "Описание структуры Налоговой накладной (F)J1201007 и Приложения 2 (F)J1201207 для импорта в ПК «M.E.Doc IS» в формате XML и DBF"

http://www.me-doc.com.ua/upload_images/ ... export.doc

Виталий001
Повідомлень: 11
З нами з: 19 грудня 2011, 18:02

Re: Доступ к МедКу через объекты

Повідомлення Виталий001 » 14 січня 2015, 16:23

tanyxa писав:
yevgen писав: Делаю выгрузку входящих налоговых накладных из Медка в 1С через GetPrimaryReestr
Скажите, если не секрет. А где вы берете описание параметров, в частности вот этой GetPrimaryReestr? Инструкция по этому поводу скромно молчит, там даже функции этой нет
Гугл выдал это:
http://www.me-doc.com.ua/upload_images/ ... _files.doc
может где-то еще что-то есть?

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 14 січня 2015, 16:25

Благодарю. Очень интересный документ. А я -то все за Инструкцию по COM хватаюсь

vademchuk
Повідомлень: 79
З нами з: 15 липня 2012, 01:01

Re: Доступ к МедКу через объекты

Повідомлення vademchuk » 14 січня 2015, 16:37

OlegBom писав: Но вылезло другое. Из 12 НН в реестре первичных документов по вот этому запросу подтягивается только 6

(CharCode = 'J1201005' OR CharCode = 'J1201006' OR CharCode = 'J1201007' OR CharCode = 'F1201007') AND PerDate >= '01.01.2015' and PerDate <= '31.01.2015' and SENDSTT in (14)
Что я сделал не так?
SENDSTT - не все соответствуют статусу 14. Наверное некоторые НН пришли на согласование и еще не регились в реестре.

Кстати PerDate можно писать один раз и передавать любое число нужного месяца.

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 14 січня 2015, 17:20

Я извиняюсь за тупой вопрос, но если отсылать документ с помощью объекта Sender, он сам зашифруется и подпишется?

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

Re: Доступ к МедКу через объекты

Повідомлення Inkognito » 15 січня 2015, 02:47

Кстати PerDate можно писать один раз и передавать любое число нужного месяца.
Можно любое, но правильно 01 число месяца документа. Если будете любое число ставить, боком вылезет.
Я извиняюсь за тупой вопрос, но если отсылать документ с помощью объекта Sender, он сам зашифруется и подпишется?
Только если предварительно отправили любой документ, и поставили флажок "Запомнить на протяжении сеанса".
Соответственно, на протяжении сеанса указанный метод будет использовать эти параметры.

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

Re: Доступ к МедКу через объекты

Повідомлення Inkognito » 15 січня 2015, 03:00

vademchuk
1. А как удалось создать методом, который для Первичных документов (OpenOrCreateDocument) Отчет о финрезультатах, его же по идее надо делать через OpenOrCreateByExDocID ???
Точно, извините.
2. Как объяснял еще Родин ExDocID и DocID - два разных реквизита. Где первый - любой на наше усмотрение идентификатор документа ( в основном ИД из учетной системы ), а второй - стандартный ид медка. Соответственно исходящий документ, созданный программно имеет оба этих реквизита, и здесь DocID это поле Code.
| Показать
Похоже Вы один из немногих, которые не знают меня под неофициальным ником, о чем успешно знают вот уже 5 лет на всех форумах :)
Странно, я думал этого не знал только бывший работодатель :lol:
Да, все верно, это два разных поля базы данных, но для интеграции применяется только один - ExDocID. Стандартный ИД Медка нигде не применяется...
И получить такой док можно многими способами, но OpenOrCreateDocument и OpenOrCreateByExDocID все-равно танцуют от разных ID......
Все верно, ИД можно получить разными способами. Тут как разработчик придумает...

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 15 січня 2015, 11:55

Inkognito писав: Только если предварительно отправили любой документ, и поставили флажок "Запомнить на протяжении сеанса".
Соответственно, на протяжении сеанса указанный метод будет использовать эти параметры.
Хм.. А как -то гарантированно устроить шифрование и подпись через COM можно?

vademchuk
Повідомлень: 79
З нами з: 15 липня 2012, 01:01

Re: Доступ к МедКу через объекты

Повідомлення vademchuk » 15 січня 2015, 13:22

tanyxa писав:
Inkognito писав: Только если предварительно отправили любой документ, и поставили флажок "Запомнить на протяжении сеанса".
Соответственно, на протяжении сеанса указанный метод будет использовать эти параметры.
Хм.. А как -то гарантированно устроить шифрование и подпись через COM можно?
ЭЦП на самом деле серьезная штука и хранить пароль к ключу где-то в коде априори не правильно.
Озвученный "Inkognito" способ единственно правильный.
Такой процесс можно реализовать на отдельном компьютере - запустить медок, сделать "Запомнить на протяжении сеанса" и запустить регламентное задание в учетной системе....

Переинициализировать такую схему придется каждый раз обновлении медка.....

tanyxa
Повідомлень: 17
З нами з: 09 січня 2015, 16:27

Re: Доступ к МедКу через объекты

Повідомлення tanyxa » 15 січня 2015, 13:45

Да, по видимому это самый оптимальный вариант

Виталий001
Повідомлень: 11
З нами з: 19 грудня 2011, 18:02

Re: Доступ к МедКу через объекты

Повідомлення Виталий001 » 19 січня 2015, 12:30

Функция GetSendSTTByExDocID() возвращает код статуса документа в Медке.
В "Инструкции по СОМ объектам" есть расшифровка кодов статусов.
У меня статусы в Медке не соответствуют расшифровке. Напр. в Медке - "Доставлено контрагенту" - функция GetSendSTTByExDocID() возвращает код статуса - 6 т.е. "Отримано повідомлення". В Медке "Затверджено контрагентом" - получаем статус 15 "Імпортований". Может у кого есть "более правильная" расшифровка статусов?

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

Re: Доступ к МедКу через объекты

Повідомлення Inkognito » 19 січня 2015, 16:27

Определение статусов идет по данной таблице:
//мСтатусов=Новый Массив();
Dict = App.GetDictionary();
tabl = Dict.Open("CARDSENDSTT");
tabl.First();

Пока НЕ tabl.EOF Цикл
//мСтатусов.Добавить(tabl.NAME);
Сообщить(tabl.CODE+ " " + tabl.NAME);
tabl.Next();
КонецЦикла;
Можете добавить информацию в Массив, и считывать название при использовании функции GetSendSTTByExDocID()
П.С. если название в медке отличается от названия, возвращаемого по коду, - тогда это ошибка разработчика. Ждем комментариев.

Виталий001
Повідомлень: 11
З нами з: 19 грудня 2011, 18:02

Re: Доступ к МедКу через объекты

Повідомлення Виталий001 » 19 січня 2015, 20:15

В Медке в "Реєстрі первинних документів" Налоговая накладная имеет статус "Затверджено контрагентом".
По этой-же налоговой функция GetSendSTTByExDocID() возвращает код статуса: 15.
В "CARDSENDSTT":
0 Готується
...
15 Імпорт
...
???

ignorant
Повідомлень: 67
З нами з: 10 грудня 2014, 10:58

Re: Доступ к МедКу через объекты

Повідомлення ignorant » 21 січня 2015, 12:40

OpenReport(ExdocID) – функція відкриття документу із отриманого списку
- это метод _какого_ объекта?

Объекты
App = CreateObject("Medoc.ZApplication")
prim = App.GetPrimaryDocs()
Reestr = prim.GetPrimaryReestr (docType, docMove, dateBegin, dateEnd)

говорят: Метод объекта не обнаружен (OpenReport).

Сушко Денис
Повідомлень: 197
З нами з: 06 січня 2015, 17:23

Re: Доступ к МедКу через объекты

Повідомлення Сушко Денис » 22 січня 2015, 11:43

як у медовій стиковці отримати відомості про реєстрацію? а ще кращє відомості про зміст квітанції.
через які методи треба звертатись?

NNStatusResult.GetValue("TAB1", "REGDATE") не повертає нічого

в той же час
Отчет.GetValue("MAIN", "SEND_DPA_RN") "9001880724"
Строка(Отчет.GetValue("MAIN", "SEND_DPA_DATE")) "21.01.2015 0:00:00"

ignorant
Повідомлень: 67
З нами з: 10 грудня 2014, 10:58

Re: Доступ к МедКу через объекты

Повідомлення ignorant » 22 січня 2015, 12:08

Как сделать медовой стыковкой версии 4_70 не нашел
В документе formaty_import-export.doc описан объект GetDocKVT - Отримання квитанцій про реєстрацію
KVT = prim.GetDocKVT(ExDocID);

Список полів в KVT, які можуть бути заповнені:
OPERDATE - Дата операції
OPERTYPE - Тип операції
KVT_TEXT - Текст квитанції (не підписаної)
KVT_SIGN - Текст квитанції з підписами
REGNUM - Реєстраційний номер
REASON - Причина відхилення
RECEPTDATE - Дата отримання документа податковою
FILE_NAME - Ім'я файла
, но... не все поля реальной таблицы соответствуют документации.

- REGNUM - Реєстраційний номер документу, назначается ГНИ _после_ принятия / одобрения. IMHO: поле заполнено = "ДОКУМЕНТ ПРИЙНЯТО" квитанции
- OPERDATE - Дата операції - Дата/Время принятия / регистрации налогового документа
- KVT_SIGN прочитать не умею

Відповісти

Повернутись до “1C”