Выгрузка первичных документов из Медка

Відповісти
skmaster
Повідомлень: 1
З нами з: 13 січня 2015, 12:25

Выгрузка первичных документов из Медка

Повідомлення skmaster » 12 лютого 2015, 11:59

Есть скрипт: (фйл test.vbs)

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

x=msgbox("VB Start" ,0, "Message")

Dim fso, tf
Set fso = CreateObject("Scripting.FileSystemObject")
Set tf  = fso.CreateTextFile("test.txt", True)
tf.WriteLine("Тестирование 1, 2, 3.")

On Error Resume Next
set App = CreateObject("Medoc.ZApplication")

'Cnd = "CharCode = 'J1201007' AND PerDate >= '26.07.2013' and PerDate < '01.11.2014' and SENDSTT = 14"
Cnd = "CharCode = 'J1201007'"

DocCode = 0
cnt=0
x=msgbox(cnd ,0, "Message")

Set rsDocs = App.DocumentsDataSet(Cnd) 'массив документов

rsDocs.First
While Not rsDocs.EOF
  cnt = cnt + 1
  DocCode = rsDocs.FldVal("Code")'уникальный код документа
  if DocCode > 0 then
    Set SomeDoc = App.OpenDocumentByCode(DocCode)'открываем документ по коду

    Set oMain = SomeDoc.DataSets()

    Set nValue = oMain.FldVal("FIRM_NAME")
    'str = SomeDoc.GblVal("N3") 'получение значение из документа
    tf.WriteLine("1= " + cstr(value))

    Set nValue = oMain.Fields.Item("FIRM_NAME").Value 
    tf.WriteLine("2= " + cstr(nvalue))

    Set nValue = SomeDoc.FldVal("FIRM_NAME")
    tf.WriteLine("3= " + cstr(nvalue))
  end if
  rsDocs.next
Wend 

x=msgbox("VB End: " + cstr(cnt) ,0, "Message")
tf.Close
Пробовал получить значение из документа (nvalue), различными способами
но в итоге всегда получаю пустое значение, в чем может быть проблема?

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

Re: Выгрузка первичных документов из Медка

Повідомлення OlegBom » 06 вересня 2016, 23:02

omedok := CreateObject("MEDOC.ZApplication")
nIDOrg :=omedok:SeekOrg('12345678','')
oPDoc:= omedok:GetPrimaryDocs()
cBLK:='999999 А'
cNom:='200'
odoc:= oPDoc:OpenOrCreateDocument(nIDOrg,cBLK,,,cNom,0)

такой код выдает ошибку
Несовпадение типов.
Parameter has a wrong data type
OPENORCREATEDOCUMENT
Аргумент[1] = OPENORCREATEDOCUMENT
Аргумент[2] = 784
Аргумент[3] = 999999 А
Аргумент[4] = NIL
Аргумент[5] = NIL
Аргумент[6] = 200
Аргумент[7] = 0
string: RETURN odoc:= oPDoc:OpenOrCreateDocument(nIDOrg,"999999 А",,,"200",0)

В чем проблема?

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

Re: Выгрузка первичных документов из Медка

Повідомлення Inkognito » 07 вересня 2016, 09:49

Помнится, у Вас строковые данные могут быть в разных разделителелях (кавычка1, кавычка2, скобка). Попробуйте поиграться с ними в полях Бланк, ИД.
Чисто визуально все верно, и порядок и вызов.

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

Re: Выгрузка первичных документов из Медка

Повідомлення OlegBom » 07 вересня 2016, 21:06

Увы, перебрал кучу вариантов, ошибка не ушла.

Может, какой-то разработчик хоть обьявится!!!

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

Re: Выгрузка первичных документов из Медка

Повідомлення Inkognito » 08 вересня 2016, 16:08

Попробуйте переименовать бланк, если это еще возможно (и в шаблонах Медка, и в вызове).
Есть подозрение, что он не должен содержать пробел "999999 А" ---> "999999_А"

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

Re: Выгрузка первичных документов из Медка

Повідомлення OlegBom » 08 вересня 2016, 18:19

Увы, это уже пробовал, на разных бланках

Відповісти

Повернутись до “Питання по інтеграції з іншими обліковими системами”