2 в 1

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

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

korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

2 в 1

Сообщение korvanakorvana »

Ребята приветствую. Подскажите идейку . Хочу реализовать в Управлении сбытом . Чтобы при печати счета выдавались два документа
в wordе . 1 счет формировался при наличии в katmc.name * а второй без нее. Возможно ли это сделать?
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Т.е. один документ, но вид его менялся? Больше подробностей...
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

на выходе получалось два счета в вордовском варианте. один при условии katmc.name содержит звездочку, а второй счет наполнялся бы информацией по МЦ при условии что katmc.name не содержит звездочку
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Т.е. конкретно два физически разных файла? Или достаточно один файл с прогоном листа?
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

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

Сообщение m0p3e »

Есть способ простой, но некрасивый:
Делаете две формы. Во втором .{?INTERNAL;(POS('*',KATMC.NAME)>0)
Выбираете обе. Но если МЦ таких нет, то будут выведены обе формы. Вторая пустая.

Способ два.
Делайте объектный интерфейс с методами:
Init - обнуление. Чистка таблиц и т.д.
AddMc (cSp:comp) - проверка позиции и добавление во временную таблицу по условию. В данном случае Pos('*',KatMc.name) > 0
Done - формирование потока если таблица не пуста и вывод второй формы.

В основном отчете вызываете Init в начале формы, AddMc в цикле по спецификации, Done - перед .endform.

Может кто придумает проще способ :)
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

по второму способу можно поподробней.буду рада даже с примерчиком)
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Письмо на m0p3e(at)mail.ru черканите. Вечером поищу, что-нибудь наглядное. :)
Masygreen
Местный житель
Сообщения: 1089
Зарегистрирован: 04 сен 2008, 11:27
Откуда: Москва
Контактная информация:

Сообщение Masygreen »

ну банально прехватите из присоединенки nRec документа и сформируйте свои накладные ...??
Время ведет!
Yuri
Посетитель
Сообщения: 43
Зарегистрирован: 18 ноя 2009, 02:56
Откуда: Гомель, Республика Беларусь

Сообщение Yuri »

А не проще ли создать одну линкформу и в ней наставить проверок
.{?INTERNAL;(POS('*',KATMC.NAME)>0)
и
.{?INTERNAL;(POS('*',KATMC.NAME)=0)

и вставлять необходимые куски текста и таблицы
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

Да но как с помощью этого сделать два документа
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

а собственно зачем? при печати на бумагу - разделите.
или вы храните ещё в файлах *.out ?
korvanakorvana
Местный житель
Сообщения: 429
Зарегистрирован: 24 сен 2008, 11:53

Сообщение korvanakorvana »

Алексей
почему в out ? в RTF
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

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

делайте две линкформы а данные по internal разделяйте
будет два файла. только при печати надо будет ОБА отчета пометить инсертом и получать сразу оба.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Алексей
Этот способ я предлагал ранее и там же указал его недостаток - если МЦ по которым необходимо формировать второй документ не окажется, то второй отчет выйдет "пустышкой", т.к. абортить конкретную линкформу не представляется возможным, при текущем уровне развития FCOM. А сейчас его не то, что развивать, в нем даже баги отказываются править!
Ответить