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

2 в 1

Добавлено: 20 апр 2010, 11:06
korvanakorvana
Ребята приветствую. Подскажите идейку . Хочу реализовать в Управлении сбытом . Чтобы при печати счета выдавались два документа
в wordе . 1 счет формировался при наличии в katmc.name * а второй без нее. Возможно ли это сделать?

Добавлено: 20 апр 2010, 11:11
m0p3e
Т.е. один документ, но вид его менялся? Больше подробностей...

Добавлено: 20 апр 2010, 11:51
korvanakorvana
на выходе получалось два счета в вордовском варианте. один при условии katmc.name содержит звездочку, а второй счет наполнялся бы информацией по МЦ при условии что katmc.name не содержит звездочку

Добавлено: 20 апр 2010, 12:37
m0p3e
Т.е. конкретно два физически разных файла? Или достаточно один файл с прогоном листа?

Добавлено: 20 апр 2010, 12:57
korvanakorvana
лучше в два разных файла.

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

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

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

Может кто придумает проще способ :)

Добавлено: 21 апр 2010, 11:31
korvanakorvana
по второму способу можно поподробней.буду рада даже с примерчиком)

Добавлено: 21 апр 2010, 11:44
m0p3e
Письмо на m0p3e(at)mail.ru черканите. Вечером поищу, что-нибудь наглядное. :)

Добавлено: 21 апр 2010, 18:40
Masygreen
ну банально прехватите из присоединенки nRec документа и сформируйте свои накладные ...??

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

и вставлять необходимые куски текста и таблицы

Добавлено: 26 апр 2010, 15:19
korvanakorvana
Да но как с помощью этого сделать два документа

Добавлено: 27 апр 2010, 07:30
Алексей
а собственно зачем? при печати на бумагу - разделите.
или вы храните ещё в файлах *.out ?

Добавлено: 27 апр 2010, 11:51
korvanakorvana
Алексей
почему в out ? в RTF

Добавлено: 27 апр 2010, 12:44
Алексей
делайте две линкформы а данные по internal разделяйте
будет два файла. только при печати надо будет ОБА отчета пометить инсертом и получать сразу оба.

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