Регистрация внешней формы регламентированного отчета

В данной статье описана процедура регистрации внешней формы регламентированного отчета.
И хотя описание данной процедуры имеется как в сопроводительных текстовых документах, поставляемых вместе с  внешними формами, так и во встроенной справке (которую можно вызвать из элемента справочника "Регламентированные отчеты"), тем не менее для некоторых пользователей лучше когда всё описано по шагам и с картинками.

Способ 1. «Для бухгалтера».

Заходим в меню «Файл»->»Открыть», выбираем файл внешнего отчёта (например, «BUH_BP20347.erf»).

Появляется диалог с вопросом «Зарегистрировать внешний регламентированный отчет в информационной базе?», нажимаем кнопку «Да»:

 

Программа сообщает что отчёт зарегистирован:

Теперь в форме регламентированных отчётов к названию данного отчёта будет добавлено «(внешний)»:

Способ 2. «Для ИТ-специалиста».

Открываем справочник «Регламентированные отчеты»:

  • «Операции»->»Справочники…»->»Регламентированные отчеты»
  • или «Отчеты»->»Регламентированные отчеты», в открывшейся форме «Регламентированная и финансовая отчетность» нажать кнопку «Справочник отчетов».

Открываем на редактирование нужный элемент справочника (например, «Бухгалтерская отчетность (с 2011 года)», ставим переключатель «Использовать» в положение «Файл», выбираем файл внешней формы (например,  «BUH_BP20347.erf») и сохраняем элемент справочника:

Чтобы вернуться к использованию отчёта, встроенного в конфигурацию, нужно вернуть переключатель в положение «объект».

Чтобы удалить внешний отчёт из ИБ, нужно нажать кнопку очистки в поле выбора файла («Х»).

 

18 Comments

  1. q_i

    В данной статье описана процедура регистрации внешней формы регламентированного отчета.

    И хотя описание данной процедуры имеется как в сопроводительных текстовых документах, поставляемых вместе с внешними формами, так и во встроенной справке (которую можно вызвать из элемента справочника «Регламентированные отчеты»), тем не менее для некоторых пользователей лучше когда всё описано по шагам и с картинками.

    Перейти к публикации

    Reply ↓
  2. pumbaE

    Нет слов «описание данной процедуры имеется как в сопроводительных текстовых документах, поставляемых вместе с внешними формами, так и во встроенной справке (которую можно вызвать из элемента справочника «Регламентированные отчеты»)» …

    Спасибо большое за кратинки 😮

    Reply ↓
  3. q_i

    (1) pumbaE, на здоровье!

    Reply ↓
  4. serega3333

    это офигенная инструкция! спасибо! очень много полезного!

    Reply ↓
  5. q_i

    Нашёл в журнале Бух.1С за февраль 2011 вполне внятную статью на эту тему. Называется «Настройка использования внешних отчетов для «1С:Предприятия 8″».

    Reply ↓
  6. klel

    Большое спасибо за информацию очень помогла =) побольше бы людей таких =) и на белом свете было бы намного лучше 😉

    Reply ↓
  7. alex_shkut

    Вот Вы поржали, а у меня вопрос. Я под полными правами зарегистрировал отчет «по-бухгалтерски» и он не открывается у бухов. Права на внешние отчеты у них есть (если это относится к этому виду). Пишет «Невозможно открыть отчет!!!». Залил в конфигурацию — все нормально.

    Reply ↓
  8. q_i

    (6) alex_shkut, а под полными правами запускается? почему-то у меня такое ощущение что если «невозможно открыть отчет», то дело может быть и не в правах вовсе, а, например, файл битый в базу лёг.

    если в справочнике «Регламентированные отчеты» найти этот отчёт и сказать «Выгрузить внешний отчет в файл» и сравнить с изначальным файлом отчёта — они совпадают?

    а что дословно он пишет при запуске?

    Reply ↓
  9. Isperator

    Круто написали)))

    Reply ↓
  10. evpco

    Спасибо за инструкцию. Не знал бы как, точно бы помогло.

    Есть маленький вопросик: были изменены две идентичные конфигурации, менялись со временем одинаково, теперь пытаюсь посадить внешний рег. отчет (по подписке поставляемый 1с) — в одной базе он садится, а в другой только делает вид, т.е. в скобках появляется надпись «внешний», но видит только внутренний, другие отчеты видят в обе конфы. Базу тестировал и выгружал — бесполезно. Подскажите, где копать?! Где в конфе происходит выбор внешняя или внутренняя?

    Reply ↓
  11. q_i

    (9) evpco, а как определили что используется внутренний отчёт вместо внешнего?

    Попробуйте в консоли запросов:

    ВЫБРАТЬ * ИЗ Справочник.РегламентированныеОтчеты ГДЕ ВнешнийОтчетИспользовать

    — показывает Ваш внешний отчет?

    Если умеете работать с отладчиком, то можно сделать так: в конфигураторе откройте общий модуль РегламентированнаяОтчетность и поставьте точку останова в функции РеглОтчеты(Наим, НеЗапоминатьВКэше = Ложь) Экспорт на строке:

    Если НЕ ПризнакИспользованияВнешнегоОтчетаСУчетомКэша(НайденныйЭлемент, НеЗапоминатьВКэше) ИЛИ НайденныйЭлемент.ВнешнийОтчетХранилище = Неопределено Тогда // используется внутренний отчет

    Затем в открытом в режиме отладки «1С:Предприятии» запустите интересующий Вас отчёт и проследите по какой ветке пойдёт код — по «Тогда // используется внутренний отчет» или по «Иначе // используется внешний отчет».

    Reply ↓
  12. evpco

    (10) Спасибо.

    Определил легко — ревизия прошлогодняя…

    При выполнении запроса в консоли ее находит (как я и писал выше в скобках «внешний» пишется), но при заполнении выводит старую внутреннюю форму.

    Выполнение отладки указанной Вами функции идет двумя путями:

    1.Если любой другой внешний отчет, то идет по «Иначе» // используется внешний отчет

    2.Если проблемный отчет, то // используется внутренний отчет

    Блин, ни сам отчет, ни общий модуль «Регламентированнаяотчетность» не менялся

    Reply ↓
  13. evpco

    (10)Добавил: Если найденныйэлемент.ИсточникОтчета = «РегламентированныйОтчет300Форма» тогда

    // используется внешний отчет

    т.е насильно пустил по другому пути — открывается внутренний!?

    Reply ↓
  14. evpco

    При отладке после останова на

    Если ПризнакИспользованияВнешнегоОтчетаСУчетомКэша(НайденныйЭлемент) <> Истина ИЛИ НайденныйЭлемент.ВнешнийОтчетХранилище = Неопределено  Тогда // используется внутренний отчет

    сразу переходит на этот код:

    Функция ПризнакИспользованияВнешнегоОтчетаСУчетомКэша(РеглОтч)
    
    Перем ОтчетВКэше;
    
    Попытка
    Кэш = ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов.Получить(); //на эту строчку
    Исключение
    Кэш = Новый Структура;
    КонецПопытки; //затем сюда
    
    Если Кэш.Свойство(РеглОтч.ИсточникОтчета, ОтчетВКэше) Тогда //затем сюда причем во всех внешних появляются значения РеглОтч.ИсточникОтчета и ОтчетВКэше(значение «структура»), а в проблемном отчете только РеглОтч.ИсточникОтчета, а ОтчетВКэше(пусто)
    Возврат ОтчетВКэше.Признак; //далее сюда со значение «ложь» (в остальных «истина»)
    Иначе
    Попытка
    ВнешнийОтчетИспользовать = РеглОтч.ВнешнийОтчетИспользовать;
    Кэш.Вставить(РеглОтч.ИсточникОтчета, Новый Структура(«Отчет, Признак», РеглОтч.ВнешнийОтчетХранилище.Получить(), ВнешнийОтчетИспользовать));
    ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов = Новый ХранилищеЗначения(Кэш);
    Возврат ВнешнийОтчетИспользовать;
    Исключение
    Возврат Неопределено;
    КонецПопытки;
    КонецЕсли;
    
    КонецФункции // ПризнакИспользованияВнешнегоОтчетаСУчетомКэша()
    

    Показать

    затем конец функции и выбирается внутренний вместо внешнего….

    Где копать???

    Помогите, пожалуйста!!!

    Reply ↓
  15. q_i

    (13) evpco, а что за конфигурация? В Бух/УПП совершенно другой код для Функция ПризнакИспользованияВнешнегоОтчетаСУчетомКэша(РеглОтч).

    Судя по Вашему коду, этот отчёт где-то «заело» в ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов.

    Посмотрите как и где заполняется ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов.

    Далее в это хранилище нужно как-то запихнуть Ваш отчёт с Признаком = Истина.

    Можете попробовать в консоли кода или в обработке сделать что-то вроде (в ТЕСТОВОЙ базе):

    РеглОтч = Справочники.РегламентированныеОтчеты.Найти(<как-то>);
    Если ЗначениеЗаполнено(РеглОтч) Тогда
    Кэш = ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов.Получить();
    Кэш.Вставить(РеглОтч.ИсточникОтчета, Новый Структура(«Отчет, Признак», РеглОтч.ВнешнийОтчетХранилище.Получить(), Истина));
    ПараметрыСеанса.ХранилищеПараметровВнешнихРегламентированныхОтчетов = Новый ХранилищеЗначения(Кэш);
    КонецЕсли;
    

    и потом ещё раз запустить непокорный регл.отчёт.

    Reply ↓
  16. evpco

    (14)С наступающими праздниками!

    Конфигурация Бухгалтерия для Казахстана.

    Запихнуть в хранилище не получается…

    Reply ↓
  17. pentanom

    Добрый день !

    Описал проблему в https://forum.infostart.ru/forum9/topic196272/

    Отчет формируется, но не выгружается. Пробовал сформировать внешний отчет из типового без всяких переделок. Но результат тот же.

    Reply ↓
  18. pentanom

    Где во внешнем регламентированном отчете указывается версия формата выгрузки ?

    Похоже. что теперь это нужно указывать.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *