Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 апр 2024, 08:03

помогите пожалуйста внешняя печатная форма

Автор anast, 15 июл 2011, 11:25

0 Пользователей и 1 гость просматривают эту тему.

anast

кто-нибудь объясните мне пожалуйста :trhregerhg:, почему у меня выходит ошибка " Метод объекта не обнаружен (Печать)"
Функция Печать() Экспорт
   Перем Запрос, ВыборкаШапки, ВыборкаИнф; // Определяем переменные, используемые
   Перем ТабДокумент, Макет, ОбластьМакета;    // в нашей обработке
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
   Запрос.Текст = "
      |ВЫБРАТЬ
      | Док.Заявка,
      | Док.Счет,
      | Док.ДатапоСчету,
      | Док.Контрагент,
      | Док.ОстатокЗаявка,
      | Док.СтатьиЗатрат,
      | Док.СДДС,
      | Док.Комментарий,
      |ИЗ
      | Документ.ЗакрытиеЗаявокНаРасходованиеСредств КАК Док
      |ГДЕ
      |   Док.Ссылка = &ТекущийДокумент";
   ВыборкаШапки = Запрос.Выполнить().Выбрать();   // Собираем данные пол шапке документа
   ВыборкаШапки.Следующий();
   ВыборкаИнф = Запрос.Выполнить().Выбрать();   // Собираем данные по товарам документа
   
   ТабДокумент = Новый ТабличныйДокумент;
   Макет = ПолучитьМакет("Реестр");         // Получаем оригинальный макет который
                                                                           // храниться в нашей обработке
                                 
   // Выводим заголовок документа
   ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
   ОбластьМакета.Параметры.ТекстЗаголовка =
                               ОбщегоНазначения.СформироватьЗаголовокДокумента(ВыборкаШапки, "Реестр платежей");
   ТабДокумент.Вывести(ОбластьМакета);         
   
   // Выводим шапку таблицы
   ОбластьМакета = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ТабДокумент.Вывести(ОбластьМакета);
   
   // Выводим строки таблицы
   ОбластьМакета = Макет.ПолучитьОбласть("СтрокаТаблицы");
   Пока ВыборкаИнф.Следующий() Цикл
      ОбластьМакета.Параметры.Заявка = ВыборкаИнф.Заявка;
      ОбластьМакета.Параметры.Счет = ВыборкаИнф.Счет;
      ОбластьМакета.Параметры.ДатапоСчету = ВыборкаИнф.ДатапоСчету;
      ОбластьМакета.Параметры.Контрагент = ВыборкаИнф.Контрагент;
      ОбластьМакета.Параметры.ОстатокЗаявка = ВыборкаИнф.ОстатокЗаявка;
      ОбластьМакета.Параметры.СтатьиЗатрат = ВыборкаИнф.СтатьиЗатрат;
      ОбластьМакета.Параметры.СДДС = ВыборкаИнф.СДДС;
      ОбластьМакета.Параметры.Комментарий = ВыборкаИнф.Комментарий;
      ТабДокумент.Вывести(ОбластьМакета);
   КонецЦикла;
      
   // Выводим секцию для подписей сторон
   ОбластьМакета = Макет.ПолучитьОбласть("Подвал");
   ТабДокумент.Вывести(ОбластьМакета);
         
   Возврат ТабДокумент;
КонецФункции // Печать()

has

Функция где располагается? В модуле документа? Откуда вызывается?

Вася Новенький

скорее всего ты расположила в модуле формы.а нужно в модуле объекта.

anast


has


anast

да, я уже разобралась, спасибо за желание помочь))) только вот у меня еще один вопрос возник: существует три документа: счет на оплату, заявка на деньги для оплаты счета, закрытие заявки. Нужно сделать реестр платежей, где инф из трех документов сводится в одну табл, и нужно расчитать итог: сколько по каждому счету нужно еще заплатить, т.к. оплата может происходить частями через заявки. Я думаю, что можно расчитать при помощи регистра накопления, а можно как-нибудь по другому это сделать?)

anast

просто мне кажется, что в 1С все такие вычисления, тем более связанных документов, очень тяжело производить, т.к. в 1С я недавно. Порой кажется, что в любой другой среде я бы это сделала за считаные минуты, а тут так всё запутано(((

Шурыгин Иван Сергеевич

самый наверно простой выход создание регистра накопления. измерения: контрагент, договор. ресурс: суммаоплаты. при формировании счета создавать движения с видом приход, а при создании заявки расход. далее получать остатки по каждому договору контрагента через виртуальную таблицу остатки.
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Dethmontt

Если человек работает в типовой конфе, Иван Сергеевич я думаю не нужно таких жестокостей с добавлением регистра)))
Можно же и в ТЗ это все посчитать каждый раз считывая типовые регистры для расчетов. (внешняя обработка)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

anast

Спасибо за информацию) Но:Через регистр накопления не получиться, т.к. нужно, чтобы счет был запрещен для проведения, а насчет внешней обработки удобно, но не практично, то что внешняя.А можно еще как-нибудь?)))

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск