Всем добрый день.
Господа, озадачивался кто проблемой выгрузки в CF отдельно произвольного объекта конфигурации?
Я озадачился, т.к полная CF-ка получается очень большая, а интернет у клиента так себе.
Где-то , когда-то читал про такой способ:
  - Сделать полную CF-ку;
  - создать свежую конфу на ту же тему;
  - сравнить-объединить ее с CF_кой;
  - убить все лишнее;
  - то что осталось выгрузить в CF.
Сделал все так, убил все кроме Общие и нужного мне отчета.
Размер CF-ки получился 120 кил, приемлемо.
Для проверки грузанул в копию исходной - балдерис, не запущается. В одном из общих модулей пишет
что значение не является значением объектного типа. Понятно, что если залезть конфигуратором то можно
поправить, но это лишает смысла всю затею.
Может кто знает, что в методе не так? Может что-то еще надо оставит?
спасибо.
---
Есть старая, но до сих пор рабочая статья
https://infostart.ru/1c/articles/66092/
---
Господа, озадачивался кто проблемой выгрузки в CF отдельно произвольного объекта конфигурации?
 - зачем? Почему не выгрузить отчет во внешний файл?
---
Это первое что я сделал. Если бы отчет изначально был внешним, то нет ничего лучше. Но это доработанная копия типового отчета. Я пытался сделать из него внешний, перенеся в модули объекта и формы процедуры и функции из общих модулей и модуля манагера. Через несколько часов понял, что еще не много, и значимая часть конфигурации будет в отчете. Поэтому решил искать другие пути.
---
Чем так не устраивает?
---
Всем устраивает, кроме тог что загруженный в базе клиента не запускается. Пробовал я так. Загруженный таким образом отчет в базе клиента не видит общих модулей. Почему, надеюсь, гуру объяснят. у меня только догадки.
---
Загруженный таким образом отчет в базе клиента не видит общих модулей - может вызываются методы/функции/процедуры которых нет/переименованы в основной конфигурации? Так что мешает перенести их в файл отчета ?
---
Скорей всего Вы правы, я сейчас догнался, что во внешний отчет не передается модуль манагера.
Я вот не помню, он там большой, трудно его перенести?! Надо посмотреть.
---
Конфигуратор под запретом? :) Что мешает посмотреть на какие методы и функции/процедуры ругается ? :) и на основе этого анализа уже скопипастить их :)
---
Да нет, полная свобода. Значит чего выяснил. Отчет использует общие модули, в частности БухгалтерскиеОтчетыВызовСервера, который вызывает функцию модуля манагера отчета: Форма.НаборПоказателей = Новый ФиксированныйМассив(МенеджерОтчета.ПолучитьНаборПоказателей());
Имя отчета передается в общий модуль вот эдак: МенеджерОтчета = Отчеты[БухгалтерскиеОтчеты.ИмяОтчета(Форма)];
     Простое перетаскивание процедур и функций из модуля манагера в модуль объекта не даст нужного результата.
     Править общий модуль, сами понимаете, не кошерно.
     Прихожу к выводу, что это слишком затратно. Кстати я по этому пути как-то шел , мне не понравилось.
---
БухгалтерскиеОтчетыВызовСервера - конфигурация на УФ , юзаем расширение :)
---
А как вы себе представляете исправление кода при удалении объектов на которые он ссылается?
---
При сравнении/объединении обычно есть "галочка" - "Устанавливать соответствие по именам объектов" (да и прочие "нюансы")...
---
И вы реально думаете, что при этом проверяется программный код???
---
вы реально думаете, что при этом проверяется программный код???

Нет. Я так не думаю. Но можно сохранить "привязку" к "аналогичным" (предполагается что имя одинаковое) объектам "неродной" конфигурации (разные внутренние идентификаторы)...
---
Ды я его объединяю с базой где есть все, что использует прототип.
---
Тогда, пожалуйста, покажите пример строки, где возникает ошибка, и опишите как вы ее исправляете в конфигураторе.
---
а почему бы не покурить в сторону файла .cfu ?
---
1с может делать только поставку .cfu как написано в сообщении (5). И то CFU создается автоматически сравнивая старый CF фаил и вашу текущую конфигурацию. Что наверное будет не очень удобно. Ничего другого она вам предложить не может
---
задача обновить отчет!
1.берете базу клиента, (тем более типовая)
2.делаете на ее основе файл поставки (или получаете его от клиента)
3.вносите свои изменения в отчет
4.и делаете файл обновления
---
НЕ совсем так. Задача добавить в базу клиента новый отчет, который является доработанной копией типового, который(типовой) в базе клиента уже есть. При этом прокачать как можно меньше бит по сети.
Но тема интересная, буду курить, хотя и не курю.
Спасибо.
---
еще вариант, правда не проверял,
есть такие команды Выгрузить/Загрузить конфигурацию в файлЫ

на той стороне (или вы сами удаленно) выгружаете конфу в файлы конфы (с новой копией отчета)
на своей стороне с уже доработанным отчетом тоже выгружаете конфу в файлы
в своем дереве каталогов находите файлы со своим отчетом (там каталог, формы, ХМЛ-и ) и отправляете клиенту
помещаете (с заменой старых) в его дерево каталога файлов
грузите конфу из файлов

(очень похоже что должно сработать)
---
Есть старая, но до сих пор рабочая статья
https://infostart.ru/1c/articles/66092/
---
Я так и делал, как в статье, тока упустил какие-то ссылки , наверное.
Сейчас попробую более основательно.
Спасибо.
---
Да, метод рабочий.
Спасибо.