8.х Долг в расходной накладной в УТ 8.1

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем benoev, 21 фев 2011.

  1. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте, Добрые люди, помогите пожалуйста, как можно в печатной форме расходной накладной в конфигурации Управление торговлей 8.1 вытащить долг по покупателю, чтобы там выходила общая сумма долга по покупателю.

    Заранее спасибо!!!
  2. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    В функцию ПечатьТОРГ12 в модуле документа Реализация вставить соответствующий запрос к регистру Взаиморасчеты с контрагентами.
    (надпись долга на форме этого документа при открытии формируется такой функцией :
    Код:
    СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, СсылкаДокумент);
    
    И результат его вставлять в печатную форму)



    Но лучше конечно сделать это в виде внешней печатной формы, чтобы конфу не править...
  3. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    мне немного не понятно, но зачем это прописывать в функции ПечатьТОРГ12 в модуле документа Реализация, мне же нужно в печатной форме накладной, а печпть ТОРГ12 ведь не к этому относиться или они как то связаны???

    Извините меня я просто новичок в программировании!!!
  4. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Вы не уточнили какую форму печатаете, вот человек и сказал навскидку. Вставляйте в ту функцию, которая формирует необходимую вам печатную форму.
  5. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    я извиняюсь, я печатаю форму "расходная накладная", которая печатается по умолчанию из документа "Реализация товаров и услуг"
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Ну значит вставляйте в соответствующую функцию. (на память не помню, ПечатьНакладной() наверно называется).
  7. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Как я понял этот текст нужно вставить в модуль документа в функцию ПечатьДокумента(СуммыВРублях = Ложь)? а куда именно не знаю

    когда я просто вставляю в самый конец, она выдает ошибку
  8. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Какой текст вставляете?
    В зависимости от того, где вы хотите там этот долг вывести в шапке или подвале - вставляйте перед выводом соответствующей области табличного документа. В самом макете не забудте прописать ячейку с соответствующим параметром.
  9. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    И какую ошибку выдает напишите...
  10. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Я вставляю этот текст в модуль объекта, мне так сказали, немного сверху посмотрите, мне сказали, что нужно вставить в модуль объекта

    СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, СсылкаДокумент);

    Только куда именно не знаю, там функция есть ПечатьДокумента(СуммыВРублях = Ложь) вот туда сказали вставить, может это не правильно???
  11. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Правильно.
  12. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    вот я вставляю и пишет ошибку, по моему я не туда вставляю???

    Вот ошибка: {Документ.РеализацияТоваровУслуг(466,81)}: Переменная не определена (СсылкаДокумент)
    СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, <<?>>СсылкаДокумент);


    я вставил этот текст в самый конец этой функции и добавил параметр "Долг" в накладную

    Вложения:

  13. yzek
    Offline

    yzek Опытный в 1С

    Регистрация:
    13 окт 2010
    Сообщения:
    713
    Симпатии:
    0
    Баллы:
    26
    Попробуйте заменить
    Код:
    СсылкаДокумент
    
    на
    Код:
    ЭтотОбъект.Ссылка
    
  14. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Выше вставляйте! Перед ТабДокумент.Вывести(ОбластьМакета).

    Код:
    ОбластьМакета.Параметры.СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, ЭтотОбъект.Ссылка);
    
    В макет в соответствующую область добавьте параметр с именем "СуммаДолга".
  15. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Сделал как вы сказали, нажимаю в режиме 1с Предприятие на печатную форму расходной накладной и появляется ошибка:

    {Документ.РеализацияТоваровУслуг(462)}: Поле объекта не обнаружено (СуммаДолга)
    ОбластьМакета.Параметры.СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, ЭтотОбъект.Ссылка);

    Вложения:

  16. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    А в макете - где этот параметр?
  17. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Вот он, может название неправильное?

    Вложения:

  18. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    После вывода области макета Покупатель добавьте код:

    Код:
    ОбластьМакета = Макет.ПолучитьОбласть("СуммаДолга");
    ОбластьМакета.Параметры.СуммаДолга = УправлениеВзаиморасчетами.ТекущийДолг(ДоговорКонтрагента, Сделка, ЭтотОбъект.Ссылка);
    ТабДокумент.ВывестиОбластьМакета();
    
    
  19. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Название правильное. Поясняю: у вас этот параметр задан в отдельной области макета, а присвоить значение вы пытаетесь когда выводите область "Подписи".
    Таким образом либо допишите участок кода, где получаете область "СуммаДолга", присваиваете параметру СуммаДолга в этой области значение, и выводите эту область на экран. Ну либо перенесите параметр СуммаДолга в "Подписи". (я так понимаю вам этот вариант не подойдет, поскольку хотите сверху).
  20. TopicStarter Overlay
    benoev
    Offline

    benoev Опытный в 1С

    Регистрация:
    21 окт 2010
    Сообщения:
    636
    Симпатии:
    0
    Баллы:
    26
    Всё сделал, большое спасибо, только вот в надписи написано просто сумма (долг - 5300), а как сделать надпись долг - 5300 рублей???

    Вложения:

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