8.х Авансовый отчет внешняя печатная форма

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Sergey14, 20 июн 2011.

  1. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    Добрый день!
    подскажите пожалуйста что не так в моей обработке, вылетает ошибка:

    {ВнешняяОбработка.АвансовыйОтчет.МодульОбъекта(58)}: Ошибка при вызове метода контекста (МоментВремени)
    Запрос.УстановитьПараметр("ДатаИтогов", СсылкаНаОбъект.МоментВремени());
    по причине:
    Элемент не выбран!

    в принципе обработку вытащил из 1С бухгалтерия добавил "СсылкаНаОбъект" но вот тут, упертая, не хочет работать.

    Посмотреть вложение 7677

    1С.8.2 (Бухгалтерия сельхоз.предприятия)

    Вложения:

  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Смотреть не стала. Смею предположить, что в вашей обработке реквизит "СсылкаНаОбъект" имеет тип, отличный от ДокументССЫЛКА.АвансовыйОтчет :)
  3. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Я посмотрел (краем глаза)))).
    У Вас немного неправильный подход. Зачем там форма??????
    Т.е. я так понимаю, Вы открываете форму, в поле ввода выбираете ав. отчет и по кнопке "Выполнить" пытаетесь сформировать печатную форму. Этого ничего не надо!!!
    Эту внеш. обработку просто закиньте в справочник "Внеш. обработки (внеш.печатные формы)". И прямо из документа ав.Отчет печатайте (по кнопке "Печать" как обычно).
  4. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    да я так и делал, просто после вылетания ошибок, для отладки (чтобы постоянно в дополнительные печатные формы не лазить и постоянно не выбирать) создал форму...
    выкинул форму вылетела ошибка типа:

    Не удалось сформировать внешнюю печатную форму!
    Преобразование значения к типу Дата не может быть выполнено
  5. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Вряд ли это поможет:)))
    Можно еще дурацкий вопрос? Зачем Вам внеш. печ. форма Авансового отчета (форма АО-1), когда она и так печатается из типового документа?
    Макет у Вас называется "М-4". Отсюда я делаю вывод, что задумка была сделать форму Приходного ордера (который печатается из документа "Поступление Тов и Услуг"). Я прав?

    Потому что у Вас написано
    Код:
    ....Дата(СсылкаНаОбъект)
    
    А надо
    Код:
    СсылкаНаОбъект.Дата); 
    
  6. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Только поле на форме у вас не связано с реквизитом обработки "СсылкаНаОбъект", вот и получается, что в этом реквизите пусто, отсюда и "Элемент не выбран!" :)
    А на дату ругается вот в этом месте:
    Код:
    Дата(СсылкаНаОбъект)
    
    Пишите тогда уж
    Код:
    СсылкаНаОбъект.Дата
    
    Посмотреть вложение 7679

    Вложения:

  7. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    немножко нет!
    ситуация такая у нас база под подчиненым узлом, а бухгалтер попросил добавить пару строк в макет...
    название - просто написано...

    исправил спасибо
    а теперь:
    Не удалось сформировать внешнюю печатную форму!
    Недостаточно фактических параметров
  8. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    Теперь вариант с формой работает (файл в моем сообщении), смотрите в отладчике, где ругается.
  9. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    ух...
    в общем если через форму то ошибка:
    {ВнешняяОбработка.АвансовыйОтчет.МодульОбъекта(58)}: Ошибка при вызове метода контекста (МоментВремени)
    Запрос.УстановитьПараметр("ДатаИтогов", СсылкаНаОбъект.МоментВремени());
    по причине:
    Элемент не выбран!

    а если через внешние печатные формы то:
    Не удалось сформировать внешнюю печатную форму!
    Недостаточно фактических параметров

    а где файл?
  10. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    У Вас вот здесь при вызове общей функции - один параметр (в той функции их два)
    Код:
    КурсДока = ЗаполнениеДокументов.КурсДокумента(мВалютаРегламентированногоУчета);
    
    Надо добавить еще один параметр - Объект.
    Код:
    КурсДока = ЗаполнениеДокументов.КурсДокумента(СсылкаНаОбъект.ПолучитьОбъект(), мВалютаРегламентированногоУчета);
    
    В следующей строке, где кратность - то же самое.
  11. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    все ровно ругается
    КурсДока = ЗаполнениеДокументов.КурсДокумента(СсылкаНаОбъект.ПолучитьОбъект(), мВалютаРегламентированногоУчета);
  12. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Как именно ругается?
    У меня не ругается...Правда у меня бухгалтерия НЕ сельхоз предприятия.
  13. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    {ВнешняяОбработка.АвансовыйОтчет.МодульОбъекта(144)}: Недостаточно фактических параметров
    КурсДока = ЗаполнениеДокументов.КурсДокумента(мВалютаРегламентированногоУчета);
  14. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Что-то не видно, что Вы добавили "СсылкаНаОбъект.ПолучитьОбъект(), "
    Или просто не перевыбрали файл внешней обработки.
  15. TopicStarter Overlay
    Sergey14
    Offline

    Sergey14

    Регистрация:
    17 июн 2011
    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    поправил сразу две строки:

    КурсДока = ЗаполнениеДокументов.КурсДокумента(СсылкаНаОбъект.ПолучитьОбъект(), мВалютаРегламентированногоУчета);
    КратДока = ЗаполнениеДокументов.КратностьДокумента(СсылкаНаОбъект.ПолучитьОбъект(),мВалютаРегламентированногоУчета);

    прокатило...

    теперь:

    {ВнешняяОбработка.АвансовыйОтчет.МодульОбъекта(290)}: Поле объекта не обнаружено (ПредставлениеБухгалтера)
    ОбластьМакета.Параметры.ПредставлениеБухгалтера = Представление;



    о.. нашел косяк...

    Всем спасибо заработало!!!

    Если кому потребуется вот файл!

    Посмотреть вложение 7680

    Вложения:

  16. limbo
    Offline

    limbo

    Регистрация:
    10 ноя 2010
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Помогите пожалуйста, создала внешнюю обработку, в макете в одной из ячеек мне нужно, чтобы было :"Исполнитель и Заказчик составили и подписали настоящий Акт передачи прав о том, что Исполнитель передал, а Заказчик принял неисключительные (ограниченные) права, указанные ниже, программы для ЭВМ и базы данных по договору № СЛ-009-10 от 01.01.2011, в свойствах ячейки, в макете "заполнение" поставила "шаблон", подскажите что сделать дальше? как прописать в модуле, чтобы на печать выводился текст, договор и дата?
  17. 1cUserAndrew
    Offline

    1cUserAndrew Профессионал в 1С Команда форума

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Т.е. текст всегда будет один и тот же. А номер договора и дата будут меняться. Я правильно понял?
    Тогда номер и дату в макете надо заключить в квадратные скобки. Таким образом, они будут являться параметрами.
    А в тексте кода перед выводом области заполняете эти параметры как обычно:
    Код:
    Область.Параметры.НомерДоговора = НомерДоговора;
    Область.Параметры.ДатаДоговора= ДатаДоговора;
    ТабДокумент.Вывести(Область);
    
    Или вы что-то другое имели в виду?

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