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

Java

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

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

Естественно, что номер у меня не встает. Связи-то между ДО и mnplan не описаны.
Где их описать? В сценарии? И как?
Спасибо!

Re: Java

Добавлено: 13 дек 2010, 14:04
RAJAH
sildae писал(а):Сформировала ЛЗК по ПЗ 203 алг.
Проблем не было? Сразу сформировались? Какие обновления?

Re: Java

Добавлено: 13 дек 2010, 14:43
Vik
Так как у вас связаны ДО и План ? Узнайте, где живет ссылка на MnPlan и делайте тот же самый Pl.setPosition(<нрек мнплана>)

Re: Java

Добавлено: 13 дек 2010, 15:26
sildae
basedoc.nrec==objacct.cowner
and
objacct.cobject==mnplan.nrec

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


С алгоритмом не было проблем ни в 7-ке, ни в 8-ке. Правильно пересчитались размеры штуки в квадратные метры, работает и по позициям, и целиком по заказу.

Re: Java

Добавлено: 13 дек 2010, 17:46
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)

В общем, смотрите методы этого объекта (Исходящие документы определённого типа / Входящие документы определённого типа), делайте функцию для установки ограничений, получайте нужную вам ссылку, позиционируйтесь на заказ и получайте номер)

Re: Java

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

Можно позиционировать так ? If Objacct.setPosition(doc.nrec)
if mnplan.setPosition(objacct.cobjacct) ?

Re: Java

Добавлено: 13 дек 2010, 18:44
Vik
Нет, нет, все не так. Сейчас попробую накидать пример

Re: Java

Добавлено: 13 дек 2010, 19:12
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.

Re: Java

Добавлено: 14 дек 2010, 11:13
sildae
ох, сделала так, как написано,
objAccT.setRel(34, baseDoc.nrec, 17);
что такое 34? И что такое 17?

Re: Java

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

Re: Java

Добавлено: 14 дек 2010, 11:41
sildae
Где этот объект? В настойке алгоритма? Или в библиотеке? В объектах же objAccT,mnPlan,baseDoc и свойства.

Re: Java

Добавлено: 14 дек 2010, 12:03
Vik
Вы о каком объекте говорите?) Я вас не понимаю, вроде же весь пример привел. Что у вас конкретно сейчас не получается?

Re: Java

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


Вот этого я никак не пойму. Нумерация откуда?
objAccT.setRel(34, baseDoc.nrec, 17); не могу понять, откуда в алгоритме мне эти цифры взять :)

Re: Java

Добавлено: 14 дек 2010, 12:14
sildae
objAccT.setRel(34, baseDoc.nrec, 17);
Message(objAccT.cObject);
выдает пустое сообщение

Re: Java

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