1С8 - расширение конфигурации #795909


#0 by Влад_Савин
Привет! Кто может помочь? Я программист 1С8 (опыт работы с 2014, с лета 2016 работаю в 1С Франчайзи). Но с Расширениями имею дело впервые. Инфы нашел достаточно: но это - как на стандартную задачу наложить Расширение. И все вроде понятно. А у меня задача ОБРАТНАЯ. Имеется у клиента несколько доработанных баз (оттого, проблемы со стандартными обновлениями). Требуется - доработки по максимуму вынести в Расширения, оставив БД максимально приближенные к Стандартным. И я совершенно не понимаю как это сделать! Не нашел - какой там механизм? Кто может "на пальцах" объяснить? Сначала определяю все интересующие меня объекты - сравнить конфигурацию с конфой поставщика, эт просто. Создать в исходной нестанд. конфе новое расширение - создал. А дальше? Перенести все измененные объекты в Расширение? Так переносятся ТОЛЬКО формы. А мне ж надо и модуль, и все команды - мне их вручную заполнять? (Например, Отчет1, совсем новый. Ладно, делаю его внешним и Расширение - вставить. А "прототип" из исходной конфы убираю. Ругается - требует "не обнаружен в конфе". Какое ... если я  ясно прочел что в Расширении ДОЗВОЛЕНЫ НОВЫЕ отчеты и обработки - отсутствующие в конфе? Или я не так понял??) Еще вопрос - вот в Док или Спр изменена Форма. Еще появился / был изменен реквизит - но тут сказано, реквизиты можно оставить, их будем по-прежнему вручную обновлять, раз их расширение не берет. Переношу Форму (заодно перелетает весь Объект в дерево, Ок!). А поле модуля чистое. Понимаю, что это значит - использовать модули конфы. А как мне изменения перенести - вручную копировать все процедуры где измененный текст - с префиксом расширения перед именем? Ладно, делаю так - а что делать, если внутри еще обращения к процедурам (другим в модуле формы, или в модуле Менеджера, или среди Общих модулей?). Перенес, ругается. Мне тогда "охватом" все их тоже переносить? Общие - ладно. А прочие модули той же формы (к которым ссылки) - их куда? И ставить ли перед ними префикс расширения? В общем, крутился, не получается. ЧТО делаю не так?
#0 by Влад_Савин
Привет! Кто может помочь? Я программист 1С8 (опыт работы с 2014, с лета 2016 работаю в 1С Франчайзи). Но с Расширениями имею дело впервые. Инфы нашел достаточно: но это - как на стандартную задачу наложить Расширение. И все вроде понятно. А у меня задача ОБРАТНАЯ. Имеется у клиента несколько доработанных баз (оттого, проблемы со стандартными обновлениями). Требуется - доработки по максимуму вынести в Расширения, оставив БД максимально приближенные к Стандартным. И я совершенно не понимаю как это сделать! Не нашел - какой там механизм? Кто может "на пальцах" объяснить? Сначала определяю все интересующие меня объекты - сравнить конфигурацию с конфой поставщика, эт просто. Создать в исходной нестанд. конфе новое расширение - создал. А дальше? Перенести все измененные объекты в Расширение? Так переносятся ТОЛЬКО формы. А мне ж надо и модуль, и все команды - мне их вручную заполнять? (Например, Отчет1, совсем новый. Ладно, делаю его внешним и Расширение - вставить. А "прототип" из исходной конфы убираю. Ругается - требует "не обнаружен в конфе". Какое ... если я  ясно прочел что в Расширении ДОЗВОЛЕНЫ НОВЫЕ отчеты и обработки - отсутствующие в конфе? Или я не так понял??) Еще вопрос - вот в Док или Спр изменена Форма. Еще появился / был изменен реквизит - но тут сказано, реквизиты можно оставить, их будем по-прежнему вручную обновлять, раз их расширение не берет. Переношу Форму (заодно перелетает весь Объект в дерево, Ок!). А поле модуля чистое. Понимаю, что это значит - использовать модули конфы. А как мне изменения перенести - вручную копировать все процедуры где измененный текст - с префиксом расширения перед именем? Ладно, делаю так - а что делать, если внутри еще обращения к процедурам (другим в модуле формы, или в модуле Менеджера, или среди Общих модулей?). Перенес, ругается. Мне тогда "охватом" все их тоже переносить? Общие - ладно. А прочие модули той же формы (к которым ссылки) - их куда? И ставить ли перед ними префикс расширения? В общем, крутился, не получается. ЧТО делаю не так?
#1 by 2S
модули, формы, макеты - в расширение что не понятно?
#2 by Влад_Савин
Не понятно конкретно: 1) если объект новый. Как его ПОЛНОСТЬЮ перенести? 1а - добавить - модули не переносятся. 1б при удалении "прототипа", ругается. 2) если объект лишь изменен. ЧТО переносить? ФОрму измененную перенести, ладно. А модули как - я ж написал? Если команда и "стерильно" чистая - ладно, прописано по ссылке. А если она ссылается на другую процедуру, ее тоже переносить? С префиксом РАсш - или это лишь для команд? 3) Я главного не понимаю. Какие Объекты конфы видны из Расширения? Или их все (к которым ссылки) надо переносить? 4) насколько обязательно для Расширения наличие "прототипа"? Вот если новая форма, или макет. Переношу, а из конфы удаляю. Ругается! 5) совместимость! Даже в гугле в одних пишут - ставить "не использовать совместимость", в других - "ставить 8.3.9" (чтоб можно было расширять и модули объекта, и модули менеджера). Так что писать?? 6) и общие модули - даже в гугле встретил что "не все". А какие??? 7) наконец, а что со Свойствами делать? Вот в различии/ сравнении конф, выдало что например в Свойствах формы стоит что-то иное. А в Расширении это поле на форма/свойства вообще отсутствует, что с этим делать?
#3 by Maniac
рашсирения это только обработки и отчеты. максимум формы. больше НИЧЕГО никаких реквизитов или обьектов
#4 by Filippov
Это уже не так в 8.3.10
#5 by Влад_Савин
1) у нас именно 8.3.10 2) и так и не ответили на вопрос. КАК - именно ПЕРЕНОСИТЬ Объекты? Чтоб - в Расширение - а в исходной не осталось? Повторяю, когда я перенес Отчет (сначала, сделал как обычно, Добавить в Расширение - модуль и команды пустые!) - тогда я исходный сохранил как Внешний, и в Расширении на него заменил. Модуль и команды перенеслись. Ругается, не работает. Аналогично  - при переносе отдельной Формы. Удаление "прототипа" - и ругань. В чем дело? 3) и вопрос - ЧТО ВИДНО из Расширения? Или мне тупо вручную, по перенесенным модулям отслеживать ВСЕ ссылки и соответствующее переносить? Я так понимаю, что перенос есть ДВУХ типов. а)) - переносим то что меняем. Объекты не любые а строго из списка (формы, обработки, отчеты, с 8.9 - еще что-то). б)) - то что НЕ меняем - но там есть ссылки, по которым обращается из а)). Верно? И что НЕ перенесено по группе б) - Расширение просто не видит? Или я ошибаюсь? Тогда отчего ругается?
#6 by Filippov
Почитайте сначала, что и как можно включать в расширение. Метод "тыка" не пройдёт.
#7 by Влад_Савин
Спасибо.Читаю. Но если что - вернусь с вопросами. (просто я не на работе счас - и до баз данных и практики доберусь лишь вечером, а то и в понедельник)
#8 by Dmitrii
Вы уже утомили по десять раз в каждом посте повторять про чью-то там ругань. Либо позовите специалиста, либо, если хотите, чтобы тут помогли, задайте конкретный вопрос с описанием того в каком месте что не работает, и как выглядит эта ваша ругань. Отчеты и обработки абсолютно нормально выносятся в расширение. Предположу, что если Вы делали через выгрузку во внешний отчет (обработку), то потеряли по дороге модуль менеджера (у внешних отчетов/обработок модуля менеджера нет, т.к. нет самого менеджера). Если я прав, то достаточно просто перенести модуль менеджера из исходного объекта основной конфигурации в объект, который у вас теперь в расширении.
#9 by Влад_Савин
Спасибо. Но все же вопрос (вот прочел по ИТС ссылке - не нашел). Верно ли я понял, что Расширение - НЕ ВИДИТ объектов основной конфы, если я их не перенес? (например, если в измененной конфе есть Константа, или Регистр - и к нему идет обращение. Обязательно надо перенести и этот объект тоже?)
#10 by eks1985
Смотря что понимать под "видит". Если есть например константа в основной конфе и ты в раширении в обработке устанавливаешь значение этой константы то все будет ок, за исключением нескольких моментов. В расширении константа не видна при автодополнении кода, т.е. ты пишешь Константы. и имя константы из основной конфы показано не будет, при этом синтаксический контроль ругаться не будет. Константа также не будет видна в конструкторе запроса. Рекомендую создать пустую базу и экспериментировать - это самый быстрый путь. Единственным ограничением расширений являеится невозможность добавления некоторых объектов метаданных и их реквизитов. Для себя делаю так. Надо добавить новый док - добавляем в основную конфу, но форму, модуль менеджера, модуль объекта - все это описываем уже в расширении. В общем в расширении все кроме самих скелетов объектов метаданных. И последнее, надо учесть что из основной конфы модули расширения не видны. При этом из одного расширения видно другое без проблем, независимо от порядка их подключения
#11 by Cyberhawk
Так надо чтоб режим совместимости основной конфигурации (равно как и расширения) был не ниже 8.3.10, чтобы новые объекты и реквизиты можно было добавлять
#12 by Cyberhawk
+ Насчет "новые объекты" погорячился, нету пока такого
#13 by AlvlSpb
Вы пока не совсем понимаете работу расширений. Если кратко, то примерно так: 1. Да. Заимствовали форму - модули формы объекта менеджера в расширении пустые. Т.е. простое заимствование ничего нового НЕ вносит, прога грузит форму из расширения, а код отрабатывает из модулей конфы. В этом и есть СМЫСЛ. Т.е. заимствовать надо форму конфигурации поставщика, НЕизмененную. И уже в форме расширения вносить нужные изменения.   Пример: Есть стандартный обработчик ПриСозданииНаСервере. Если вам ничего не надо в него вносить, то его в модуле расширения и не будет, а отрабатывает этот обработчик из модуля конфы. Но. вам надо что-то добавить в обработчик. Вот тут вы пишете Расш1_ПриСозданииНаСервереПосле (Перед, вместо) и добавляете то что хотите. Например вывод какого-то сообщения (это только пример, добавлять можно практически любые более сложные задачи) типа ..... Сообщение.Сообщить; В итоге отрабатывает модуль в конфе и После него выводится ваше сообщение. Если у вас 8.3.10 или 8.3.9, но ОБЯЗАТЕЛЬНО БЕЗ совместимости с 8.3.8, то можно перехватить не только стандартные обработчики, но любые процедуры или функции. &Перед ("НашаПроцедура") Одно ограничение: Функции перехватываются только методом &Вместо    Плюс без режима совместимости для изменения достурны и модули объекта и модули менеджера и даже модуль сеанса 2. ДА. Если в добавляемом коде вы используете реквизиты формы, таблицы и т.п. - все это тоже должно заимствоваться, вместе с реквизитом автоматом переносится и Справочник связанный с типом реквизита. Если в коде используете Документ регистр, общ модуль и т.п. - все это тоже надо заимствовать (т.е. должно быть в расширении). Пример: Идет обращение в коде Общие.КлиентскийВызов.Проверка,  Значит вы переносите в расширение общий модуль КлиентскиеВызовы, но НИЧЕГО в него не вносите, вам не нужны в нем изменения, надо только использовать процедуру из него (модуль в расширении пустой) Резюмирую: Заимствовать надо объекты конфигурации поставщика, а все изменения и интерфейсного и модульного порядка делать в расширении. Отлично работает. У меня куча, БОЛЬШАЯ куча доработок. ВСЕ перенес на расширения. Не вешаю на конфу замок только потому, что пока поставщик делает все конфы с совместимостью с 8.3.8. Как только режим совместимости повысят, вообще закрою конфу
#14 by AlvlSpb
в 8.3.10 заявлена возможность создания Документа. Но не проверял, не было необходимости.
#15 by Maniac
что не так? ты там можешь справочник добавить свой? фиг
#16 by Cyberhawk
Подкреплять слова "рашсирения это только обработки и отчеты. максимум формы ... никаких реквизитов или объектов" фразой "нельзя добавить свой справочник" - сильно...
#17 by eks1985
Ты вводишь людей в заблуждение нахватавшись по верхам Я прекрасно в расширении добавляю http сервисы, общие модули, команды Это никак не соответствует вот этому >> рашсирения это только обработки и отчеты. максимум формы. больше НИЧЕГО
#18 by Maniac
ну и? где противоречия ты увидел? Я от 1С уже 15 лет жду чтобы можно было свою подсистему с любыми метаданными добавлять в типовую. Вести ее отдельно, разрабатывать. Потом подключать к базе данных. В том числе естественно со справочниками и документами и прочими обьектами которые также и БД расширяют. А пока что все на уровне форм, отчетов и обработок. Полноценно задача не решена. Хотя обещалось что с выходом восьмерки решения будут блоковыми (хотя может я не правильно воспринял) Пока что если ты что то дописываешь в типовой - даже нельзя поставку сделать без типовой.
#19 by Maniac
а для меня если нельзя добавить справочники, документы. регистры - это все равно что ничего)) Остальное вообще даже не волнует.
#20 by AlvlSpb
Конечно, если вы, условно, из УТ делаете Автосервис, тогда - ДА, расширения не помогут. Но они и не предназначены для этого. А если вам надо скорректировать движения, добавить реквизит, доп расчет, автоматическое заполнение и т.п., то расширение - то что надо. Да, они и в таких задачах еще не все умеют, но скорость прогресса в возможностях впечатляет(сравните 8.3.8 и 8.3.10 - велосипед и авто). Так что .....
#21 by Cyberhawk
"где противоречия ты увидел?" // Ты утверждаешь несколько пунктов, а подтверждаешь только последний из них
#22 by Maniac
да я тоже надеюсь. А так кстати и на безрыбье рыба. Кстати вот наверное сейчас все обработки перенесу  в расширения. А изменения структуры оставлю как есть. Все равно будет удобно!!!
#23 by Maniac
Блин теперь я уже буду задавать вопросы. У расширений поставка без кода где?
#24 by Maniac
Как то защитить можно расширение?
#25 by AlvlSpb
"У расширений поставка без кода где?" Непонятно о чем вопрос.
#26 by Maniac
вопрос о том что в штатном механизме я какие то обработки могу выгрузить без поставки кода. Если использовать механизм поставки. Создал расширение сейчас, добавил обработку. Но этот механизм на расширение не действует. И никаких опций я не вижу чтобы можно было расширение сохранить без исходного кода модулей (хотя бы)
#27 by AlvlSpb
Прекрасно сохраняется без исходного модуля, если это заимствованный объект. Если вы создаете в расщширении новую обработку, которой нет в основной конфигурации - конечно нужен код модуля. А вот первую часть ответа опять не понял))). О какой выгрузке идет речь
#28 by Maniac
Механизм поставки конфигурации меню Конфигурация - Поставка конфигурации. Там можно настроить и выгружать конфигурацию в виде поставки. Понятно. Те расширения только с кодом. Что опять обламывает их применение.
#29 by AlvlSpb
Из окна списка расширений - Сохранить конфигурацию в файл и переносите, подключайте расширение куда угодно на такую же конфу. Естественно вместе с поставкой расширение не выгрузится
#30 by Maniac
да причем тут подключение. как их использовать я знаю. Там элементарно все. Я говорю про то что расширения нельзя в отличие от типовой без кода модулей сделать. а уже только одно это ставит на нет их использование в моем случае
#31 by AlvlSpb
Ни черта не понимаю! ))) Если СОЗДАЕТЕ новую обработку в расширении, которой НЕТ в конфигурации, на кой она сдалась без кода? Пятница. Видимо у меня что-то с концентрацией, никак не пойму сути )))
#32 by AlvlSpb
Кажется понял. Т.е. вы хотите, чтобы расширение было типа как файл cf или dt - бери как есть и ставь, изменить что-либо или невозможно или крайне затруднительно без спец знаний и программ. Довольно специфическое требование к расширению )))
#33 by Maniac
жестяная жесть)) Элементарно Ватсон - я делаю разработку на продажу и не хочу чтобы код украли. Что тут непонятного? Или ты делаешь закрытое решение заказчику.
#34 by Maniac
да мне пофиг чем оно будет. Тут главное то что есть МЕХАНИЗМ создания Расширений, для сторонних разработчиков. Но нет механизма защиты. В итоге что ТОЛКУ делать расширение, если там нет выгрузки его без исходного кода. Итог - как снимались конфигурации с поддержки так и будут сниматься. Потому что данный МЕХАНИЗМ не подходит для разработчиков.
#35 by AlvlSpb
Обфускация кода не подойдет? Такую обработку легко найти. Но... это уже другой вопрос, не по теме ))
#36 by Filippov
ещё модули всех типов, макеты, табличные документы Механизм расширений ещё развивается: в 8.3.11 заявлено - расширение данных - добавление собственных документов и расширение существующих ("будет вам и белка, будет и свисток") А в большей части постов Вы правы - много чего из нужного ещё есть нет :)
#37 by Maniac
Защиту обязательно. надо. даже к тому что есть. И еще неплохо было бы не захватывать объекты которые и менять не надо но ссылки есть.
#38 by Maniac
Если кто то там близко к 1С - скажите им чтобы у расширений была защита. хотя бы без кода. я уже молчу про что то больше. типа лицензирования )))
#39 by Jump
Кому она нужна без кода и документации? Да и украсть код невозможно - это не материальный предмет.
#40 by Maniac
вообще то как раз клиенту код вообще нафиг и не нужен. А вот программистам которые воруют и выдают потом за свю работу - очень даже
#41 by Maniac
удивительно такую чушь слушать.
#42 by Maniac
от программиста!
#43 by Jump
Ну клиенту нужен код и документация как правило, чтобы впоследствии можно было без проблем обслуживать и модернизировать эту программу. Хотя в случае мелкой и незначительной покупки код действительно может не заинтересовать. Что именно чушь? Любому человеку хоть немного разбирающегося в IT должно быть понятно что программа не является материальным предметом, как собственно и ее код. А украсть можно только материальный предмет. Следовательно нельзя украсть программу и код, максимум что получится украсть - материальный носитель на котором записана эта программа или код.
#44 by МимохожийОднако
Просто у Maniac настолько гениальный код, что все программисты, которые видят его разработки тут же начинают копировать и продавать. Копировать и продавать...Копировать и продавать...Вот у него и болит душа. ...При этом находятся заказчики, которые не хотят ежегодно доплачивать за его шедевры и ищут программистов, которые взламывают, копируют и продают...копируют и продают... Как страшно жить.
#45 by AlexGaren
Расширение-это божественная вещь.Несколько сильно измененных конфигураций полностью перевел на расширение.Теперь обновлять -одно удовольствие.
#46 by Filippov
Здоровская. Спрятал в расширение практически всё из доработок БП 3. Жду 8.3.11 - в документе Реализация товаров и услуг потребовалось добавить реквизиты и их обработку. Обработка реализовалась расширениями форм и модулей (формы, менеджера и общих), а для документа и его табличных частей пока пришлось применить правило поддержки с возможностью изменений. Надеюсь, что 8.3.11 позволит от этого избавиться. Выполнено внедрение ЗУП 3.1 также с использованием расширения. В 8.3.10 особенно полезным оказалась возможность расширения макетов, когда в макет требовалось добавлять дополнительные реквизиты, установка значений которых выполнялась в расширении модулей, в основном общих. Несколько смущает применение &Вместо - как бы не прозевать существенные изменения при обновлении модулей, для которых в расширении задано &Вместо
#47 by Aleksey
, А нумерацию документа можно через расширение поменять (переодичность и префиксы)?
#48 by MaxS
С этими расширениями пока есть проблемы. Например, когда их не было, снял с поддержки один модуль какой-то "Переопределяемый" и там программно добавил в форму элементы и код обработки событий для них. Несколько лет обновляли конфигурацию, не возникло никаких проблем. Попробовал использовать расширение. Оно тянет в себя все формы, которые требуется доработать и связанные метаданные. При последующем обновлении из-за несоответствия заимствованных объектов расширения и основной конфигурации расширение отваливается. Отказался от расширения, вернул как было - код с программным созданием элементов.
#49 by AlvlSpb
(46 Да с &Вместо надо быть очень аккуратным и стараться не использовать. Иногда приходится переносить по несколько процедур в расширяемый модуль, чтобы избежать Вместо. Пока получается обходить, кроме замены нескольких функций. Т.е. с процедурами хоть и заморочно, но можно обойтись без &Вместо "При последующем обновлении из-за несоответствия заимствованных объектов расширения и основной конфигурации расширение отваливается."   Либо лукавите либо неверно излагаете и дезориентируете потенциальных пользователей. НИКОГДА не отвалится расширение, если изменилось что-то в заимствованной форме. Отвалится только в случае, если в коде модуля в расширении, участвует реквизит, который удалили в новой редакции или изменили его имя. А это бывает КРАЙНЕ редко. Из моих 8-ми расширений со времен 8.3.7 отваливалось лишь однажды одно когда "вид номенклатуры" заменили на "категория номенклатуры"
#50 by Maniac
Да что ты говоришь. А если 1С постоянно переписывает свои модули и глобальные тоже. Тоже не отвелится? Вот совесм недавно была проблема в УТ11 ЗаполнитьУсловиеПродажПоСоглашению перестало работать. Они или букву не так вписали или я не знаю что. Но в обновленной тоже самое ЗаполнитьУсловиеПродажПоСоглашению не работает. А если копируешь то уже работает.
#51 by Maniac
а я что один на свете разработчик? сотни занимаются массовыми разработками. Второе. У меня обновления стоят копейки. даже не знаю клиентов которые бы искали прога чтобы он там что то ковырнул и дальше тупо при очередном обновлении 1с перестало все работать. При цене обновлений и поддержке в 5 тыщ рублей на год, это просто даже смешно)
#52 by AlvlSpb
Цитирую " Отвалится только в случае, если в коде модуля в расширении, участвует реквизит, который удалили в новой редакции или изменили его имя."   Модули в том числе и общие пусть переписываются хоть сто раз. Если используешь общий модуль и его имя и имя процедуры в нем не изменилось, то изменения в самой процедуре или модуле не влияют на расширение. Изменения в именах бывают, но, во-первых не часто, во-вторых и находятся и правятся в расширении довольно просто. Это не та проблема из-за которой следует отказываться от расширений
#53 by Maniac
Вот если бы еще был механизм автоматического обновления какого то расширения. через веб.
#54 by MaxS
Это крайне редко произошло в первое же обновление. В БП что-то поменяли. Первоначальная цель доработки была добавить элемент на форму. Форма в расширении потянула за собой кучу связанных документов и справочников. Расширение придумали для облегчения доработок и обновлений. Но добавить элемент программно в типовую форму оказалось удобнее для последующих обновлений.
#55 by Maniac
Я тоже тут думал обработку добавить и ее формы. Но как оказалось - в расширения придется добавить чуть ли не 40 обьектов связанных. Пока что плунул на это дело.
#56 by Maniac
любой реквизит обработки который имеет ссылку на что-то - каждый этот объект надо добавлять.
#57 by Maniac
да же если они вообще не нужны ни для чего - никакого редактирования и тому подобное. все равно добавлять. в итоге там треть конфы придется добавить.
#58 by Сияющий Асинхраль
Когда-то бесплатное видео по расширениям у Фарита на сайте лежало, мне этого видео, в общем то, вполне хватило, чтобы побыстрому клиентам не меняя конфы несколько изменений сделать, правда сейчас попытался найти эти видео - не нашел...
#59 by Сияющий Асинхраль
Все, что форма тянет за собой можно удалять из расширения без какого-либо ущерба, одна беда тянет действительно много, соответственно и удалять приходится немало, но после удаления всех связанных ненужных реквизитов от формы в реальности почти ничего не остается в расширении
#60 by AlvlSpb
так это пишут везде, где касаются практическического применения расширений, но зубры уже не читают ))) на практике, сначала удаляешь ненужные реквизиты заимствований исправляемой формы, а потом все справочники, перечисления и т.п. с ними связанные. И даже, не прочитал, не знал, не удалил лишнее, влияет на внешний вид расширения, на его вес и работу - практически никакой зависимости
#61 by Влад_Савин
Спасибо. Достал видеокурс разобрался. Но можно еще пару вопросов? А как проставить у объекта свойство "модифицируемый"? Не нашел, где это выставляется? В собственном объекте конфы - или уже в заимствованном? Ну и перенос Отчетов в Расширение. Заимствование не годится (тогда из основной конфы "прототип" не убрать). Я делаю в Расширении - Новый отчет, и копирую его через Внешние (про модуль менеджера помню). Затем убираю из основной конфы. И то что надо - состав отчетов в ней стандартный, а все добавленное ушло в Расширение. Но: при убирании из конфы, в окне Сравнение конфы все слетает (появляется множество серого - неопределено). ПРиходится по-новой сравнивать, что долго. Как-нибудь обойти можно? И: отчеты ладно, а что делать если в объекте появилась новая Форма? В расширение объект добавить - и форму заимствовать не могу, не уберется ведь после из основного! Приходится буквально вручную ее формировать в Расширении, чтоб было полное подобие. МОжно как-то ФОрмы копировать?
#62 by AlvlSpb
"МОжно как-то ФОрмы копировать?" Через внешнюю обработку. Создать-внешняя обработка - перетащить нужную форму в обработку - переименновать - перетащить из внешней обработки в документ расширения. Та же форма, но уже созданная а не заимствованная "Но: при убирании из конфы, в окне Сравнение конфы все слетает (появляется множество серого - неопределено). ПРиходится по-новой сравнивать, что долго. Как-нибудь обойти можно? "   А во это не понятно (сам вопрос). Что убираете из конфы?
#63 by Влад_Савин
Так повторяю - у меня задача, УЖЕ ИЗМЕНЕННУЮ БАЗУ (с доработками) привести к стандартному виду (пригодному для обновлений ИТС). То есть все наши доработки, по максимуму - вынести в Расширения, а из собсно конфы убрать. ВОт счас сижу и занимаюсь.
#64 by Влад_Савин
И каждый раз в Сравнении запускаю - сравнить конфу (что у меня выходит, поэтапно) с Конфой поставщика
#65 by AlvlSpb
Так в чем доработки? Если доработки в стандартных формах, то, конечно, будут серые. Вы перенесли весь код доработки в расширение, но не убрали его в основной, или убрали, но до сих пор не обновляли форму, т.к. до сегод дня там были нужные изменения, в любом случае форма не обновлена. Проведите обовление конфигурации, обновите форму и в след раз она уже не станет серой. Или я вопрос все же не понял?
#66 by Влад_Савин
Да нет, усе норм, я понял. А вопрос - где в Расщирениях ставятся Свойства контролируемые и Модифицируемые? Даже на ИТС глава 32 не нашел.
#67 by AlvlSpb
Не задавался вопросом. Просто не знаю, надо разбираться ))
#68 by AlvlSpb
Как минимум ни разу не замечал, чтобы у расширения появлялся значек модифицированности как у конфы, например. Но утверждать не берусь, не знаю
#69 by AlvlSpb
Не прав. Есть значок, проверил. Ни разу не обращал внимания
#70 by Влад_Савин
Нет, имеется в виду другое. Вот заимствую объект в Расширение. А у него Свойства - мне надо чтоб стояло не то что в исходном. Но в ИТС гл32 сказано ,что для этого свойства должны быть помечены как Модифицируемые, иначе их просто не видно в окне палитры. И где это пометить их надо, в каком диалоге?
#71 by Влад_Савин
И да, уважаемый AlvSpb, читая Ваши замечания выше, верно ли я понял, что если у меня несколько одинаковых конф, то я могу обработать только одну - и расширения с нее отлично встанут на прочие?
#72 by AlvlSpb
Конечно встанут, если конфы однотипные. Из окна списка расширений-сохранить конфигурацию в файл. Сохраненный файл расширения подключайте к любой однотипной конфе. Единственное, что не переносится - настройки расширения (снятые галки) Безопасный режим и Защита от опасных действий, их при необходимости надо снимать вручную
#73 by pavig
Коллеги, можно и мне вопрос задать. Вот например заимствовал я форму типового документа Реализация. В расширении дописал в ПриСоздании некий код. В случае, если происходит обновление релиза основной конфы, исполняемая форма в итоге какая будет? Которая обновленная поставщиком (основная конфа) или та, версию которой мы заимствовали? Заранее спасибо.
#74 by Cyberhawk
Зазеркалье лень почитать? ))
#75 by AlvlSpb
Если код дописан, то и из расширения и из основной, а если полностью заменен, то только из расширения. Т.е. Расш1_ПриСозданииПосле отрабатывает код основной и после него из расширения (соотв наобород если ПриСозданииПеред). А вот если Расш1_ПриСозданииВместо - только из расширения. Желательно Вместо использовать только в самых крайних случаях хорошие ссылки
#76 by pavig
А по элементам формы?
#77 by Cyberhawk
Визуальная часть формы фиксируется в расширении на момент её заимствования. А в режиме 1С:Предприятие для каждого элемента формы анализируются изменения относительно этого состояния в типовой конфигурации, и в расширении. Если изменений не было, или они были только в типовой конфигурации - применяется значение из типовой конфигурации. В остальных случаях применяется значение из расширения. Таким образом, если в расширении вы добавили в форму новую команду - вы её увидите вместе с остальными командами формы. А если изменили заголовок существующей группы, то вы будете видеть свой заголовок даже в том случае, если заголовок этой группы в типовой конфигурации поменяет поставщик.
#78 by AlvlSpb
Черт. Неправильно прочитал вопрос. Обновили форму в поставке, обновилась и заимствованная форма
#79 by pavig
Спасибо! :-)
#80 by pavig
Расширение - крутейшая весчь! Нам всем его так сильно нехватало!
#81 by Cyberhawk
"Обновили форму в поставке, обновилась и заимствованная форма" // Это противоречит утверждению из Зазеркалья, что "Визуальная часть формы фиксируется в расширении на момент её заимствования". Т.е. в расширении заимствованная форма не обновляется. Или не так?
#82 by pavig
Кстати, опять вопрос к практикующим специалистам. Вот например на конфу работает несколько программистов, и задачи их строго изолированы (в том числе и объекты конфигурации). Но каждому из них надо что-то дописать в типовую конфу. Какую стратегию в данном случае вы выбираете - делать всё в одном расширении или дробить на несколько независимых?
#83 by AlvlSpb
Имеется в виду: Заимствовали форму из релиза 1.0 Добавили реквизиты картинку и еще что-то. Условно через пару релизов в 1.3 поставщик добавил в стандартную форму ТЧ (как это было в реале, например, с ЕГАИС). В вашей форме в расширении эта ТЧ появится и в ней можно проводить все необходимые действия. И ваши дополнения не исчезнут, а так же продолжат работать
#84 by pavig
И вот еще вопрос) Включаете расширение через режим Предприятие? Или из конфигуратора? Выгоняете ли пользователей при этом или подрубаете "на горячую"? Не испытывали ли проблемы с этим?
#85 by pavig
Ну и отвечу по своей практике: Мы один раз немного подкосились на этот счет: начались проблемы с кешем у пользователей, не проводились документы. Причем эти документ не касались расширяемых объектов. В итоге приняли решение - подключать расширения Строго из конфигуратора и Строго в монопольном режиме. Не вдаваясь в подробности, "от греха подальше". Время было жаркое на проекте, разбираться было некогда.
#86 by AlvlSpb
Вообще все яйца не надо складывать в одну корзину. Лучше несколько расширений. Одно замеченное на практике, но нигде не   описываемое ограничение (вернее, мне не попадалось, может где-то и писалось): Пример для понимания. Три расширения к одному документу Приходная, работа только в коде, что-то правим в каких-то действиях. Все отрабатывает на ура, в последовательности как в документации по расширениям. если только в одном из трех вносим интерфейсные изменения (добавили реквизит и вынесли на форму) - тоже без проблем, а вот если такие изменения в двух и более расширениях - начинаются конфликты, не работают. Т.е. если в разных разработках меняется одна форма, то надо объединять в одно, если меняется только код, то абсолютно фиолетово
#87 by pavig
Интересно. То есть в принципе нужно анализировать, что менялось в других расширениях. Если делать одно расширение на всю конфу - такой проблемы быть не должно...
#88 by AlvlSpb
Подключать без разницы как. Единственное, если нужен НЕ безопасный режим (а это 70-80%), то все-равно правку (снимать галку) можно только в конфигураторе
#89 by pavig
Мы сейчас тоже дробим. По разрабатываемым подсистемам. То есть например разработали свою подсистему "Управление платежами", то все доработки типовых объектов валим в одно расширение по этой подсистеме.
#90 by pavig
То есть "на горячую" подключаете? И проблем не возникает?
#91 by AlvlSpb
Одно расширение - хреновое занятие. Сделали кучу изменений в десятках документов. Поставщик изменил название реквизита в одном из них - отвалилось все расширение, ничего не работает. А при 10-ти расширений отваливается только одно и вылавливается ошибка проще  нервяка меньше
#92 by pavig
Резонно.
#93 by AlvlSpb
На горячую как обработку все-равно не получится. При подключении расширения нужна перезагрузка пользовательского режима
#94 by pavig
Понятно, без монопольного режима.
#95 by AlvlSpb
Надо поискать где-то у себя в закладках, спецы рекомендуют дробить и утверждают, что скорость работы не меняется, а вот польза очевидна. Т.е. рекомендация, например, какое-то авто заполнение таблицы при создании на основании (пусть смена вида цен), то в это расширение включить все доки где надо это делать (заказ клиента, расходная, приходная и т.д.) Следующая задача - в расходной изменить движения - это уже другое расширение, хотя в первом расходная уже присутствует
#96 by Влад_Савин
Как свойства объекта (отчета, обработки, да хоть отдельно взятой формы)сделать модифицируемыми??!! Все перекопал, не нашел.
#97 by Влад_Савин
И кто подскажет - при выносе в Расширение Команды, стало выдавать: ПодпискаНаСобытие.УстановитьПометкуУдаленияПрисоединенныхФайлов: Имя события недопустимо для указанного источника события
#98 by Влад_Савин
(имя подписки, это частности. Но что за ошибка?)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С