|
Обновления нетиповых. Как перенести изменения в некие "пакеты" | ☑ | ||
---|---|---|---|---|
0
Бархат
25.05.20
✎
15:00
|
Добрый день.
Подскажите пожалуйста, ситуация... Есть конфа, измененная бухия. Для разных фирм есть некоторые изменения (изменения изменённой, подгон под требования фирм) Как сделать некие "пакеты", чтобы эти изменения для каждой конторы хранить отдельно? цель: обновить основную и потом туда накидать эти "пакеты" для каждой конторы, чтобы получить для них .cf что пробовал: расширения: там нельзя расширение сравнивать с основной .cf - ручная работа заносить в расширения так себе вариант файл поставки, обновленческий .cf: пробовал основную обновлять на измененную "конторы1" - файл настроек записал, основную обновил релиз от 1с, пробую накинуть .cf конторы1 и применить файл настроек - фига, галки все вообще. Как решить можно? Спасибо пожалуйста |
|||
1
Волшебник
модератор
25.05.20
✎
15:01
|
cfu - пакеты обновлений
|
|||
2
Волшебник
модератор
25.05.20
✎
15:16
|
Чтобы создать CFU, нужно выбрать две конфигурации. Разница между ними и будет CFU.
Конфигуратор / Поставка / Создание файлов поставки и поддержки перед этим заполнить свойство Поставщик и Версия в свойствах конфигурации |
|||
3
Бархат
25.05.20
✎
15:22
|
тоже бодался, там вылезает "Файл не содержит доступных обновлений для следующих конфигураций". версии менял, сработало только поставка обновления через .cf
Может что-то не так делал.... |
|||
4
Волшебник
модератор
25.05.20
✎
15:24
|
(3) Сначала научись создавать CFU. Перед каждым релизом нужно увеличивать номер версии.
|
|||
5
Волшебник
модератор
25.05.20
✎
15:25
|
CF тоже бывает разный. Бывает CF сырой, а бывает файл поставки.
|
|||
6
Бархат
25.05.20
✎
15:26
|
ну версия это релиз 1с 3.0.77.56 например. я могу туда символ воткнуть
на http://catalog.mista.ru/public/315534/ получилось только файл .cf поставки сделать. А с cfu что-то рукооплю |
|||
7
Бархат
25.05.20
✎
15:29
|
конфы снимаю с поддержки, захожу в основную, делаю там cf поставку обновления, захожу в конфу "Конторы1", добавляю букву к версии релиза, при создании поставки ставлю обе галки (cf и cfu) и внизу указываю файл "основной конфы".
cf поставка как-то срабатывает (с галками только засада), а с cfu посылает меня |
|||
8
dmpl
25.05.20
✎
15:38
|
(0) Унифицируй код. Особенности организаций или классифицируй и учти все возможные варианты в коде, либо сделай в отдельном модуле или внешней обработке, а в основном коде прикрути вызов этого модуля.
|
|||
9
experimentator76
25.05.20
✎
15:56
|
отдельный модуль. в нем ветвления кода по ИНН.
если надо чтобы ИНН не было видно, то делать хэш от него. если надо чтобы код не было видно то из одного модуля разнести код в разные модули с ИНН в названии. код в модулях вызывать через Выполнить |
|||
10
Волшебник
модератор
25.05.20
✎
15:57
|
(9) о, ты сейчас насоветуешь...
|
|||
11
experimentator76
25.05.20
✎
16:01
|
(10) одну конфу то проще поддерживать, а при обновлении лишнее можно в итоговую конфу не тащить.
|
|||
12
Ненавижу 1С
гуру
25.05.20
✎
16:05
|
(10) ага, особенно проще поддерживать "ветвления кода по ИНН"
тогда уж весь код выносить в обработки/модули и создавать паттерн Абстрактная фабрика - под каждую адаптацию своя фабрика со своим порождающим набором объектов но в рамках 1С так себе |
|||
13
Бархат
25.05.20
✎
16:06
|
да там не только код модулей, там реквизиты, формы, пересекающиеся доки, отчеты. Бьюсь головой об cfu, экспериментирую
|
|||
14
experimentator76
25.05.20
✎
16:13
|
(13) EDT сам не использовал, но может быть там есть инструменты для решения подобных задач ?
|
|||
15
experimentator76
25.05.20
✎
16:15
|
(12) если есть задача, значит определенно для нее есть решение. вопрос только в ресурсах затрачиваемых на ее поддержку.
|
|||
16
experimentator76
25.05.20
✎
16:16
|
(13) их бы требования все сузить до одной поставки или хотя бы до общих объектов с отключаемой функциональностью
|
|||
17
Бархат
25.05.20
✎
16:26
|
чую решение в cfu, но я с этой хренью как мартышка и очки
|
|||
18
Garykom
гуру
25.05.20
✎
16:30
|
(14) В EDT есть трехстороннее сравнение - штука потрясающая
Но не уверен что для твоей задачи полезно. Лучше всего (8) сделать всего одну измененную конфу со всеми доработками с выносом в настройки "Для разных фирм" |
|||
19
Бархат
25.05.20
✎
16:49
|
"файл не содержит доступных обновлений". Голова разбита об стену. Увы (((
|
|||
20
mistеr
25.05.20
✎
19:40
|
(11) Для этого есть нормальный инструмент, а не рукопопный. Называется функциональные опции.
|
|||
21
mistеr
25.05.20
✎
19:42
|
(19) Есть специальная книжка по этой теме. Сам не делал, но помню, когда читал, что там все расписано. И твой сценарий, и более сложные.
|
|||
22
Бархат
25.05.20
✎
21:04
|
на функопах код не поменять. разный код, разные объекты метаданных, реквизиты разные. Предопры разные. по чуть чуть изменено.
с cfu разобрался (из конфы надо делать поставку, её же потом "загрузить из файла", чтобы с замочком была конфа. только потом обновление сработало). Но когда я основную обновил, 77-78 релиз, а был 77-56, то есссно тот cfu для 77-78 уже не сгодился. Потом подсунул его в создание cfu и естественно потом вылезли все измененные методы (что сама 1с меняла, а не только мое) и в итоге cfu даже не поможет. видимо такого удобного средства, чтобы просто "накинуть" метаданные для каждой "конторы" не существует часть наверное придется распихивать руками по расширениям, часть по функопам, часть накидывать каждый раз вручную |
|||
23
dmpl
26.05.20
✎
07:17
|
(13) Отчеты - сразу в топку. Кладешь измененные отчеты во внешние отчеты и обработки, в конфигурации все отчеты типовые. Изменения в формах переводишь в программный вид. И в отдельный модуль, где в зависимости от настроек вызывается форма с нужными изменениями.
|
|||
24
mistеr
26.05.20
✎
09:24
|
(22) Смысл в том, чтобы слить все возможные объекты в одну конфу. А через ФО включать кому что нужно.
В эталонной базе у тебя две конфы поставщика, твоя и типовая. С нее делаешь CFU. |
|||
25
Сияющий в темноте
26.05.20
✎
10:47
|
Почему по инн?
просто константу в конфигурацию или несколько констант и они будут управлять работой доработок,будет на порядок проще. особенно потом,когда нужно будет что-то сделать,что нужно почти всем,но они не сразу до этого дойдут-а так включил галку или сгенерил лицензию. |
|||
26
lodger
26.05.20
✎
10:55
|
(25) а как быть когда 100500 мелких ковырялок, но сугубо по веткам, остальным ненужные? все равно делать 100500 апдейтов цельной поставки? и обновлять всю цепочку баз?
|
|||
27
dmpl
26.05.20
✎
11:26
|
(26) Не плодить 100500 всяких мелких доработок :) "Вам это не надо" - очень важный навык для фикси.
|
|||
28
Бархат
26.05.20
✎
12:33
|
вощем, решил так... делаю поставку, сравниваю конфу каждой "конторы" с основной и..... в правилах сравнения в модулях ставлю пробел в коде (чтобы появилась зеленая галка на правиле объединения). Так я фиксирую изменяемые данные в модулях (общих и форм).
Что касается реквизитов, то их прописывать вручную в правилах, например <Object fullNameInSecondConfiguration="Document.ДоговорКредита.Attribute.Подразделение"> <MergeRule>GetFromSecondConfiguration</MergeRule> </Object> Сохраняю правила. дальше когда накатил релиз на основную - сделаю Срав-Объед с конфой "конторы1", сбрасываю галки и делаю "Добавить настройки из файла". Дальше выбираю свой файл настроек и галки ложатся только на мои объекты. только так )))) вообщем работает. Сделаю правила и раскладываю по папочкам "Контор" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |