Имя: Пароль:
1C
1С v8
ВПФ счета на оплату клиенту
,
0 Riddler
 
17.09.12
13:33
Добрый день, профессионалы!
Пытаюсь сделать внешнюю печатную форму счета на оплату.
Сама форма: http://rghost.ru/40414417
ВПФ делал на основе функций и процедур из документа СчетНаОплатуПокупателю. Однако в моем варианте не печатаются банковские реквизиты, как в оригинальной форме.
Начал разбираться, как выяснилось через "сообщить (Тип);" при формировании печатной формы(оригинальной, не внешней)тип счета - "Счет", а если я запускаю свою ВПФ - то тип документа "СчетЗаказ".
Изменил строчку с
Если Тип = "Счет" Тогда
       ОбластьМакета       = Макет.ПолучитьОбласть("ЗаголовокСчета");

На:

Если Тип = "СчетЗаказ" Тогда
       ОбластьМакета       = Макет.ПолучитьОбласть("ЗаголовокСчета");

Измененная ВПФ: http://rghost.ru/40414518
При работе с измененной пишет что поле объекта Банк не обнаружено.
Помогите решить проблему - как сделать так, чтобы реквизиты присутствовали в моей ВПФ? Заранее спасибо
1 Riddler
 
17.09.12
13:34
Ссылка на измененную ВПФ:http://rghost.ru/40414518
2 Riddler
 
17.09.12
13:36
Вот кусок кода:

// Выводим шапку накладной

   СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
   сообщить(Тип);
   Если Тип = "СчетЗаказ" Тогда
       ОбластьМакета       = Макет.ПолучитьОбласть("ЗаголовокСчета");
       ОбластьМакета.Параметры.Заполнить(Шапка);
       ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
       ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
       Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
           Банк = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов), СсылкаНаОбъект.СтруктурнаяЕдиница.Банк, СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов);
           БИК        = СсылкаНаОбъект.Банк.Код;
           КоррСчет   = СсылкаНаОбъект.Банк.КоррСчет;
           ГородБанка = СсылкаНаОбъект.Банк.Город;
           НомерСчета = ВернутьРасчетныйСчет(СсылкаНаОбъект.СтруктурнаяЕдиница);

           ОбластьМакета.Параметры.БИКБанкаПолучателя               = СсылкаНаОбъект.БИК;
           ОбластьМакета.Параметры.БанкПолучателя                   = СсылкаНаОбъект.Банк;
           ОбластьМакета.Параметры.БанкПолучателяПредставление      = СокрЛП(СсылкаНаОбъект.Банк) + " " + СсылкаНаОбъект.ГородБанка;
           ОбластьМакета.Параметры.СчетБанкаПолучателя              = СсылкаНаОбъект.КоррСчет;
           ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = СсылкаНаОбъект.КоррСчет;
           ОбластьМакета.Параметры.СчетПолучателяПредставление      = СсылкаНаОбъект.НомерСчета;
           ОбластьМакета.Параметры.СчетПолучателя                   = СсылкаНаОбъект.НомерСчета;
       КонецЕсли;
3 Тоненький Клиент
 
17.09.12
13:37
А для какой конфы форма?
4 Riddler
 
17.09.12
13:42
Бухгалтерия Предприятия ПРОФ 2.0.38.6, пробую на демо-версии если что)
5 Тоненький Клиент
 
17.09.12
13:54
БИК        = СсылкаНаОбъект.Банк.Код;

а у тебя в реквизитах Счета есть Банк?
6 Riddler
 
17.09.12
13:55
Реквизиты Получатель и Банковский счет, у которого уже есть Банк
7 Тоненький Клиент
 
17.09.12
13:57
а разве не
БИК        = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Код;
8 Тоненький Клиент
 
17.09.12
13:57
ну и дальше в том же духе?
9 Тоненький Клиент
 
17.09.12
13:58
(7) вру:    БИК        = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.Код
10 Riddler
 
17.09.12
14:04
(9) Просто хотелось бы понять почему в основной конфе - текст дает результат, а если я просто скопировал его во внешнюю печатную форму - то дает тот же результат, но только без банковских реквизитов(
11 Riddler
 
17.09.12
14:04
Правд не просто скопировал, а прописал кое-где ссылки на объект
12 Тоненький Клиент
 
17.09.12
14:20
Короче, что-то типа этого, только сам разберись, что где выводится


       Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
           Банк = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов), СсылкаНаОбъект.СтруктурнаяЕдиница.Банк, СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов);
           БИК        = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.Код;
           КоррСчет   = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.КоррСчет;
           ГородБанка = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.Город;
           НомерСчета = ВернутьРасчетныйСчет(СсылкаНаОбъект.СтруктурнаяЕдиница);

           ОбластьМакета.Параметры.БИКБанкаПолучателя               = БИК;
           ОбластьМакета.Параметры.БанкПолучателя                   = Банк;
           ОбластьМакета.Параметры.БанкПолучателяПредставление      = СокрЛП(Банк) + " " + ГородБанка;
           ОбластьМакета.Параметры.СчетБанкаПолучателя              = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.КоррСчет;
           ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.КоррСчет;
           ОбластьМакета.Параметры.СчетПолучателяПредставление      = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.Банк.КоррСчет;
           ОбластьМакета.Параметры.СчетПолучателя                   = СсылкаНаОбъект.Контрагент.ОсновнойБанковскийСчет.НомерСчета;
       КонецЕсли;
13 Тоненький Клиент
 
17.09.12
14:22
У тебя СсылкаНаОбъект - это тот счет, который ты указываешь для печати. Он не имеет реквизитов, которые ты хочешь ему приписать - СсылкаНаОбъект.Банк.Код;СсылкаНаОбъект.Банк.КоррСчет; и т.д.
14 Тоненький Клиент
 
17.09.12
14:36
Кстати, а нахрена тебе эта ВПФ? тренируешься?
15 Riddler
 
17.09.12
14:43
Ну вообще мне нужно у этой ВПФ изменить формирование номера счета, чтоб было с привязкой по договорам)
16 Riddler
 
17.09.12
15:02
Короче фишка была в том что, надо было писать не так:
Банк = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов), СсылкаНаОбъект.СтруктурнаяЕдиница.Банк, СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов);
           БИК        = СсылкаНаОбъект.Банк.Код;
           КоррСчет   = СсылкаНаОбъект.Банк.КоррСчет;
           ГородБанка = СсылкаНаОбъект.Банк.Город;
           НомерСчета = ВернутьРасчетныйСчет(СсылкаНаОбъект.СтруктурнаяЕдиница);

А так:

Если ТипЗнч(СсылкаНаОбъект.СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
           Банк = ?(НЕ ЗначениеЗаполнено(СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов), СсылкаНаОбъект.СтруктурнаяЕдиница.Банк, СсылкаНаОбъект.СтруктурнаяЕдиница.БанкДляРасчетов);
           БИК        = Банк.Код;
           КоррСчет   = Банк.КоррСчет;
           ГородБанка = Банк.Город;
           НомерСчета = ВернутьРасчетныйСчет(СсылкаНаОбъект.СтруктурнаяЕдиница);

)))