![]() |
![]() |
![]() |
|
Изменение печатных форм | ☑ | ||
---|---|---|---|---|
0
grantmet
29.01.10
✎
13:40
|
1С Управление торговым предприятием для Украины.
Интересует настройка внешних печатных форм, а именно я хочу изменить стандартную печатную форму Счет На оплату покупателям.Мне нужно вставить сканированную печать в Счет На оплату покупателям и убрать образец заполнения платежки.Как это можно сделать? |
|||
1
Mort
29.01.10
✎
13:42
|
Скопируй во внешнюю обработку, поправь и вставь как внешнюю печатную форму.
|
|||
2
and2
29.01.10
✎
13:44
|
+(1) и заполни там поле - заменяемая форма.
|
|||
3
grantmet
29.01.10
✎
13:51
|
Я уже понял что нужно скопировать во внешнюю обработку а как это сделать.
Я делал Сервис-Внешние печатные формы и обработки-Внешние печатные формы-Создать Выбирал Счет на оплату покупателю и при печати Выбирал этот счет но он такой же как стандартный.Можете рассказать поподробней. |
|||
4
FIXXXL
29.01.10
✎
14:06
|
||||
5
Живой Ископаемый
29.01.10
✎
14:07
|
Ну так егож еще нужно изменить!
|
|||
6
Strogg
29.01.10
✎
14:08
|
Поподробней надо читать ЖКК. Внешняя печатная форма создается с реквизитом - ссылка на объект, из которого она вызывается. В ней есть одна экспортная функция - Печать. В ней описывается заполнение макета. Все параметры для печати, которые будут браться из документа перебиваются на Ссылка.Реквизит... ну как тебе просто так объяснить? :)
|
|||
7
grantmet
29.01.10
✎
14:55
|
(3) http://infostart.ru/public/16952/ статью прочитал но пока не понял как изменить.
Вот я создал Внешняя обработка файл например 1 и сохранил его на диск а потом а потом с помощью Внешняя печатная форма выбрал из списка Счет на оплату покупателя и помощью Заменить файл внешней обработки заменил файл 1.Потом вне нужно изменить этот файл 1 или я не правильно делаю. |
|||
8
Megas
29.01.10
✎
15:03
|
(7) Смотри...
Тебе нужно : 1) Создать внешнюю обработку форму! и чтоб у неё был реквизит СсылкаНаОбъект .. с типом СчетНаоплатуСсылка 2) Копируеш туда всё что надо для заполнения с функцию обзываеш Печать() Экспорт 3) везде где тебе нужна ссылка (в функции) ты пишеш не "Ссылка" , а "СсылкаНаОбъект" Что не получается.... что пишет программа? |
|||
9
grantmet
29.01.10
✎
15:07
|
Сейчас буду пробовать.1с 8.1 изучаю 10 дней поэтому много чего не понимаю До этого опыта работы в 1с вообще не было буду с вашей помощью учиться.
|
|||
10
FIXXXL
29.01.10
✎
15:12
|
(8) макет еще надо скопировать
|
|||
11
grantmet
29.01.10
✎
15:14
|
Как макет скопировать?
|
|||
12
acsent
29.01.10
✎
15:14
|
ППЦ
|
|||
13
Megas
29.01.10
✎
15:16
|
(10) Ну я думал это само и так понятно =)... можно и использовать "Общии макеты" =)
(11) Пиши по шагам что ты сделал и что у тебя не работает! (учись понятно изъяснятся) |
|||
14
grantmet
29.01.10
✎
15:32
|
Зашел в в программу 1С.Меню "Сервис"-"Внешние печатные формы и обработки"-"Внешние обработки"-"Создать"-окно "Регистрация внешней обработки.Новый" в строке наименование пишу название "Обработка" -OK пишет не выбран файл внешней обработки.
|
|||
15
grantmet
29.01.10
✎
15:37
|
Нажимаю на значек "Сохранить файл внешней обработки на диск" сохраняю ....
|
|||
16
grantmet
29.01.10
✎
15:40
|
Нахожу столбик вид обработки заходу-окно"Отладка внешних печатных форм"-"Настройки" в настройках
Если не ТабДокумент = Неопределено тогда Если КоличествоЭкземпляров > 0 Тогда ТабДокумент.КоличествоЭкземпляров = КоличествоЭкземпляров; КонецЕсли; Если НаПринтер Тогда ТабДокумент.Напечатать(); Иначе ТабДокумент.Показать(); КонецЕсли; КонецЕсли; |
|||
17
grantmet
29.01.10
✎
15:44
|
А вот как сюда вставить СсылкаНаОбъект?
|
|||
18
grantmet
29.01.10
✎
17:40
|
http://uit.kiev.ua/ru/company/articles/index.php?ELEMENT_ID=3055 вот статья по которой делал внешнюю печатную форму Появились ошибки подскажите что нужно исправить
{ВнешняяОбработка.СчетФактураНовый(1,14)}: Неопознаний оператор ПечатьПечать <<?>>СчетаЗаказа(Тип) {ВнешняяОбработка.СчетФактураНовый(422,10)}: Оператор Возврат (Return) не може застосовуватись ззовні процедури або функції Возврат <<?>>ТабДокумент; |
|||
19
FIXXXL
29.01.10
✎
17:42
|
>ПечатьПечать <<?>>СчетаЗаказа(Тип)
там пробел что ли между "ПечатьПечать" и "СчетаЗаказа(Тип)" ? застосовуватись - это по русски чего? |
|||
20
Живой Ископаемый
29.01.10
✎
17:49
|
применяться
|
|||
21
Megas
29.01.10
✎
18:15
|
Пишет что Процедура не может делать ВОЗВРАТ... только Функция
|
|||
22
grantmet
29.01.10
✎
21:36
|
Наконец то разобрался как создать внешнюю печатную форму только что нужно заменить никак понять не могу.
ЗапросТовары = Запрос.Выполнить().Выгрузить(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = " |ВЫБРАТЬ | НомерСтроки КАК НомерСтрокиТЧ, Здесь как понимаю нужно"ЭтотОбъект.Ссылка" на "СсылкаНаОбъект.Ссылка" и так везде где есть "ЭтотОбъект.Ссылка" |
|||
23
grantmet
29.01.10
✎
21:46
|
Создал "Внешняя обработка Модуль объекта" Везде заменил:
«ЭтотОбъект» на «СсылкаНаОбъект» «Товары.Итог» на «СсылкаНаОбъект.Товары.Итог» Переименовал функцию в Функция Печать()Экспорт Проверил на синтаксис Результат: {ВнешняяОбработка.ВнешняяОбработка3(171,7)}: Змінна не визначена (Тип) Если <<?>>Тип = "Счет" Тогда {ВнешняяОбработка.ВнешняяОбработка3(196,7)}: Змінна не визначена (Тип) Если <<?>>Тип = "Счет" Тогда {ВнешняяОбработка.ВнешняяОбработка3(211,7)}: Змінна не визначена (Тип) Если <<?>>Тип = "Счет" Тогда {ВнешняяОбработка.ВнешняяОбработка3(225,7)}: Змінна не визначена (Тип) Если <<?>>Тип = "Счет" Тогда {ВнешняяОбработка.ВнешняяОбработка3(413,7)}: Змінна не визначена (Тип) Если <<?>>Тип = "Счет" Тогда {ВнешняяОбработка.ВнешняяОбработка3(172,15)}: Змінна не визначена (СтруктурнаяЕдиница) Если ТипЗнч(<<?>>СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда {ВнешняяОбработка.ВнешняяОбработка3(173,12)}: Змінна не визначена (СтруктурнаяЕдиница) Банк = <<?>>СтруктурнаяЕдиница.Банк; {ВнешняяОбработка.ВнешняяОбработка3(175,18)}: Змінна не визначена (СтруктурнаяЕдиница) НомерСчета = <<?>>СтруктурнаяЕдиница.НомерСчета; {ВнешняяОбработка.ВнешняяОбработка3(185,15)}: Змінна не визначена (СтруктурнаяЕдиница) Если ТипЗнч(<<?>>СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") {ВнешняяОбработка.ВнешняяОбработка3(237,15)}: Змінна не визначена (ЗапросСсылкаНаОбъект) ЕстьСкидки = <<?>>ЗапросСсылкаНаОбъект.Товары.Итог("Скидка") + ЗапросСсылкаНаОбъект.Товары.Итог("АвтоматическаяСкидка") <> 0; {ВнешняяОбработка.ВнешняяОбработка3(237,60)}: Змінна не визначена (ЗапросСсылкаНаОбъект) ЕстьСкидки = ЗапросСсылкаНаОбъект.Товары.Итог("Скидка") + <<?>>ЗапросСсылкаНаОбъект.Товары.Итог("АвтоматическаяСкидка") <> 0; |
|||
24
exchang
29.01.10
✎
22:26
|
епс тудей блин, во даешь: ссылкаНаОбъект.Реквизит
|
|||
25
grantmet
29.01.10
✎
23:40
|
Прочитал в интернете с десяток статей по созданию ВПФ везде разные формулировки функций которые нужно переносить.Кто подскажет какие функции нужно переносить?
|
|||
26
grantmet
30.01.10
✎
00:12
|
День бьюсь но так ничего и не получилось постоянно какие то ошибки.
|
|||
27
disk-2008
30.01.10
✎
10:29
|
Посмотри сначала, все ли функции и процедуры из исходной формы тебе необходимы.
Оставь только минимум, меньше разбираться надо будет. |
|||
28
Megas
30.01.10
✎
10:39
|
(26) Так и должно быть.... первые разы всегда сложно =)
|
|||
29
grantmet
30.01.10
✎
15:38
|
Посмотри сначала, все ли функции и процедуры из исходной формы тебе необходимы.
Оставь только минимум, меньше разбираться надо будет. А какие функции и процедуры нужны по минимуму?Я так понимаю функции печати и этого достаточно. |
|||
30
Megas
30.01.10
✎
15:45
|
(29) В твоём случае ДА ... но бывает что в Процедуре Печать ещё куча процедур вызывается...
по твоей проблеме. попробуй в самом начале объявить переменную ТИП = "Счет" и не Банк = <<?>>СтруктурнаяЕдиница.Банк; а Банк = СсылкаНаОбъект.СтруктурнаяЕдиница.Банк; потом покажеш что пишет =) |
|||
31
Megas
30.01.10
✎
15:50
|
(30) +
Смотри... когда вызывается процедура в самом документе ... то ССылка - Это и есть сам документ... собственно её и не пишут то есть Банк = СтруктурнаяЕдиница.Банк; тоже самое что и Банк = Ссылка.СтруктурнаяЕдиница.Банк; Когда ты пользуешся внешней печатной формой то там ... Ссылка (текущего документа) передаётся в СсылкаНаОбъект... Теперь мы как бы забыли откуда мы что вызвали... у нас есть наша Функция и есть СсылкаНаОбъект (тоестьна документ с которого мы будем получать значения реквизитов ) соответственно чтоб добраться до значения реквизита (Организация) пишем СсылкаНаОбъект.Организация или (Склад) СсылкаНаОбъект.Склад. |
|||
32
grantmet
30.01.10
✎
16:45
|
Когда ты пользуешся внешней печатной формой
то там ... Ссылка (текущего документа) передаётся в СсылкаНаОбъект... Теперь мы как бы забыли откуда мы что вызвали... у нас есть наша Функция и есть СсылкаНаОбъект (тоестьна документ с которого мы будем получать значения реквизитов ) соответственно чтоб добраться до значения реквизита (Организация) пишем СсылкаНаОбъект.Организация или (Склад) СсылкаНаОбъект.Склад. Я понял как менять заменил все в ручную проверил Синтаксических ошибок нет.Сформировал ВПФ черезСервис -Внешняя печатная форма.Решил открыть счет с помощью этой формы пишет: Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(20, 38)}: Неправильный псевдоним "СсылкаНаОбъект.СчетНаОплатуПокупателю" Документ.СчетНаОплатуПокупателю КАК <<?>>СсылкаНаОбъект.СчетНаОплатуПокупателю Где теперь копать? |
|||
33
grantmet
30.01.10
✎
16:45
|
Не удалось сформировать внешнюю печатную форму!
Ошибка при вызове метода контекста (Выполнить): {(20, 38)}: Неправильный псевдоним "СсылкаНаОбъект.СчетНаОплатуПокупателю" Документ.СчетНаОплатуПокупателю КАК <<?>>СсылкаНаОбъект.СчетНаОплатуПокупателю |
|||
34
Megas
30.01.10
✎
16:46
|
Это из запроса ?
Наверное так должно быть Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю |
|||
35
grantmet
30.01.10
✎
17:03
|
Теперь вот что:
Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (Ссылка) |
|||
36
Megas
30.01.10
✎
17:06
|
хз... сложно сказать...
Ты из счёта на оплату это дело вызываеш ? в смысле кнопкой ПЕЧАТЬ |
|||
37
grantmet
30.01.10
✎
17:07
|
Да
|
|||
38
grantmet
30.01.10
✎
17:08
|
Все сделал с нуля новую ВПФ вот что пишет после нажатия на "Печать"
Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(23, 2)}: Поле не найдено "СсылкаНаОбъект.СчетНаОплатуПокупателю" <<?>>СсылкаНаОбъект.СчетНаОплатуПокупателю = &ТекущийДокумент |
|||
39
grantmet
30.01.10
✎
17:08
|
Буду искать
|
|||
40
Megas
30.01.10
✎
17:10
|
На самом деле ты уже почти у цели... а так хз...
Кстати я начинал "программировать 1с" как раз с создания внешней печ формы счёта на оплату =) потому что в запросе не надо так делать =) "СсылкаНаОбъект.СчетНаОплатуПокупателю" <<?>>СсылкаНаОбъект.СчетНаОплатуПокупателю = &ТекущийДокумент пиши СчетНаОплатуПокупателю = &ТекущийДокумент; |
|||
41
Megas
30.01.10
✎
17:17
|
Смотри тема запроса
Запрос = новый ЗАпрос(); Запрос.Текст = "ВЫБРАТЬ | СчетНаОплатуПокупателю.Ссылка, | СчетНаОплатуПокупателю.ПометкаУдаления, | СчетНаОплатуПокупателю.Номер, | СчетНаОплатуПокупателю.Дата, | СчетНаОплатуПокупателю.Проведен, | СчетНаОплатуПокупателю.АдресДоставки |ИЗ | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю |ГДЕ | СчетНаОплатуПокупателю.Ссылка = &ТекущийДокумент" Запрос.УстановитьПараметр("&ТекущийДокумент",СсылкаНаОбъект) ================= "ВЫБРАТЬ // команда ... как select в SQL ... в отличии от скуля где есть insert update delete в 1с только ВЫБРАТЬ | СчетНаОплатуПокупателю.Ссылка |ИЗ | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю СчетНаОплатуПокупателю - Это псевдоним таблицы который задасться ниже .ссылка - Это поле таблицы которое выбираем |ИЗ | Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю из Документ.СчетНаОплатуПокупателю - Это таблица , как СчетНаОплатуПокупателю - Это псевдоним!!! |ГДЕ | СчетНаОплатуПокупателю.Ссылка = &ТекущийДокумент" Но мы же не хотим выбрать записи таблицы (все документы) поэтому делаем тобор СчетНаОплатуПокупателю.Ссылка = &ТекущийДокумент" ссылка = Параметр (нам нужна 1 ссылка.. у нас это переменная ССылкаНаОбъект) По поводу псевдонимов можно написать и так "ВЫБРАТЬ | ГГГЫЫЫЫ.Ссылка, | ГГГЫЫЫЫ.ПометкаУдаления, | ГГГЫЫЫЫ.Номер, | ГГГЫЫЫЫ.Дата, | ГГГЫЫЫЫ.Проведен, | ГГГЫЫЫЫ.АдресДоставки |ИЗ | Документ.СчетНаОплатуПокупателю КАК ГГГЫЫЫЫ |ГДЕ | ГГГЫЫЫЫ.Ссылка = &ТекущийДокумент" Псевдоним не решает |
|||
42
grantmet
30.01.10
✎
17:22
|
Написал СчетНаОплатуПокупателю = &ТекущийДокумент;
выдало: Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(23, 2)}: Поле не найдено "СчетНаОплатуПокупателю" <<?>>СчетНаОплатуПокупателю = &ТекущийДокумент |
|||
43
Megas
30.01.10
✎
17:27
|
СчетНаОплатуПокупателю.ССылка = &ТекущийДокумент так наверное =)
|
|||
44
grantmet
30.01.10
✎
17:29
|
Вот
Не удалось сформировать внешнюю печатную форму! Ошибка при вызове метода контекста (Выполнить): {(23, 32)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. СчетНаОплатуПокупателю.Ссылка <<?>>= &ТекущийДокумент |
|||
45
Megas
30.01.10
✎
17:34
|
ТекущийДокумент = что там ?
Запрос.УстановитьПараметр("&ТекущийДокумент",СсылкаНаОбъект); параметр такой ? у СсылкаНаОбъект тип (это тип реквизита у обрботки..) ДокументССылка.СчетНаОплатуПокупателю |
|||
46
grantmet
30.01.10
✎
17:47
|
Нет не такой просто "&ТекущийДокумент"
|
|||
47
Megas
30.01.10
✎
17:54
|
(46) =) Сори я же пишу по памяти ... да правильно просто
Запрос.УстановитьПараметр("ТекущийДокумент",СсылкаНаОбъект); Наверное у тебя СсылкаНаОбъект тип имеет не ДокументСсылка , а Строка (то что по умолчанию) |
|||
48
grantmet
30.01.10
✎
18:29
|
Это у свойствах реквизита?
там указан тип ДокументОбъект.СчетНаОплатуПокупателю |
|||
49
grantmet
30.01.10
✎
18:30
|
Поменял на ДокументСсылка.СчетНаОплатуПокупателю сейчас проверю.
|
|||
50
grantmet
30.01.10
✎
18:34
|
Вот выдало:
Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (Тип) |
|||
51
grantmet
30.01.10
✎
18:35
|
Вот у меня так
Если СсылкаНаОбъект.Тип = "Счет" Тогда |
|||
52
Megas
30.01.10
✎
18:41
|
(48) Да
(49) ДА (51) нет !!! Тип - Это переменная которая в орегинале передаётся в процедуру из вне ... в твоём случае не надо писать Если СсылкаНаОбъект.Тип = "Счет" Тогда надо писать Если Тип = "Счет" Тогда только где нибудь вначале функции напиши Тип = "Счет"; |
|||
53
grantmet
30.01.10
✎
18:58
|
Установил в начале функции
Тип = "Счет" выдало {ВнешняяОбработка.Счет4(3,17)}: Ожидается символ ';' Тип = "Счет"<<?>> |
|||
54
Megas
30.01.10
✎
18:59
|
(53) Блин =) смешно прям , аж плакать хочется =)
Тип = "Счет"; Тебе пишут ";" забыл поставить =) |
|||
55
grantmet
30.01.10
✎
19:03
|
Точно забыл поставить
|
|||
56
grantmet
30.01.10
✎
19:05
|
Вот установил в начале
Функция Печать()Экспорт Тип = "Счет"; ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ТекстКодАртикул = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; ТекстКодАртикул = "Код"; Иначе ВыводитьКоды = Ложь; Колонка = ""; ТекстКодАртикул = "Код"; КонецЕсли; Выдало опять Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (Тип) |
|||
57
grantmet
30.01.10
✎
19:08
|
Поле объекта не обнаружено (Тип)
Что же это может быть? |
|||
58
Megas
30.01.10
✎
19:09
|
Хз ..
Должно работать ... посомотри нет нигде такого текста СсылкаНаОбъект.Тип должно быть просто Тип |
|||
59
grantmet
30.01.10
✎
19:18
|
Были такие поставил просто Тип
Создал ВПФ на печать вот Не удалось сформировать внешнюю печатную форму! Поле объекта не обнаружено (Банк) |
|||
60
grantmet
30.01.10
✎
19:19
|
Если Тип="Счет" то банк это что?Буду сейчас смотреть?
|
|||
61
grantmet
30.01.10
✎
19:20
|
Вот нашел
Банк = СсылкаНаОбъект.СтруктурнаяЕдиница.Банк; |
|||
62
grantmet
30.01.10
✎
19:21
|
Я так понимаю СсылкаНаОбъект я добавил сам значит это лишнее?
|
|||
63
grantmet
30.01.10
✎
22:07
|
Тепер вот так выдает что это может быть?
Не удалось сформировать внешнюю печатную форму! Поле об`єкту не виявлено (СведенияОПоставщике) |
|||
64
grantmet
30.01.10
✎
23:54
|
Все удалось сделать ВПФ но теперь мне нужно убрать "ЗаголовокСчета"
Вот нашел КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); ОбластьМакета.Параметры.НазваниеОрганизации = СведенияОПоставщике.ПолноеНаименование; Что нужно сделать чтобы убрать? |
|||
65
grantmet
31.01.10
✎
00:45
|
Спасибо всем кто помог все решилось.
|
|||
66
grantmet
05.02.10
✎
20:44
|
1С Управление торговым предприятием для Украины.
Подскажите а как правильно внести в ИБ внешний отчет ПФ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |