Имя: Пароль:
1C
 
Изменение печатных форм
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С Управление торговым предприятием для Украины.
Подскажите а как правильно внести в ИБ внешний отчет ПФ.