Доступ к МедКу через объекты
Re: Доступ к МедКу через объекты
Перечень типов есть в HBSDOC. Попробуйте новые:
10050 - Акцизна накладна
10051 - Розрахунок коригування до акцизної накладної
10052 - Акт інвентаризації
10053 - Заявка на поповнення
10070 - Ттн на спирт етиловий
10071 - Ттн на алкогольні напої
10050 - Акцизна накладна
10051 - Розрахунок коригування до акцизної накладної
10052 - Акт інвентаризації
10053 - Заявка на поповнення
10070 - Ттн на спирт етиловий
10071 - Ттн на алкогольні напої
Re: Доступ к МедКу через объекты
Код: Виділити все
Попытка
App = Новый COMОбъект("MEDOC.ZApplication");
НачПериода = ДобавитьМесяц(ТекущаяДата(), -1);
ТекГод = Формат(НачПериода, "ДФ=гггг");
ТекМесяц = Формат(НачПериода, "ДФ=М");
ТекЧисло = Формат(НачПериода, "ДФ=д");
НачПериода = Строка(ТекГод + ","+ ТекМесяц + ","+ ТекЧисло);
СтрокаЗапроса=Строка("CharCode='J1203001' AND PerDate>='") + Строка(НачПериода) + Строка("'");
ТаблицаДоков = App.DocumentsDataSet(СтрокаЗапроса);
Сообщить("Всього знайдено документів: "+ТаблицаДоков.RecordCount);
Пока НЕ ТаблицаДоков.EOF Цикл
КодДокумента = Число(ТаблицаДоков.FldVal("Code"));
Если ЗначениеЗаполнено(КодДокумента) тогда
Документ = App.OpenDocumentByCode(КодДокумента);
main = Документ.DataSets("MAIN");
Сообщить("Дата="+main.Fields.Item("N2").value);
Сообщить("Номер="+main.Fields.Item("N3").value);
КонецЕслИ;
ТаблицаДоков.Next();
КонецЦикла;
Исключение
Сообщить("Ошибка выполнения метода", СтатусСообщения.Важное);
Возврат;
КонецПопытки;
Re: Доступ к МедКу через объекты
reestrANN = App.GetPrimaryReestr("10050", "-1", НачалоДня(ДатаНачала), КонецДня(ДатаОкончания));
Всего = reestrANN.RecordCount();
//Сообщить("Всего = "+ Всего);
Пока НЕ reestrANN.EOF Цикл
Тип = ?(reestrANN .Fields.Item("Doc_move").Value=1, "исходящий", "входящий");
ДокНомер = Строка(reestrANN .Fields.Item("Doc_num").Value) ;
ДокДата = Строка(reestrANN .Fields.Item("Doc_Date ").Value) ;
Сообщить("Это " + Тип + " документ: номер " + ДокНомер + " от " + ДокДата );
reestrANN.Next();
КонецЦикла;
- разве не проще и логичнее? Проверить не на чем, но по идее должно сработать
Всего = reestrANN.RecordCount();
//Сообщить("Всего = "+ Всего);
Пока НЕ reestrANN.EOF Цикл
Тип = ?(reestrANN .Fields.Item("Doc_move").Value=1, "исходящий", "входящий");
ДокНомер = Строка(reestrANN .Fields.Item("Doc_num").Value) ;
ДокДата = Строка(reestrANN .Fields.Item("Doc_Date ").Value) ;
Сообщить("Это " + Тип + " документ: номер " + ДокНомер + " от " + ДокДата );
reestrANN.Next();
КонецЦикла;
- разве не проще и логичнее? Проверить не на чем, но по идее должно сработать
Востаннє редагувалось 02 грудня 2016, 10:09 користувачем Inkognito, всього редагувалось 3 разів.
Re: Доступ к МедКу через объекты
vatikan, получилось выбрать нужную информацию примером выше?
Re: Доступ к МедКу через объекты
Строка чего то не выполняется
Выбираю по своей старой схеме, той что описал выше
Код: Виділити все
reestrANN = App.GetPrimaryReestr("10050", "-1", НачалоДня(ДатаНачала), КонецДня(ДатаОкончания));
Выбираю по своей старой схеме, той что описал выше
Re: Доступ к МедКу через объекты
Выполняется, но дает нулевой результат.
Просьба уважаемых дилеров сообщить в БО, что код поиска "Акцизных накладных" с использованием СОМ технологии не работает. Пример кода:
В результате выполнения поиска: "Всего=0" , т.е. метод не рабочий.
Просьба уважаемых дилеров сообщить в БО, что код поиска "Акцизных накладных" с использованием СОМ технологии не работает. Пример кода:
- Поиск акцизных накладных | Показать
В результате выполнения поиска: "Всего=0" , т.е. метод не рабочий.
Re: Доступ к МедКу через объекты
Снова у меня вопрос по AcceptDoc объекта Sender. Подтверждение входящих НН и РК работает, а попробовал для первички типа Счет или Акт - ничего не происходит. Метод Sender.Send(0) возвращает 0 и никаких ошибок.
Что я делаю не так?
Что я делаю не так?
Re: Доступ к МедКу через объекты
Код приведите.Гудлайн писав:Снова у меня вопрос по AcceptDoc объекта Sender. Подтверждение входящих НН и РК работает, а попробовал для первички типа Счет или Акт - ничего не происходит.
Заметил такое поведение со 150 версии. При этом документы отправляются.Гудлайн писав:Метод Sender.Send(0) возвращает 0 и никаких ошибок.
Re: Доступ к МедКу через объекты
Вот код в 1C7/7PetroP писав:[Код приведите.
Код: Виділити все
ДокМедок = MeDocApp.OpenDocumentByCode(CardCode, 0);
Если ДокМедок.Card.FldVal("SENDSTT") <> 14 Тогда
Предупреждение("Документ уже подтвержден ранее.");
Возврат 0;
КонецЕсли;
DocID = ДокМедок.Card.FldVal("DOCID"); ДокМедок = "";
Попытка
Sender = MeDocApp.GetDocSender();
Sender.AcceptDoc(DocID, 1);
Ответ = Sender.Send(0); //0-контрагенту
Исключение
Предупреждение("Не удалось отправить подтверждение!");
КонецПопытки;
При отправке документов в ГФС - уже давно, при отправке документов контрагенту - недавно. Отправка подтверждения для входящих НН и РК работает исправно и сейчас.PetroP писав:Метод Sender.Send(0) возвращает 0. Заметил такое поведение со 150 версии. При этом документы отправляются.
Re: Доступ к МедКу через объекты
Вопрос о загрузке первичных документов в Медок через COM.
Создаем документ и записываем число с третьим знаком после запятой (например, количество в таблице товаров или работ). Открываем в Медке документ и видим, что третье число просто проигнорировано. Т. е. 1.001 превращается в 1, а 0.001 - в 0.
При ручном редактировании документа в Медок третий знак сохраняется.
Опробовано на многих шаблонах.
Баг или фитча?
Создаем документ и записываем число с третьим знаком после запятой (например, количество в таблице товаров или работ). Открываем в Медке документ и видим, что третье число просто проигнорировано. Т. е. 1.001 превращается в 1, а 0.001 - в 0.
При ручном редактировании документа в Медок третий знак сохраняется.
Опробовано на многих шаблонах.
Баг или фитча?
Re: Доступ к МедКу через объекты
Проявил такое около месяца назад. Даже не информировал, т.к. знаю что с таким вопросом уже обращались, и реакция нулевая.
Проблема есть, но решать ее не хотят, не важно баг это или фича.
Проблема есть, но решать ее не хотят, не важно баг это или фича.
Re: Доступ к МедКу через объекты
Добрый день, кто может подсказать не могу подключиться к медку стыковкой 1с пишет (Не удалось подключить компоненту "AddIn.Medoc1C". Возможно, не указаны настройки MEDOC)
Запускаю медок через ezvit.exe, ezvitnet.exe результат один и тот же.
был на 2003 серве, все работало перешли на новый сервер 2016 стандарт, не пашет((
Запускаю медок через ezvit.exe, ezvitnet.exe результат один и тот же.
был на 2003 серве, все работало перешли на новый сервер 2016 стандарт, не пашет((
Re: Доступ к МедКу через объекты
Если ОС выше ХР (его аналог 2003) - подключение работает через... пень колоду.
Re: Доступ к МедКу через объекты
Копайте в сторону прав пользователя ОСи, реестра, хз чего еще Мне не удалось на 100% найти причину проблемы. Библиотека очень чувствительна к операционной системе, от нее бы вообще отказаться, и работать через чистый СОМ.
Re: Доступ к МедКу через объекты
Бывают ситуации, когда приходится программно обновлять в Медке ранее загруженный документ (например, налоговую накладную).
Если попытаться обновить документ (используя для получения метод OpenOrCreateByExDocID), который открыт в Медке, возникает не просто ошибка, а полный вылет Медка.
Кто как обыгрывает данную ситуацию?
Может есть какой-то метод, обратный ShowDocument?
Если попытаться обновить документ (используя для получения метод OpenOrCreateByExDocID), который открыт в Медке, возникает не просто ошибка, а полный вылет Медка.
Кто как обыгрывает данную ситуацию?
Может есть какой-то метод, обратный ShowDocument?
Re: Доступ к МедКу через объекты
Вопрос о загрузке "J0147102" "Відомості про особу яка бере участь у контрольованих операціях" в Медок через COM.
Doc = App.OpenOrCreateByExDocID("J0147102", 12, PDate, , ИД, 0);
Как обратится к реквизиту "Номер порции"?
К остальным "достучался" без проблем...
Спасибо...
Doc = App.OpenOrCreateByExDocID("J0147102", 12, PDate, , ИД, 0);
Как обратится к реквизиту "Номер порции"?
К остальным "достучался" без проблем...
Спасибо...
Re: Доступ к МедКу через объекты
... каталог установленного медка\tmpl\J0147102.xfld
Открывайте блокнотом.
<field name="N12" type="text" descr=" № порції" len="2" xsdname="R00G1" />
Соответственно, в поле N12 вставляйте нужное значение:
rsMain.Fields.Item("N12").Value = ЗначениеПорции;
Открывайте блокнотом.
<field name="N12" type="text" descr=" № порції" len="2" xsdname="R00G1" />
Соответственно, в поле N12 вставляйте нужное значение:
rsMain.Fields.Item("N12").Value = ЗначениеПорции;
Востаннє редагувалось 31 березня 2017, 12:55 користувачем Inkognito, всього редагувалось 2 разів.
Re: Доступ к МедКу через объекты
PetroP
У меня и этот метод в обработке, и открытие.... вылета не было ни разу.
У меня и этот метод в обработке, и открытие.... вылета не было ни разу.
Re: Доступ к МедКу через объекты
Inkognito
Медок локальный?
Медок локальный?
Re: Доступ к МедКу через объекты
Да. Намек понял, надо будет как-то проверить на сетевом.