Не выводит на печать Т12 данные контрагента

  • Автор темы Renewer
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Renewer

Доброго дня.
1С Предприятие 7.7 (сетевая версия) (7.70.018-не знаю че за цифры)
Типовая конфигурация Торговля и склад редакция 8.7
Оптово-розничная конфигурация (7.70.872-не знаю че за цифры)

Выше описал чем располагаю. Столкнулся с проблемой.
При выписывании расходной накладной, забив контрагента и нажав кнопку "Торг12"
я не вижу полных реквизитов контрагента ДЛЯ ПЕЧАТИ.
Т.е. выводятся в ТОРГ12 только название организации и ее юр.адрес.
Другие данные (в частности р/счет (он вбит в контрагенте)) даже не отображаются.
Где мне прописать (может в конфигураторе) чтобы выводились в ТОРГ12 все данные контрагента?

И второй вопрос здесь же. Желательно чтобы и заполнялись данные автоматически в ТОРГ12:
Грузополучатель и Поставщик. (в расходной накладной нет кнопок чтобы вбить и эти значения).

Заранее спасибо.
 
S

Sangitam

Да, это настраивается в конфигураторе.
Фактически, все данные из формы можно перенести в печатную форму.
Для этого добавьте необходимое количество строк в печатной форме и в ячейках укажите, что там будет находиться, текст или выражение. Примеры можно увидеть тут же в печатной форме.
Данные из формы следует записывать в виде выражения.
Общий пример:
В колонке Х строке У установить текст "Примечание"
В колонке Х+1 строке У установить выражение "имя_рекизита_примечания_из_формы"

Кнопки придется также добавлять вручную
На каждую прописать процедуру(если потребуется)
Примеры -- опять же в модуле РН.
 
I

Isabela

Вот кусочек кода, заполняющий шапку Торг12 для твоей конфигурации (8.72)

Плательщик = СокрЛП(Клиент.ПолнНаименование)+", "+СокрЛП(Клиент.ПочтовыйАдрес)+", тел: "+СокрЛП(Клиент.Телефоны);
ОрганизацияАдрес = СокрЛП(Фирма.ПолнНаименование)+", "+СокрЛП(Фирма.ИНН)+", "+
глАдресСтрокой(Фирма.ЮридическийАдрес);

ОрганизацияПочтАдрес = СокрЛП(Фирма.ПолнНаименование)+", "+СокрЛП(Фирма.ИНН)+", "+
глАдресСтрокой(Фирма.ПочтовыйАдрес);

СчетФирмы = Фирма.СчетПоУмолчанию;
Если ПустоеЗначение(СчетФирмы) = 0 Тогда
ОрганизацияАдрес = ОрганизацияАдрес + ", счет № " + СокрП(СчетФирмы.Номер);
Если ПустоеЗначение(СчетФирмы.БанкОрганизации) = 0 Тогда
ОрганизацияАдрес = ОрганизацияАдрес + ", в " + СокрП(СчетФирмы.БанкОрганизации.Наименование);
КонецЕсли;
КонецЕсли;


Если нужно в реквизит "Плательщик" добавить расчетный счет, выбери расчетные счета по контрагенту и прицепи справа
 
R

Renewer

Вот кусочек кода, заполняющий шапку Торг12 для твоей конфигурации (8.72)


Если нужно в реквизит "Плательщик" добавить расчетный счет, выбери расчетные счета по контрагенту и прицепи справа

Все так и сдела, спасибо огромное!
Только вот до конца не доделал.

В "Плательщик" то я собираюсь добавить р/счет клиента.
А только вот какие это константы, т.е. СчетКлиента или Клиент.Счет? Да и у банка клиента какая константа?
Где они хранятся, как узнать, какая константа по Поставщику, По Грузополучателю и т.п. хранится в моей конфигурации?

Редактирую (необходимо еще)
Константа на Счет Клиента
Константа на Банк Клиента
Константа на БИК Банка Клиента
Константа на кор/счет Банка Клиента
 
I

Isabela

Cправочник "РасчетныеСчета" подчинен справочнику "Контрагенты". Поскольку в типовой 8.72 в документе "Реализация" нет реквизита "Расчетный счет контрагента", то нужно :
либо его добавить в шапку документа,
либо, если у контрагента ОДИН р/с, добавлять его при печати;
в ином случае обеспечить выборку р/счетов контрагента из предварительно сформированного списка непосредственно перед печатью

Все нужные рекизиты расчетного счета найдешь в структуре справочника "РасчетныеСчета"
 
R

Renewer

Isabela
...Если нужно в реквизит "Плательщик" добавить расчетный счет, выбери расчетные счета по контрагенту и прицепи справа

Вот как раз с этим у меня и трудности(.
Плательщик = (вот тут как прицепить счет клиента, бик банка клиента) мне непонятно

...либо его добавить в шапку документа

Это как раз то, о чем я спрашиваю выше?.
Подскажите, пожалуйста! Буду очень благодарен!.

Заранее спасибо.
 
I

Isabela

Предположим, Расчетный счет контрагента один или уже выбран (РасчетныйСчет).
Тогда
Плательщик = Плательщик + "Р/с "+РасчетныйСчет.Номер+", БИК "+РасчетныйСчет.БикБанка...
В чем проблема ?
А "добавить в шапку документа" значит завести новый реквизит шапки "РасчетныйСчет" и вывести его на форму документа
 
R

Renewer

Предположим, Расчетный счет контрагента один или уже выбран (РасчетныйСчет).
Тогда
Плательщик = Плательщик + "Р/с "+РасчетныйСчет.Номер+", БИК "+РасчетныйСчет.БикБанка...
В чем проблема ?

Проблема вот в этом:
Плательщик = "Р/с "+Клиент.РасчетныйСчет.Номер+", БИК "+Клиент.РасчетныйСчет.БикБанка;

Выходит сообщение:
Документ.Расходная накладная.Форма модуль(589):Поле агрегатного объекта не обнаружено.(Расчетный счет)

Isabela
Как я понимаю..1С в моей конфигурации не понимает выражение "РасчетныйСчет".
Менял на "СчетФирмы" "Счет"...все время одна ошибка: "Поле агрегатного объекта не обнаружено..."

Где можно найти в 1С эти константы, в которых данные сохранены: счетбанка, бикбанка и т.п.?
 
I

Isabela

Если лень читать ЖКК, посмотри, как в глобальном модуле устроена
Процедура глПлатежныеРеквизиты
 
R

Renewer

Если лень читать ЖКК, посмотри, как в глобальном модуле устроена
Процедура глПлатежныеРеквизиты

Мне ничего не леть..я не знаю что такое ЖКК и где его найти.

Спасибо тебе огромное..нашел в глобальном модуле...
Если что, то позову еще раз.
Тысячу раз СПАСИБО!

P.S. а что такое ЖКК?
 
I

Isabela

Кроме Желто-Красных Книжек (ЖКК - описание встроенного языка там есть в частности, а также описание конфигуратора) есть еще синтакс-помощник.
А берясь за умственные задачи, все же стоит представлять, что такое подчиненный справочник, и как его использовать
 
R

Renewer

Кроме Желто-Красных Книжек (ЖКК - описание встроенного языка там есть в частности, а также описание конфигуратора) есть еще синтакс-помощник.
Процедура глПлатежныеРеквизиты(Счет, СтрОрганизация="", СтрБанк="", РасчСчет="", БИК="", КоррСчет="", НаДату = "") Экспорт

Если ПустоеЗначение(НаДату) = 1 Тогда
НаДату = ТекущаяДата();
КонецЕсли;
СтрОрганизация = ""; СтрБанк = "";

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

Если Счет.БанкДляРасчетов.Выбран() = 1 Тогда
глДобавитьРеквизит(СтрОрганизация, " р/с ", Счет.Номер);
глДобавитьРеквизит(СтрОрганизация, " в ", Счет.БанкОрганизации.Наименование);
глДобавитьРеквизит(СтрОрганизация, " ", Счет.БанкОрганизации.Местонахождение);

глДобавитьРеквизит(СтрБанк, "", Счет.БанкДляРасчетов.Наименование);
глДобавитьРеквизит(СтрБанк, " ", Счет.БанкДляРасчетов.Местонахождение);

РасчСчет = Счет.БанкОрганизации.КоррСчет;
БИК = Счет.БанкДляРасчетов.Код;
КоррСчет = Счет.БанкДляРасчетов.КоррСчет;
Иначе
глДобавитьРеквизит(СтрБанк, "", Счет.БанкОрганизации.Наименование);
глДобавитьРеквизит(СтрБанк, " ", Счет.БанкОрганизации.Местонахождение);

РасчСчет = Счет.Номер;
БИК = Счет.БанкОрганизации.Код;
КоррСчет = Счет.БанкОрганизации.КоррСчет;
КонецЕсли;

Если ПустоеЗначение(Счет.Корреспондент)=0 Тогда
СтрОрганизация=Счет.Корреспондент;
КонецЕсли;

КонецПроцедуры //глПлатежныеРеквизиты()

Я полагаю, что здесь даже не присваивается Клиенту никаких реквизитов, связанных с р/счетом?
Нужно подобное набрать для "Клиента"?
 
I

Isabela

Сделай просто :
RS = CreateObject("Справочник.РасчетныеСчета");
RS.UseOwner(Клиент);
RS.SelectItems();
k = 0;
while RS.GetItem() = 1 do
k = k+1;
// для примера выбираем ПЕРВЫЙ счет
Break
enddo;
if k > 0 then
РасчетныйСчет = RS.CurrentItem();
endif;
if emptyValue(РасчетныйСчет) = 0 then
Плательщик = Плательщик + "Р/с "+РасчетныйСчет.Номер+", БИК "+РасчетныйСчет.БикБанка
endif;
// Если несколько р/с у клиента, организуй выборку нужного из списка
 
R

Renewer

Isabela
Я очень благодарен, Вам, Изабелла!!
Спасибо огромное! Успехов Вам!

Все заработало! Вот что у меня получилось (благодаря Вам):

"RS = CreateObject("Справочник.РасчетныеСчета");
.......
Плательщик = СокрЛП(Плательщик) + ", ИНН "+СокрЛП(Клиент.ИНН)+", Р/с "+СокрЛП(РасчетныйСчет.Номер)+" в "+СокрП(РасчетныйСчет.БанкОрганизации.Наименование)+", г."+СокрП(РасчетныйСчет.БанкОрганизации.Местонахождение)+", БИК "+СокрП(РасчетныйСчет.БикБанка)+", корр/с "+СокрП(РасчетныйСчет.БанкОрганизации.КоррСчет)
endif;

Конечно, моих знаний по программированию на такое бы не хватило))))..
 
I

Isabela

Все с элементарных вещей, так или иначе, начинали. Пока сам шишек не набьешь, Мастером не станешь !
А знания рано или поздно дадут и финансовую отдачу
 
R

Renewer

Isabela
Я еще чуть чуть Вас помучаю.

Я выкинул вот этот код:

Если ПустоеЗначение(СчетФирмы) = 0 Тогда
ОрганизацияАдрес = ОрганизацияАдрес + ", счет № " + СокрП(СчетФирмы.Номер);
Если ПустоеЗначение(СчетФирмы.БанкОрганизации) = 0 Тогда
ОрганизацияАдрес = ОрганизацияАдрес + ", в " + СокрП(СчетФирмы.БанкОрганизации.Наименование);
КонецЕсли;
КонецЕсли;

Я правильно, понимаю, что если ВБИТ уже р/счет фирмы НАШЕЙ организации, НАШ банк, и мы всегда используем одини и теже реквизиты, то этот текст НЕ НУЖЕН?


Оставляю строку (этого достаточно):

ОрганизацияАдрес = и т.д.
 
I

Isabela

Да нет, СчетФирмы - это ОДИН из банковских счетов Фирмы - реквизит справочника.Фирмы СчетПоУмолчанию (а банковских счетов Фирмы может быть несколько и СчетПоУмолчанию может измениться), так что разбирать реквизиты СчетаФирмы все же надо.
Если же СчетПоУмолчанию в справочнике "Фирмы" не задан, то надо выбирать БанковскиеСчета для конкретной фирмы по аналогии с выбором РасчетныхСчетов для Клиента, либо заводить в документе реквизит шапки "РасчетныйСчетФирмы" и там его связать с Фирмой.

P.S. Дальнейшее "мучение" ТОЛЬКО ЗА ПЛЮСИК ! :mellow:
 
R

Renewer

Isabela
Правильно говорите.
Этот код я ставил в другом месте, поэтому в накладной белеберда получалась, а выкидывал, все было прекрасно.
Спасибо еще раз. Нашел "нужное" место для этого кода и все заработало).
Конечно будет "плюсик" как только мне позволит это сделать форум. А чтобы не читать в правилах, сколько надо сообщений для "плюсования" людей?
 
I

Isabela

Isabela
Конечно будет "плюсик" как только мне позволит это сделать форум. А чтобы не читать в правилах, сколько надо сообщений для "плюсования" людей?
Да ладно, вообще-то, не в плюсиках дело, сама училась понемногу, почему ж не помочь человеку, у которого есть желание учиться.
Кстати, бесценный опыт приобрела, сделав оригинальную конфигурацию, где использовала море возможностей стандартной ТиС, а это было практически для себя, но 2 месяца бесплатной работы себя в дальнейшем с лихвой оправдали
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!