Java

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

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

sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Java

Сообщение sildae »

Сформировала ЛЗК по ПЗ 203 алг., нужно,чтобы номер ЛЗК был как и ПЗ. ПЗ-входящий для лизинго-заборной карты. Пытаюсь настроить 52 алг.
Документ - документ-основание, вид ДО - текущий,функция ДО curSopr.
Алгоритм Doc.setPosition(curSopr());
Doc.Nomer =Pl.nom;
Doc.rewrite();

Библиотеки - складской учет. Объекты - класс BaseDoc -документ заголовок ДО
Plan - заголовок плана.
Наименование свойства Nomer - номер ДО
nom - Номер документа
Экземпляры BaseDoc Doc
Plan Pl

Естественно, что номер у меня не встает. Связи-то между ДО и mnplan не описаны.
Где их описать? В сценарии? И как?
Спасибо!
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Java

Сообщение RAJAH »

sildae писал(а):Сформировала ЛЗК по ПЗ 203 алг.
Проблем не было? Сразу сформировались? Какие обновления?
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Так как у вас связаны ДО и План ? Узнайте, где живет ссылка на MnPlan и делайте тот же самый Pl.setPosition(<нрек мнплана>)
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

basedoc.nrec==objacct.cowner
and
objacct.cobject==mnplan.nrec

Куда эту связь прилепить? Если надо получить mnplan.NUMBER


С алгоритмом не было проблем ни в 7-ке, ни в 8-ке. Правильно пересчитались размеры штуки в квадратные метры, работает и по позициям, и целиком по заказу.
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Ну тогда используйте объект "Планирование -> Связи -> Заголовок таблицы связей".
Cвойства:
1) Тип документа (куда) = ObjAccT.TypeOwn
2) Ссылка на документ (куда) = ObjAccT.cOwner
3) Тип документа (откуда) = ObjAccT.TypeObj
4) Ссылка на документ (откуда) = ObjAccT.cObject
5) Вид записи = ObjAccT.KindRec

Соответственно у вас будет:
1) Тип документа (куда) = toBaseDoc (34)
2) Ссылка на документ (куда) = <ваша функция ДО>
3) Тип документа (откуда) = toMnfZakaz (17)
4) Ссылка на документ (откуда) - ее вам надо получить
5) Вид записи = скорее всего word(1)

В общем, смотрите методы этого объекта (Исходящие документы определённого типа / Входящие документы определённого типа), делайте функцию для установки ограничений, получайте нужную вам ссылку, позиционируйтесь на заказ и получайте номер)
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

то есть наименование класса Objacct документ Заголовок таблицы связей ?
наименование свойства TypeOwn поле документа Тип документа (куда)
наименование свойства TypeObj поле документа Тип документа Ссылка на документ (откуда)
экземпляры cOwner и cObject ?
Что есть вид записи? Вид записи = ObjAccT.KindRec? В настройке алгоритма я не нашла.

Можно позиционировать так ? If Objacct.setPosition(doc.nrec)
if mnplan.setPosition(objacct.cobjacct) ?
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Нет, нет, все не так. Сейчас попробую накидать пример
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Ну вот смотрите.
У вас есть документ основание. У него во входящих документах (я правильно понял?) есть производственный заказ.
Ваши действия.
Шаг первый: настройка объектов
Изображение
Изображение
Изображение
Шаг второй: настройка методов.
(Приведу только метод для ObjAccT)
Изображение
Какие методы вам еще нужны - тут уж определитесь сами.
Шаг третий: настройка экземпляров
Изображение
Остальные экземпляры по аналогии.
Ну и примерный код:

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

baseDoc.setPosition(curBaseDoc());
objAccT.setRel(34, baseDoc.nrec, 17);
// а можно и сразу: objAccT.setRel(34, curBaseDoc(), 17);

for (objAccT.getFirst(); ResultOfNavigation; objAccT.getNext())
{
   mnPlan.setPosition(objAccT.cObject);
   Message(mnPlan.number);
}
        
Как-то так примерно. Если у вас документы исходящие - используйте другой метод объекта ObjAccT.
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

ох, сделала так, как написано,
objAccT.setRel(34, baseDoc.nrec, 17);
что такое 34? И что такое 17?
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Vik писал(а):Ну тогда используйте объект "Планирование -> Связи -> Заголовок таблицы связей".
.....
Соответственно у вас будет:
1) Тип документа (куда) = toBaseDoc (34)
2) Ссылка на документ (куда) = <ваша функция ДО>
3) Тип документа (откуда) = toMnfZakaz (17)
4) Ссылка на документ (откуда) - ее вам надо получить
.......
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

Где этот объект? В настойке алгоритма? Или в библиотеке? В объектах же objAccT,mnPlan,baseDoc и свойства.
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

Вы о каком объекте говорите?) Я вас не понимаю, вроде же весь пример привел. Что у вас конкретно сейчас не получается?
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

Vik писал(а):
Ну тогда используйте объект "Планирование -> Связи -> Заголовок таблицы связей".
.....
Соответственно у вас будет:
1) Тип документа (куда) = toBaseDoc (34)
2) Ссылка на документ (куда) = <ваша функция ДО>
3) Тип документа (откуда) = toMnfZakaz (17)
4) Ссылка на документ (откуда) - ее вам надо получить


Вот этого я никак не пойму. Нумерация откуда?
objAccT.setRel(34, baseDoc.nrec, 17); не могу понять, откуда в алгоритме мне эти цифры взять :)
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Re: Java

Сообщение sildae »

objAccT.setRel(34, baseDoc.nrec, 17);
Message(objAccT.cObject);
выдает пустое сообщение
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Java

Сообщение Vik »

В алгоритме вы эти цифры с клавиатуры наберите, в чем затруднение-то?))) Это константы, имена констант я вам привел несколько раз. Все константы to<Имя> ищите в файле mnplan.inc. Ну или если уж вам никак не хочется вручную писать эти магические числа, задайте в настройках скрипта две константы, вот вам пример:
Изображение
И пример я привел, для того, чтобы показать идею. Я его не проверял на работоспособность, мог ошибиться где-то. Вернее проверял, но в другой ситуации, на связи потребность в материалах - производственный заказ - все отработало как надо. Ваша ситуация отличается лишь одним типом документа.
Последний раз редактировалось Vik 14 дек 2010, 12:28, всего редактировалось 1 раз.
Ответить