![]() |
![]() |
|
Внешняя Печатная Форма 8.3 Создание | ☑ | ||
---|---|---|---|---|
0
TEENAGER
06.11.14
✎
14:41
|
Метод по которому я создавал в 8.2 Внешнюю печатную форму, почему то не работает в 8.3
Метод: В модуле Объекта пишу: &НаСервере Функция ПечатьВитя() Экспорт ТабДок = Новый ТабличныйДокумент; Возврат ТабДок; КонецФункции В модуле формы пишу : &НаКлиенте Процедура КнопкаВыполнить(Команда) КнопкаВыполнитьНаСервере(); КонецПроцедуры &НаСервере Процедура КнопкаВыполнитьНаСервере() ТабДокумент = ПечатьВитя(); ТабДокумент.Показать(); КонецПроцедуры И вот кто скажет почему в 8.3 этот метод не работает, как его доработать что бы все было ок? Заранее спасибо, это мой первый вопрос на этом форуме. |
|||
1
Looser-1c
06.11.14
✎
14:43
|
телепну...
8.2 была файловая, 8.3 - серверная. Да и то... Последняя процедура - это провокация. Кому ты что показывать на сервере собираешься? |
|||
2
vicof
06.11.14
✎
14:44
|
"ПечатьВитя()"
мляяяяя :)))) ты сделал мой день |
|||
3
Euguln
06.11.14
✎
14:45
|
Зачем так сложно
&НаКлиенте Процедура КнопкаВыполнить(Команда) ТабДокумент = ПечатьВитя(); ТабДокумент.Показать(); КонецПроцедуры |
|||
4
Поpyчик-4
06.11.14
✎
15:03
|
(0) Скажи начальнику, пусть тебя уволит за профнепригодность.
(3) Так короче, если оплата не построчно. ПечатьВитя().Показать(); |
|||
5
MaxS
06.11.14
✎
15:15
|
||||
6
TEENAGER
06.11.14
✎
15:34
|
Looser - спасибо за пояснения. Последнюю процедуру не нужно? Т.е. только на клиенте?
vicof - Я рад что развеселил тебя. Euguln - как проще? я учился по видеоурокам так, на 8.2 Поручик-4 - Спасибо, скажу начальнику, только я не по 1С работаю официально. Краткость учту, спс. MaxS - спасибо за ссылку, что мне с ней делать? Повторюсь, это мое первое обращение на форум, печатная форма, это первое что я делаю в 1С. Спасибо! |
|||
7
Aleksandr N
06.11.14
✎
15:43
|
(0)
&НаСервере Процедура КнопкаВыполнитьНаСервере() ТабДокумент = РеквизитФормыВЗначение("Объект").ПечатьВитя(); ТабДокумент.Показать(); КонецПроцедуры |
|||
8
Жан Пердежон
06.11.14
✎
15:52
|
(0) на УФ это и в 8.2 не работало
|
|||
9
TEENAGER
06.11.14
✎
16:08
|
(7)
Теперь выдает ошибку: {Форма.Форма.Форма(12)}: Ошибка при вызове метода контекста (Показать) ТабДокумент.Показать(); по причине: Метод недоступен на сервере |
|||
10
Локи-13
06.11.14
✎
16:16
|
вот эта супер книга
http://v8.1c.ru/metod/books/book.jsp?id=441 снимет все вопросы такого плана в будущем |
|||
11
TEENAGER
06.11.14
✎
16:22
|
(10)Спасибо,обязательно куплю и изучу.
А сейчас по теме подсказать кто то может, что не так? |
|||
12
Жан Пердежон
06.11.14
✎
16:24
|
(11) ты пытаешься отчет показать на сервере? кому?
|
|||
13
Aleksandr N
06.11.14
✎
16:40
|
(9)
&НаКлиенте Процедура КнопкаВыполнить(Команда) ТабДокумент = Новый ТабличныйДокумент; КнопкаВыполнитьНаСервере(ТабДокумент); ТабДокумент.Показать(); КонецПроцедуры &НаСервере Процедура КнопкаВыполнитьНаСервере(ТабДокумент) ТабДокумент = РеквизитФормыВЗначение("Объект").ПечатьВитя(); КонецПроцедуры |
|||
14
Looser-1c
06.11.14
✎
16:42
|
(12) Я уже спрашивал. Не сознаётся...
Наверное, там агент КГБ сидит и подсматривает.... |
|||
15
TEENAGER
06.11.14
✎
16:50
|
(12) (14) Да действительно, показывать серверу глупо...
|
|||
16
TEENAGER
06.11.14
✎
17:06
|
(13) Александр, таким методом работает, но показывает чистый табличный документ, т.к. мы его создаем в первой процедуре. А мне надо показать табличный документ, выполненный функцией в модуле объекта внешней печатной формы "функция ПечатьВитя()"
|
|||
17
TEENAGER
06.11.14
✎
17:08
|
И работает только так
&НаКлиенте Процедура КнопкаВыполнить(Команда) ТабДок = Новый ТабличныйДокумент; КнопкаВыполнитьНаСервере(); ТабДок.Показать(); КонецПроцедуры &НаСервере Процедура КнопкаВыполнитьНаСервере() ТабДокумент = РеквизитФормыВЗначение("Объект").ПечатьВитя(); КонецПроцедуры |
|||
18
Локи-13
06.11.14
✎
17:15
|
не надо писать в модуле объекта
есть для печати модуль менеджера туда можно передать ссылку |
|||
19
TEENAGER
06.11.14
✎
17:16
|
(13) Александр, все ОК!
Надо было в еще в ПечатьВитя передать ТабДокумент, и в модуле объекта принять ТабДокумент. Теперь все работает!) Спасибо тебе Александр! |
|||
20
Looser-1c
06.11.14
✎
17:16
|
(18) Модуль менеджера? У внешней печатной формы?
|
|||
21
Локи-13
06.11.14
✎
17:16
|
+(18)
модуль объекта нужен только для программирования обработчиков объекта (типа обработки проведения) и связанных с ними функций |
|||
22
TEENAGER
06.11.14
✎
17:17
|
(18) Локи, у внешней печатной формы технически нет модуля менеджера!
Всем спасибо все работает! Александру Респект! |
|||
23
Локи-13
06.11.14
✎
17:18
|
(20)аа.. внешняя печ форма... >_>
|
|||
24
Локи-13
06.11.14
✎
17:19
|
конец рабочего дня... смотрю, документ, ну что-то и подумал про него
|
|||
25
User_Agronom
06.11.14
✎
17:20
|
(0) ТабличныйДокумент доступен и на клиенте и на сервере.
Формируй его на сервере и передавай на клиента. Типа: &НаСервере Функция СформироватьДок() Результат = новый ТабличныйДокумент; //Танцы с заполнением, макетами, бубнами и пр. пр. пр etc etc etc возврат Результат КонецФункции &НаКлиенте Процедура ЖмакнутьПоКнопке(Команда) МойДок = СформироватьДок(); МойДок.Показать(); КонецПроцедуры (4) >>Скажи начальнику, пусть тебя уволит за профнепригодность. >>ПечатьВитя().Показать(); Написавшего вторую строку вполне можно подозревать в профнепригодности. Не нужно прививать навыки быдлокодерства. |
|||
26
TEENAGER
06.11.14
✎
17:33
|
&НаКлиенте
Процедура КнопкаВыполнить(Команда) ТабДок = Новый ТабличныйДокумент; КнопкаВыполнитьНаСервере(ТабДок); ТабДок.Показать(); КонецПроцедуры &НаСервере Процедура КнопкаВыполнитьНаСервере(ТабДок) ТабДокумент = РеквизитФормыВЗначение("Объект").ПечатьВитя(ТабДок); КонецПроцедуры |
|||
27
TEENAGER
07.11.14
✎
14:15
|
Коллеги, у меня снова проблема:Метод объекта не обнаружен (Печать)
Вот мой Код в объекте модуля: |
|||
28
TEENAGER
07.11.14
✎
14:16
|
Что то я не могу код добавить в сообщение...(
|
|||
29
Поpyчик-4
07.11.14
✎
14:26
|
(28) Гугл тоже не хочет отвечать на твой ответ?
|
|||
30
TEENAGER
07.11.14
✎
14:28
|
(29) Да я хотел сюда код вставить, что бы посмотрели чего не хватает, но не могу, ошибки выдает тут, когда код вставляю в сообщение
|
|||
31
Поpyчик-4
07.11.14
✎
14:30
|
(30) Кому твой быдлокод нужен. Гугл и поиск ничего не говорят?
|
|||
32
TEENAGER
07.11.14
✎
14:31
|
Почему такая грубость тут? я думал этот форум для помощи....(31)
|
|||
33
Поpyчик-4
07.11.14
✎
14:35
|
(32) Ога, вот такие и постили раньше портянки в 10 экранов.
|
|||
34
TEENAGER
07.11.14
✎
14:36
|
В общем гугл поиск помогает конечно, но в данном случае у мне не удается верно создать функцию Печать....(33)
|
|||
35
TEENAGER
07.11.14
✎
14:37
|
Функция ПечатьВитя(ТабДок) Экспорт
Табдок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("ЗаказНаряд"); СекцияШапка = Макет.ПолучитьОбласть("Шапка"); СекцияТело = Макет.ПолучитьОбласть("Тело"); СекцияПодвал = Макет.ПолучитьОбласть("Подвал"); СекцияЗаголовок = Макет.ПолучитьОбласть("Заголовок"); СекцияСтрока = Макет.ПолучитьОбласть("Строка"); СекцияПодвалТаб = Макет.ПолучитьОбласть("ПодвалТаб"); //Присваиваем параметры и выводим на Печать СекцияШапка.Параметры.Организация = СсылкаНаОбъект.Организация; СекцияШапка.Параметры.ИНН = СсылкаНаОбъект.Организация.ИНН; СекцияШапка.Параметры.КПП = СсылкаНаОбъект.Организация.КПП; //Получаем номер телефона из табличной част, с помощью индекса (посмотреть индекс: точка останова, ввести выражение в табло, F2) Телефон = СсылкаНаОбъект.Организация.КонтактнаяИнформация.Получить(2); СекцияШапка.Параметры.НомерТелефона = Телефон.НомерТелефона; //Номер телефона //Номер и дата документа СекцияШапка.Параметры.Номер = Прав(СсылкаНаОбъект.Номер,4); СекцияШапка.Параметры.Дата = Формат(СсылкаНаОбъект.Дата, "ДЛФ=ДД"); СекцияШапка.Параметры.Контрагент = СсылкаНаОбъект.Контрагент.Наименование; Адрес = СсылкаНаОбъект.Контрагент.КонтактнаяИнформация.Получить(0); СекцияШапка.Параметры.Адрес = Адрес.Представление; //Необходимо вывести модель, название того, что ремонтируется, обследуется!!!!!!!!!!!!!!!!!!!!!!!!!! ТабДок.Вывести(СекцияШапка); //Получение списка работ, в одну строку через запятую, путем циклического перебота табличной части Массив = СсылкаНаОбъект.Работы.Выгрузить(); Массив2 = Массив.ВыгрузитьКолонку("Номенклатура"); С = ""; Для каждого Строка из Массив2 Цикл С = С + Строка+","; КонецЦикла; //Убираем из полученной циклом строки, последний символ. Если С <> "" Тогда СекцияТело.Параметры.Работы = Сред(С,1,СтрДлина(С)-1); Иначе СекцияТело.Параметры.Работы = С; КонецЕсли; ТабДок.Вывести(СекцияТело); ТабДок.Вывести(СекцияЗаголовок); //заполняем табличную часть из табличной части домумента Для Каждого СтрТаб из Массив Цикл ЗаполнитьЗначенияСвойств(СекцияСтрока.Параметры, СтрТаб); ТабДок.Вывести(СекцияСтрока); КонецЦикла; //Заполняем подвалТаб СекцияПодвалТаб.Параметры.Итог = СсылкаНаОбъект.Работы.Итог("Сумма"); СекцияПодвалТаб.Параметры.Финиш = Формат(СсылкаНаОбъект.Финиш, "ДЛФ=ДД"); СекцияПодвалТаб.Параметры.Итог2 = СсылкаНаОбъект.Работы.Итог("Сумма"); СекцияПодвалТаб.Параметры.ИтогПР = ЧислоПрописью(СсылкаНаОбъект.Работы.Итог("Сумма"),,"рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2"); СекцияПодвалТаб.Параметры.Номер = Прав(СсылкаНаОбъект.Номер,4); СекцияПодвалТаб.Параметры.Дата = Формат(СсылкаНаОбъект.Дата, "ДЛФ=ДД"); //Типы налога Налог = Перечисления.ТипыНалогообложенияНДС.ОблагаетсяНДС; Если СсылкаНаОбъект.НалогообложениеНДС = Налог Тогда СекцияПодвалТаб.Параметры.НДС = "Облагается НДС согласно статье 26.3 НК РФ"; КонецЕсли; Нетналог = Перечисления.ТипыНалогообложенияНДС.НеОблагаетсяНДС; Если СсылкаНаОбъект.НалогообложениеНДС = Нетналог Тогда СекцияПодвалТаб.Параметры.НДС = "Не Облагается НДС согласно статье 26.3 НК РФ"; КонецЕсли; Эксп = Перечисления.ТипыНалогообложенияНДС.НаЭкспорт; Если СсылкаНаОбъект.НалогообложениеНДС = Эксп Тогда СекцияПодвалТаб.Параметры.НДС = "Экспорт (ставка 0%) согласно статье 26.3 НК РФ"; КонецЕсли; ТабДок.Вывести(СекцияПодвалТаб); ТабДок.Вывести(СекцияПодвал); Возврат ТабДок; |
|||
36
TEENAGER
07.11.14
✎
14:38
|
Ну сам код работает номарльно в отдельности, сюда надо добавить что то что бы работало во внешней печати...
|
|||
37
ВРедная
07.11.14
✎
15:00
|
Ничего не понятно из твоих сообщений.
Ошибка идет на "метод объекта" Печать, а вызова такого метода нигде нет. В какой у тебя строке вообще ошибка? |
|||
38
Gbpltw
07.11.14
✎
15:07
|
есть мнение, значения параметров получать нужно запросом.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |