Имя: Пароль:
1C
Админ
v8: Внешняя печатная форма «Заказа поставщику»
0 Елена-Тамара
 
08.05.13
08:54
Типовая конфигурация - <1C:Управление производственным предприятием>
Технологическая платформа 8.2.17.143, номер версии 1.3.38.4
Обычный режим.


Здравствуйте!
Создала новую печатную форму «Заказа поставщику» через «конструктор печати»
При этом в модуле документа «Заказа поставщику» (или в модуле формы) появляется:
Процедура ЗаказПоставщикуСРезервами() Экспорт.

Установка нашего руководства — не вносить никакие изменения в стандартную конфигурацию, все через внешние печатные формы.

Подскажите пожалуйста, можно ли эту новую процедуру использовать в модуле внешней обработки (или она не имеет к ним никакого отношения)? У меня с ними (внешними) так напряженно.....
1 mikecool
 
08.05.13
08:55
откройте справку в справочник внешних форм - расписано все как делать
2 Serg_1960
 
08.05.13
08:59
Как-то сумбурно сформулирован вопрос насчёт ЗаказПоставщикуСРезервами()... прямо-таки автор напрашивается на замечание, что не только с внешними формами "напряжно" :)
3 Wobland
 
08.05.13
09:02
могу на пальцах всё показать-рассказать, если чтения не хватит
4 Елена-Тамара
 
08.05.13
09:05
(3) не хватает мне чтения. Все делаю по рекомендациям (знаю, что в интернете их очень много, в том числе и на этом форуме), а формы получаются через раз - ошибки.....Расскажите, пожалуйста.
5 ДенисЧ
 
08.05.13
09:07
(3) объясняю на пальцах - средний видишь? :-)
6 ДенисЧ
 
08.05.13
09:08
в упп ВПФ создаются элементарно...
В модуле обработки создаётся функция Печать() Экспорт, которая должна вернуть ссылку на ТабличныйДокумент.
Это вам не БСП...
7 Елена-Тамара
 
08.05.13
09:10
(6) БСП - это что?
8 Wobland
 
08.05.13
09:10
(4) это долго, нудно и вечером. но в (6) ДенисЧ сумел уложиться в одно предложение ;)
9 Serg_1960
 
08.05.13
09:12
Ммм... позвольте заметить: в типовой УПП для России нет "ЗаказПоставщикуСРезервами()" и поэтому мне непонятно как так  получается, что при создании ВПФ - и вдруг "появляется" эта процедура :(
10 Елена-Тамара
 
08.05.13
09:17
(9)Да я ей сама такое имя присвоила при создании через конструктор печати. Я до ВПФ не добралась еще. Процедура создалась автоматически в модуле документа "Заказ поставщику" (или в модуле формы документа, если мы для ее печати кнопку на форму выводим). Это типовой механизм. И все работает.
11 Wobland
 
08.05.13
09:18
(10) не трожь конфигурацию
12 Елена-Тамара
 
08.05.13
09:21
(10) я и не хочу - это времяночка, пока начну дружить с ВПФ (если такое случиться)
13 Елена-Тамара
 
08.05.13
09:21
ой! т.е.(11)
14 Елена-Тамара
 
08.05.13
09:59
(1)

1.В конфигураторе создала макет печатной формы.
2. Через конфигуратор создала новую внешнюю обработку.
3.Скопировала макет печатной формы из конфигуратора в созданную внешнюю обработку.
4.Создала во внешней обработке новый реквизит СсылкаНаОбъект с типом ДокументСсылка.ЗаказПоставщику.
5. Из модуля документа «Заказ поставщику» скопировала первую  Функция ПечатьСчетаЗаказа(Тип) в модуль внешней обработки
6. Переделала ее на Функция Печать (Тип) Экспорт
7.Везде по тексту кода внешней обработки переименовала ЭтотОбъект на СсылкаНаОбъект
8. Пытаюсь сохранить внешнюю обработку. Ошибки:
{ВнешняяОбработка.ЗаказПоставщикуДляПрибора.МодульОбъекта(112,7)}: Переменная не определена (ВидОперации)
   Если <<?>>ВидОперации = Перечисления.ВидыОперацийЗаказПоставщику.Оборудование Тогда (Проверка: Толстый клиент (обычное приложение))


Как ее правильно определить?
15 Елена-Тамара
 
08.05.13
10:04
Может быть там где есть ВидОперации просто закомментировать? У нас же печать макета не зависит от вида операции.....
16 dva1c
 
08.05.13
10:04
(14)А так не прокатит?

Если СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийЗаказПоставщику.Оборудование Тогда
17 dva1c
 
08.05.13
10:06
(15) ВидОперации - это реквизит документа?
18 PCcomCat
 
08.05.13
10:08
+(16) И так со всеми обращениями к реквизитам документа.
19 Елена-Тамара
 
08.05.13
10:11
(16) да. спасибо. синтаксических ошибок нет.

Сейчас подключу форму, проверю как работать будет
20 dva1c
 
08.05.13
10:15
(19) Должно работать )
21 Елена-Тамара
 
08.05.13
10:15
(18) Ошибка: Не удалось сформировать внешнюю печатную форму!
Недостаточно фактических параметров


Я наверное не ко всем реквизитам документа добавила СсылкаНаОбъект?
22 cw014
 
08.05.13
10:16
1) Делаешь обработку, кидаешь в нее реквизит "СсылкаНаОбъект" - это ссылка на твой документ.

2) Создаешь в модуле обработки экспортную процедуру "Печать"

3) Можешь создать макет "Параметры_Авторегистрации", где указать в первой колонке список документов, для которых будет подходить эта обработка. Пример "Документы.ЗаказПоставщику"

4) Кидаешь во внешние печатные формы, заходишь в свой документ, тыкаешь "Печать"

PROFIT
23 cw014
 
08.05.13
10:17
(21) Ты наверное не ко всем реквизитам добавила

А вообще по уму делается выборка по шапке и выборка по табличной части. И уже из этого добра заполняется макет. При этом во внутреннем модуле подставляется параметром в запросы "Ссылка", а во внешнем "СсылкаНаОбъект"
24 cw014
 
08.05.13
10:18
В (22) ошибся во втором пункте. Не процедуру а функцию, которая должна вернуть ТабличныйДокумент
25 Елена-Тамара
 
08.05.13
10:23
(22) пока не поняла.... это что другой способ создания ВПФ? Не тот по которому я шла?
26 cw014
 
08.05.13
10:26
(25) 6. Переделала ее на Функция Печать (Тип) Экспорт

Переделай на "Функция Печать() Экспорт"
27 Елена-Тамара
 
08.05.13
10:31
(24) уф.... что мне сейчас лучше сделать - добивать мою обработку или способ (22) лучше?
28 Елена-Тамара
 
08.05.13
10:34
(26) Сделала. Ошибки:
{ВнешняяОбработка.ЗаказПоставщикуДляПрибора.МодульОбъекта(34,7)}: Переменная не определена (Тип)
   Если <<?>>Тип = "ЗаказПоДаннымПоставщика" Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ЗаказПоставщикуДляПрибора.МодульОбъекта(259,7)}: Переменная не определена (Тип)
   Если <<?>>Тип = "ЗаказПоДаннымПоставщика" Тогда (Проверка: Толстый клиент (обычное приложение))
{ВнешняяОбработка.ЗаказПоставщикуДляПрибора.МодульОбъекта(321,9)}: Переменная не определена (Тип)
           Если <<?>>Тип = "ЗаказПоДаннымПоставщика" Тогда (Проверка: Толстый клиент (обычное приложение))
29 Елена-Тамара
 
08.05.13
10:38
(26)+
Сделала Везде СсылкаНаОбъект.Тип

синтаксических ошибок нет.
пошла проверять.....
30 cw014
 
08.05.13
10:40
Эээээ, а что это вообще за тип?

Если этот тип передается как параметр, при этом выводятся разные формы - тогда это либо параметры обработки печати (можно найти во внешних печатных формах в таблице "Принадлежность"), либо разные печатные формы (читай разные объекты)
31 Елена-Тамара
 
08.05.13
10:40
(26) +
Ошибка:
Не удалось сформировать внешнюю печатную форму!
Поле объекта не обнаружено (Тип)
32 cw014
 
08.05.13
10:41
(31) Логично. Читай (30)
33 Елена-Тамара
 
08.05.13
10:47
(30)Судя по модулю документа Заказ поставщику, в зависимости от типа используются разные функции печати:
ПечатьСчетаЗаказа(Тип)
ПечатьСчетаЗаказаКорректировки(Тип)
ПечатьПеречняМатериалов(Тип)

при этом используется один и тот же макет "СчетЗаказ"


вот только я все равно не знаю, что мне с этим "типом" делать....
34 Галахад
 
гуру
08.05.13
10:51
(33) Найди строку где
Тип = ...
35 cw014
 
08.05.13
10:51
(33) Что у тебя в тип передается при твоей печати?
36 cw014
 
08.05.13
10:51
(33) И всегда ли одно значение передается при твоей печати?
37 ДенисЧ
 
08.05.13
10:52
(7) не заморачивайся... :-)
38 Елена-Тамара
 
08.05.13
11:45
(35) в модуле документа "Заказ поставщику" нет оператора присваивания значения "типу". Сразу идет проверка его значения.

Я добавила в модуль внешней обработки тип="********".
Т.е. у меня всегда выполняется ветка "ИНАЧЕ"

Заработало!

НО! Своей обработкой я печатаю макет СчетЗаказ из стандартной конфигурации, а мне надо свой новый......
39 cw014
 
08.05.13
11:46
Тогда делаешь:
Макет = ПолучитьМакет("СчетЗаказ");
И свой СчетЗаказ пихачишь в обработку
40 Елена-Тамара
 
13.05.13
10:48
(39) Шапка и подвал печатной формы получились.

Табличная часть - почти...
Теперь надо вывести в табличной части еще одну графу Заказ (т.е. ту графу, где указан документ резерва).

В модуле внешней печатной формы (скопированной из модуля документа Заказ поставщику), там где явно идет выборка табличной части, пытаюсь вызвать конструктор запроса.
Ругань - "Не найден текст запроса. Создать новый запрос?"

Как же мне теперь добавить в табличной части графу документа резерва?
41 cw014
 
13.05.13
10:49
(40) А руками никак не добавить?
42 cw014
 
13.05.13
10:50
(40) И кстати правильно пишет...
Руками добавляй поля
43 Елена-Тамара
 
13.05.13
10:53
(42) Где добавлять? В этом псевдозапросе?
44 Елена-Тамара
 
13.05.13
10:59
Как мне узнать имя данных в этом поле?
45 Елена-Тамара
 
13.05.13
11:07
Ну, пожалуйста, помогите новичку
46 cw014
 
13.05.13
11:21
На почту или в аську напиши, так не смогу конкретно сказать где и что добавлять
47 Елена-Тамара
 
16.05.13
07:28
cw014, спасибо большое. Все работает.