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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение 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.  
Может есть пример такого программного создания ДО на основе накладных?
Задача простая - есть накладная, нужно без всяких сообщений и запросов параметров молча сделать к ней ДО.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Сообщение Алексей »

#include makeDO.vih

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

таблицы SDocBuf, SpDocBuf во from перечислите.
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

Алексей писал(а):#include makeDO.vih

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

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

Спасибо! А где этот makeDO.vih взять и как быть с параметрами?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

В папке frm в компоненте L_MakeDO
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

Алексей писал(а):#include makeDO.vih

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

таблицы SDocBuf, SpDocBuf во from перечислите.
Либо я вас не понял, либо не работает. Это все нужно сделать для того, чтобы заработал мой пример? Или это какое-то другое решение моей задачи?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

spark писал(а):
Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"
тут FRM\SRC\CompSrc\L\L_MakeNakl лежат inc-и на эти времен стркутуры
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

Den писал(а):
spark писал(а):
Den писал(а):В папке frm в компоненте L_MakeDO
Пишет "Ошибка: Таблица SDOCBUF отсутствует в словаре D:\GALAKTIKA\sources\Rservis\VIP\MakeDO.vip(стр. 4, поз. 15)"
тут FRM\SRC\CompSrc\L\L_MakeNakl лежат inc-и на эти времен стркутуры
С ними все равно не работает. Или я неправильно делаю.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

А в чем выражается "не работа" ?
Заполнены времянки SDocBuf & SpDocBuf к моменты вызова Function MakeDocument ?
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

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

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

Сообщение spark »

Den писал(а):А в чем выражается "не работа" ?
Заполнены времянки SDocBuf & SpDocBuf к моменты вызова Function MakeDocument ?
А у вас нет доступа к исходникам? Как работает кнопка "Формирование ДО" в накладной?
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

Сообщение Алексей »

Я в своё время искал, не нашел такого интерфейса. Сейчас вихи в l_soprdoc пробежал глазами, не вижу ничего подходящего.
Ольга
Постоянный обитатель
Сообщения: 135
Зарегистрирован: 29 мар 2005, 17:49

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

Сообщение Ольга »

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

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

Да. Есть еще L_MAKEDO::Batch_Button. ДО делает, правда не совсем молча - параметров не спрашивает, но после формирования ДО выдает сообщение.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

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

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


Я бы попробовал еще SynchronizeDO.vih (objSynchronizeDO.Run) - куда можно просто отдать nrec накладной и посмотреть как сфомрируется ДО
spark
Местный житель
Сообщения: 476
Зарегистрирован: 19 окт 2005, 13:38
Контактная информация:

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

Сообщение spark »

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

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


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