Страница 1 из 2

Программное создание ДО на основе накладной

Добавлено: 14 май 2018, 14:43
spark
Добрый день!

Появилась необходимость программно создать ДО на основе накладной.
Нашел вот такой объектный интерфейс для этого - L_MAKEDO::Batch_DateParam
Вроде как он используется для создания ДО по кнопке в накладной.
Пытаюсь сделать пример, но нет описания параметров функции Run. Их там 9, первые два вроде понятны - нрек накладной и вид накладной. Но что писать в остальных?

Код: Выделить всё

Interface makedotest 'Создать ДО'  (,,scField), escClose, cyan, doaccept;
handleevent
cmInit:
{
var mdo:L_MAKEDO::Batch_DateParam
mdo.run(1970324837540272,201,,,,,,,)
}
end;
end.  
Может есть пример такого программного создания ДО на основе накладных?
Задача простая - есть накладная, нужно без всяких сообщений и запросов параметров молча сделать к ней ДО.

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 07:40
Алексей
#include makeDO.vih

там наполняется буфер SdocBuf, SpDocBuf и дальше метод makeDocument

таблицы SDocBuf, SpDocBuf во from перечислите.

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 11:29
spark
Алексей писал(а):#include makeDO.vih

там наполняется буфер SdocBuf, SpDocBuf и дальше метод makeDocument

таблицы SDocBuf, SpDocBuf во from перечислите.

Спасибо! А где этот makeDO.vih взять и как быть с параметрами?

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 11:37
Den
В папке frm в компоненте L_MakeDO

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 13:02
spark
Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 13:11
spark
Алексей писал(а):#include makeDO.vih

там наполняется буфер SdocBuf, SpDocBuf и дальше метод makeDocument

таблицы SDocBuf, SpDocBuf во from перечислите.
Либо я вас не понял, либо не работает. Это все нужно сделать для того, чтобы заработал мой пример? Или это какое-то другое решение моей задачи?

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 13:49
Den
spark писал(а):
Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"
тут FRM\SRC\CompSrc\L\L_MakeNakl лежат inc-и на эти времен стркутуры

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 13:53
spark
Den писал(а):
spark писал(а):
Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"
тут FRM\SRC\CompSrc\L\L_MakeNakl лежат inc-и на эти времен стркутуры
С ними все равно не работает. Или я неправильно делаю.

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 14:27
Den
А в чем выражается "не работа" ?
Заполнены времянки SDocBuf & SpDocBuf к моменты вызова Function MakeDocument ?

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 14:56
spark
Den писал(а):А в чем выражается "не работа" ?
Заполнены времянки SDocBuf & SpDocBuf к моменты вызова Function MakeDocument ?
Я думал вы имели в виду, что если все это добавить в мой пример, то заработает функция Run объектного интерфейса L_MAKEDO::Batch_DateParam.
Не хотелось бы заполнять эти времянки. Мне же нужно не просто ДО создать, а создать на основе уже имеющейся накладной. Наверняка уже в галактике есть для этого все, просто понять бы как это использовать.
Теперь я понял что вы имели в виду. Если не получится простым путем, буду времянки заполнять...

Re: Программное создание ДО на основе накладной

Добавлено: 15 май 2018, 16:48
spark
Den писал(а):А в чем выражается "не работа" ?
Заполнены времянки SDocBuf & SpDocBuf к моменты вызова Function MakeDocument ?
А у вас нет доступа к исходникам? Как работает кнопка "Формирование ДО" в накладной?

Re: Программное создание ДО на основе накладной

Добавлено: 16 май 2018, 07:46
Алексей
Я в своё время искал, не нашел такого интерфейса. Сейчас вихи в l_soprdoc пробежал глазами, не вижу ничего подходящего.

Re: Программное создание ДО на основе накладной

Добавлено: 16 май 2018, 14:52
Ольга
spark писал(а):Как работает кнопка "Формирование ДО" в накладной?
Умеете заинтриговать... :grin:
У меня исходников нет, только обычный набор. Посмотрела по логу, получается так:
Сначала L_MAKEDO::BATCH_DATEPARAM для получения параметров формирования (вызывает окно параметров формирования ДО). Кстати, по этому окну все параметры метода RUN легко определяются.

А потом, после того как параметры введены - стартует L_MAKEDO::GroupBatchGenereteDO.
Собственно, все.

Да. Есть еще L_MAKEDO::Batch_Button. ДО делает, правда не совсем молча - параметров не спрашивает, но после формирования ДО выдает сообщение.

Re: Программное создание ДО на основе накладной

Добавлено: 16 май 2018, 16:37
Den
Собственно, GenerateDO.vih можно пробовать юзать.
Единственное, этот функционал для пакетной обработки - т.е. те параметры . оные будут задаваться методами GenereteDOObj, я так понимаю будут действовать на все создаваемые
ДО. Это стоит понимать, для ситуации когда нужно на создавать по куче накладным ДО с несколько разными параметрами (GenerateDOs ведь будет обрабатывать после этого некий массив накладных по этим параметрам....)

L_MAKEDO::Batch_Button - штука почти подходящая, но в конце будет , действительно мессаг выдываться (что есть не хорошо для пакетной программной обработки )


Я бы попробовал еще SynchronizeDO.vih (objSynchronizeDO.Run) - куда можно просто отдать nrec накладной и посмотреть как сфомрируется ДО

Re: Программное создание ДО на основе накладной

Добавлено: 18 май 2018, 17:54
spark
Den писал(а):Собственно, GenerateDO.vih можно пробовать юзать.
Единственное, этот функционал для пакетной обработки - т.е. те параметры . оные будут задаваться методами GenereteDOObj, я так понимаю будут действовать на все создаваемые
ДО. Это стоит понимать, для ситуации когда нужно на создавать по куче накладным ДО с несколько разными параметрами (GenerateDOs ведь будет обрабатывать после этого некий массив накладных по этим параметрам....)

L_MAKEDO::Batch_Button - штука почти подходящая, но в конце будет , действительно мессаг выдываться (что есть не хорошо для пакетной программной обработки )


Я бы попробовал еще SynchronizeDO.vih (objSynchronizeDO.Run) - куда можно просто отдать nrec накладной и посмотреть как сфомрируется ДО
Спасибо! Мне техподдержка прислала процедуру, которая срабатывает по кнопке в накладной. Я ее немного упростил и подпилил под свои нужды и все работает отлично!