Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
tarasov-es Участник со стажем
Вступление в Клуб: 18.05.2011
|
Вт Июн 21, 2011 08:31  Списочные операции |
|
Полезность: Нет оценки
|
Здравствуйте.
Находясь в представлении Документы РЦ ->'10 готов к отправке' нужно
выделить несколько документов и отправить на печать в excel.
Параметров нет, просто отобразить в нужном формате выделенные документы.
Каким образом реализовать такую операцию, если в системе есть аналогичная, то подскажите какая. |
|
 |
IBSO Профи
Вступление в Клуб: 20.08.2009
|
Вт Июн 21, 2011 09:58   |
|
Полезность: Нет оценки
|
По быстрому бы сделал так: завел какой нибудь реквизит булевый (или использовал из имеющихся) в документе РЦ, потом написал операцию, в которой бы этот реквизит устанавливал для выделенных документов, и сделал представление на основе 10 очереди, но которое выводило бы документы у которых установлен этот реквизит. И еще шаблон к данному представлению для печати этого представления в excel. |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Вт Июн 21, 2011 10:08   |
|
Полезность: Нет оценки
|
а зачем такие сложности с реквизитом?!
Правильно же заголовок указан - списочная операция в помощь.
Работа как и в простой, только цикл по массиву выделенных экземпляров - this(i) |
|
 |
IBSO Профи
Вступление в Клуб: 20.08.2009
|
Вт Июн 21, 2011 10:33   |
|
Полезность: Нет оценки
|
Вы имеете в виду для операции печати отчета? Я так по простому, стандартными операциями. |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Вт Июн 21, 2011 10:43   |
|
Полезность: Нет оценки
|
Нет, я не про операцию типа Отчет.
В вопросе же обозначено просто получить в Ёкселе...
Ну вот и выводить по выделенному списку:
Код: | for i in this.first..this.last
loop
kol := kol + 1;
summa := summa + this(i).[SUM];
print_excel(this(i), i + 4); --Формирование отчета
end loop; |
а в процедурке - [EXCEL].Write. Вывести нужную информацию |
|
 |
IBSO Профи
Вступление в Клуб: 20.08.2009
|
Вт Июн 21, 2011 10:49   |
|
Полезность: Нет оценки
|
я тоже не про операцию типа Отчет, а по такую же списочную. Но в вашем варианте надо писать такую операцию, а в моем использовать печать представления. И так и так правильно, но все зависит от того какой отчет нужен. |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Вт Июн 21, 2011 10:53   |
|
Полезность: Нет оценки
|
Хм...
Соглашусь, может быть ситуация, когда распечатать представление - проще. |
|
 |
IBSO Профи
Вступление в Клуб: 20.08.2009
|
Вт Июн 21, 2011 11:01   |
|
Полезность: Нет оценки
|
А я немного не соглашусь
Ваш вариант проще для пользователя, мой вариант проще для реализации. |
|
 |
Ghost Профи
Вступление в Клуб: 24.11.2007
|
Вт Июн 21, 2011 11:17   |
|
Полезность: Нет оценки
|
Вот в общем-то образец. Я думаю это то что Вам нужно. |
|
 |
tarasov-es Участник со стажем
Вступление в Клуб: 18.05.2011
|
Вт Июн 21, 2011 13:50   |
|
Полезность: Нет оценки
|
Ghost пишет: | Вот в общем-то образец. Я думаю это то что Вам нужно. |
всем спасибо. разобрался. |
|
 |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Июл 20, 2011 13:11   |
|
Полезность: Нет оценки
|
lexus пишет: | Ну вот и выводить по выделенному списку:
Код: | for i in this.first..this.last
loop
kol := kol + 1;
summa := summa + this(i).[SUM];
print_excel(this(i), i + 4); --Формирование отчета
end loop; |
|
Ради бога, приучитесь уже писать
Код: | for i in nvl(this.first,1) .. nvl(this.last,0) |
!!!
Тогда, если массив пустой, цикл просто пролетит мимо, а вот в вашем варианте будет ошибка - доступ в массив по пустому индексу! |
|
 |
lexus Профи
Вступление в Клуб: 28.09.2007
|
Ср Июл 20, 2011 13:57   |
|
Полезность: Нет оценки
|
ну так-то незачем пользователям давать запускать списочные операции "при пустом списке экземпляров".
А при непустом списке хоть один экземпляр всегда выделен. |
|
 |
|