|
v7: Как открыть печатную форму требуемого документа | ☑ | ||
---|---|---|---|---|
0
Kupogun
04.10.13
✎
08:27
|
Здравствуйте! я вновь себе делаю глупость и задаю такие же вопросы
Как открыть печатные формы одного док-та из формы другого документа при том, чтоб контрагенты и того, и другого док-та совпадали? так как есть условие, то Док.ВыбратьДокументы() мне не подошел :( Делаю через запрос, но не знаю как открыть форму. мб кто-то что-то подобное уже делал? Процедура КнопкаПечать() Перем Запрос, ТекстЗапроса; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с (ТекущаяДата()-30) по (ТекущаяДата()+1); |ТекущийДокумент = Документ.ВозвратОтПокупателя.ТекущийДокумент; |ДатаДок = Документ.ВозвратОтПокупателя.ДатаДок; |НомерДок = Документ.ВозвратОтПокупателя.НомерДок; |Контрагент = Документ.ВозвратОтПокупателя.Контрагент; |Группировка ТекущийДокумент; |Условие(Контрагент = Контрагент); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка(1) = 1 Цикл Конт = ""; Запрос="Печать"; ОткрытьФорму(Запрос.ТекущийДокумент(),Конт); КонецЦикла; КонецПроцедуры |
|||
1
Kupogun
04.10.13
✎
10:26
|
сделал по-другому и все равно не открывает форму(
Процедура КнопкаПечать() Счетчик = 0; Док2=СоздатьОбъект("Документ.Реализация"); Док2.ОбратныйПорядок(1); Док2.ВыбратьДокументы((ТекущаяДата()-30),(ТекущаяДата()+1)); Док=СоздатьОбъект("Документ.ВозвратОтПокупателя"); Док.ОбратныйПорядок(1); Док.ВыбратьДокументы((ТекущаяДата()-30),(ТекущаяДата()+1)); //************************************************************************ тз=СоздатьОбъект("ТаблицаЗначений"); тз.НоваяКолонка("ТекущийДокумент"); тз.НоваяКолонка("ДатаДок"); тз.НоваяКолонка("Контрагенты"); Пока Док.ПолучитьДокумент() = 1 Цикл тз.ТекущийДокумент(Док.ТекущийДокумент); тз.ДатаДок(Док.ДатаДок); тз.Контрагенты(Док.Контрагент); КонецЦикла; //************************************************************************ Пока Док2.ПолучитьДокумент() = 1 Цикл тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку() = 1 Цикл Если (тз.Контрагенты= Контрагент) И (тз.ДатаДок > Док2.ДатаДок) Тогда Конт = "Печать"; ОткрытьФорму(тз.ТекущийДокумент,Конт); КонецЕсли; КонецЦикла; КонецЦикла; КонецПроцедуры // ПоКнопкеПечать() |
|||
2
chelentano
04.10.13
✎
10:34
|
Запрос="Печать";
ОткрытьФорму(Запрос.ТекущийДокумент(),Конт); ничего не смущает? |
|||
3
chelentano
04.10.13
✎
10:36
|
Пока Док.ПолучитьДокумент() = 1 Цикл
тз.ТекущийДокумент(Док.ТекущийДокумент); тз.ДатаДок(Док.ДатаДок); тз.Контрагенты(Док.Контрагент); КонецЦикла; тут тоже ничего не смущает, типа того, что новую строку не добавляешь? |
|||
4
Mikeware
04.10.13
✎
10:36
|
(0) в отладчике забанили?
|
|||
5
VladZ
04.10.13
✎
10:37
|
"Как открыть печатные формы одного док-та из формы другого документа при том, чтоб контрагенты и того, и другого док-та совпадали?". Что за поток сознания? Можно кратко и по-существу?
|
|||
6
VladZ
04.10.13
✎
10:45
|
(1) Ваще непонятный набор букв.
|
|||
7
VladZ
04.10.13
✎
10:48
|
Итак, по шагам:
1. Выяснить, что именно нужно сделать. Разработать ТЗ, пусть даже схематично. 2. Разработать словестный алгоритм решения задачи. 3. Положить свой алгоритм на код. |
|||
8
Азазель
04.10.13
✎
11:10
|
(0) 1. Если известен идентификатор другого (любого) документа, до получения печатной формы нужно сначала выбрать конкретный документ этого вида.
2.Печатных форм для документа может быть несколько. Поэтому предварительно нужно получить их список и выбрать значение конкретной печатной формы из списка доступных печатных форм. 3.Затем отрываем форму документа с параметром, который будет обработан процедурой ПриОткрытии(), которая должна понять, что открытие выполнено для вызова процедуры печати конкретной печатной формы (желательно сразу на принтер и без показа пользователю окна диалога документа). Все эти манипуляции лучше поручить внешней обработке, которую ты и должен вызвать из любого места (в том числе из диалога любого документа). Удобнее для этих целей иметь кнопку вызова обработки на панели инструментов главного окна программы. |
|||
9
Kupogun
04.10.13
✎
13:39
|
Вообщем все норм получилось, что я хотел.
Спасибо за поддержку! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |