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

Тема в разделе "1C и всё что с ней связано", создана пользователем Renewer, 7 май 2008.

Статус темы:
Закрыта.
  1. Renewer

    Renewer Гость

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

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

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

    Заранее спасибо.
     
  2. Sangitam

    Sangitam Well-Known Member

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

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

    Isabela Гость

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

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

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

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


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

    Renewer Гость

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

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

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

    Isabela Гость

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

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

    Renewer Гость

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

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

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

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

    Заранее спасибо.
     
  7. Isabela

    Isabela Гость

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

    Renewer Гость

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

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

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

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

    Isabela Гость

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

    Renewer Гость

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

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

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

    Isabela Гость

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

    Renewer Гость

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

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

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

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

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

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

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

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

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

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

    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;
    // Если несколько р/с у клиента, организуй выборку нужного из списка
     
  14. Renewer

    Renewer Гость

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

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

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

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

    Isabela Гость

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

    Renewer Гость

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

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

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

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


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

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

    Isabela Гость

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

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

    Renewer Гость

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

    Isabela Гость

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

Поделиться этой страницей