|
Можно ли расширением заменить полностью общий модуль? | ☑ | ||
---|---|---|---|---|
0
Гена
гуру
25.02.25
✎
12:14
|
Вопрос теоретический.
Есть общий модуль ABC. Можно ли его полностью заменить на EF_01_ABC и надо ли потом во всех местах конфигурации делать замену в обращении к ABC на EF_01_ABC ? |
|||
1
Fedor-1971
25.02.25
✎
12:17
|
(0) Целиком - это для каждой процедуры/функции сделать заглушку Вместо и потом изменять алгоритмы работы оных
Вот только зачем всё забивать? |
|||
2
Гена
гуру
25.02.25
✎
12:18
|
(1) Увы... Сам модуль скрыт под сообщением:
"Исходный текст модуля отсутствует". |
|||
3
Волшебник
25.02.25
✎
12:19
|
(2) Можно взломать, декомпилировать
|
|||
4
Доминошник
25.02.25
✎
12:20
|
(0)
Можно ли его полностью заменить на EF_01_ABC Заменить - можно. надо ли потом во всех местах конфигурации делать замену в обращении к ABC на EF_01_ABC ? Нет, не надо. |
|||
5
Fedor-1971
25.02.25
✎
12:23
|
(2) тогда придётся выкопать все обращения к данному модулю из конфигурации и написать свои алгоритмы, а вызовы изменять не придётся
|
|||
6
Fedor-1971
25.02.25
✎
12:26
|
(3) Можно, но, возможно, что простая реализация процедур/функций займёт сравнимое время
|
|||
7
Регистр
25.02.25
✎
12:27
|
(3) Что, уже началось ?
(как в известном анекдоте: "Так, я гляжу, товарищ полковник все время то на часы смотрит, то на *, то на часы, то на *! А потом как товарищ полковник ему по роже дал, так я подумал, что по всей стране началось") |
|||
8
Гена
гуру
25.02.25
✎
12:27
|
(3) Хочется легально... почти )
(4) Итак, я вижу по коду какие на выходе из чёрного ящика ABC есть внутри функции и процедуры. Создаю расширение EF_01_ABC, внутри прописываю эти функции и процедуры. И всё? Во всех местах конфы, где есть, например, Что-то = ABC.Процедура_1(); не надо заменять на EF_01_ABC.Процедура_1(); ? Что-то слишком гладко получится, нет? |
|||
9
Волшебник
25.02.25
✎
12:28
|
(7)(8) Если кому-то нужно моё разрешение, то я его даю.
|
|||
10
Регистр
25.02.25
✎
12:28
|
(6) ты тот самый d.Fedor ? Или ты другой Fedor ?
|
|||
11
Fedor-1971
25.02.25
✎
12:30
|
(8) Попробуй добавить в расширение любую функцию из открытого общего модуля с префиксом "Вместо" и проверь отладчиком её вызов
Тупо попадёшь в расширение |
|||
12
Волшебник
25.02.25
✎
12:30
|
ГК РФ. Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:
1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников; 2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию; 3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ. |
|||
13
Fedor-1971
25.02.25
✎
12:30
|
(10) Походу другой
|
|||
14
Гена
гуру
25.02.25
✎
12:35
|
(11) Да это ежу понятно. Но! когда в коде ЕСТЬ заменяемая функция. Но ведь её явно НЕТ в скрытом модуле.
|
|||
15
Bigbro
25.02.25
✎
12:36
|
модуль в ошибки падает крашится или зависает надолго?
если нет так просто после возврата свой алгоритм допилить и все. в свое время с Рарус-автотранспортом именно так пришлось обойтись, поскольку там был кривой расчет. а исправлять они отказались, предложили УАТ купить))) |
|||
16
Fedor-1971
25.02.25
✎
12:42
|
(12) Это слабо подойдёт, т.к. правообладатель ОДИН и по его решению часть кода спрятана.
Тут если только скрытый код содержит явную ошибку, мешающую работе и не исправляемую, например, за неделю и нет возможности откатиться к предыдущей версии. Примерный план действий: Официальное письмо разработчику - тра-ля-ля (переписка, что работа остановлена) - результат: отдайте деньги козлодоевы или мы сами починим и вы нам "И с деньгами не нать, и без денег не нать" |
|||
17
Волшебник
25.02.25
✎
12:46
|
(16) Почитайте внимательно. Деньги за программу заплачены. В закрытом модуле содержится ошибка. Чтобы её исправить, вы имеете законное право декомпилировать модуль.
|
|||
18
Fedor-1971
25.02.25
✎
12:46
|
(14) Как это нет, берёшь и пишешь руками, т.е. имя функции тебе известно, место вызова то же
примерно так: &Вместо("ВызываемаяФункция") Функция EF_01_ВызываемаяФункция() А параметры достанешь из обращения в открытой части кода |
|||
19
Доминошник
25.02.25
✎
12:54
|
(14) Заимствуем модуль целиком в расширение
И далее - как сказано в (18) начинаем в расширении писать свои обработки процедур и функций (не забывая про параметры). Проблема может быть, если в параметрах оригинальных процедур и функций есть что-то типа "ЗНАЧ", " = Неопределено" и т.п. |
|||
20
Гена
гуру
25.02.25
✎
13:04
|
(18) Ладно. Спасибо. Поверю. Пока поверю... )
Что-то как-то сомнюк... Может при обращении кода к чёрному ящику там компиллируется наименование функции и наше "Вместо" квакнет... Но... поверю специалистам, что сработает. |
|||
21
bolder
25.02.25
✎
13:07
|
(0) это другой подход.Мне нравится предложение (1) и (11).Все входы черного ящика переопределяем в расширении.Работает на ура.
|
|||
22
bolder
25.02.25
✎
13:08
|
(20) Вместо сработает первым.
|
|||
23
Гена
гуру
25.02.25
✎
13:10
|
(21) (22) Мерси.
Ну и на фига тогда прятать модуль, если на раз обходится? [вопрос риторический] |
|||
24
Волшебник
25.02.25
✎
13:12
|
(23) Прятать исходники бизнес-программы — это вообще преступление.
|
|||
25
bolder
25.02.25
✎
13:14
|
(23) Нетривиальный код )))И деньги.
|
|||
26
Злоп
25.02.25
✎
13:40
|
А что в этих закрытых может быть нетривиального? Ладно я понимаю, какая-нибудь оптимизационная задача спрятана или что-нить сложное неочевидное...
|
|||
27
bolder
25.02.25
✎
13:43
|
(26) Ну допустим.Просто массивный код с каким то ноу хау.Продающийся на известном ресурсе с доступом на определенный период.
|
|||
28
Доминошник
25.02.25
✎
13:55
|
(26) В типовой БП закрыты (как минимум) несколько ОМ по работе с ЛК ЕНС: ЕдиныйНалоговыйСчетЛичныйКабинет, ЕдиныйНалоговыйСчетИнтеграцияБП, ЕдиныйНалоговыйСчетИнтеграцияВызовСервера, ЕдиныйНалоговыйСчетИнтеграцияВызовСервераБП, ЕдиныйНалоговыйСчетИнтеграцияПовтИсп, ЕдиныйНалоговыйСчетЛичныйКабинет
|
|||
29
Fedor-1971
25.02.25
✎
14:00
|
(26) Например, проверка лицензионного ключа и несколько расчётных процедур, чтобы тупо не отключили
|
|||
30
Eiffil123
25.02.25
✎
14:00
|
(24) покупатель может не покупать программу без исходников, если он за опенсорс-решения
|
|||
31
bolder
25.02.25
✎
14:01
|
(28) И правильно.Нефиг всяким хакерам в ЛС ФНС лазить.
|
|||
32
stix2010
25.02.25
✎
14:13
|
(0) если он не глобальный
|
|||
33
Bigbro
25.02.25
✎
14:52
|
(26) рарус там прятал расчет себестоимости.
видимо от стыда прятал, поскольку работал он криво, приходилось править выходные данные. |
|||
34
eddy_n
25.02.25
✎
15:07
|
(26) Любая вещь, связанная с шифрованием.
|
|||
35
Волшебник
25.02.25
✎
15:10
|
(34) Алгоритм шифрования должен быть открытым. Вся секретность должна быть обеспечена секретным ключом.
|
|||
36
bolder
25.02.25
✎
15:11
|
(32) Глобальный заменяется на неглобальный.С такими же именами процедур. Вызов будет по методу в (0), прийдется везде менять.Все заработает.
|
|||
37
_Дайвер_
25.02.25
✎
17:01
|
Префиксы EF расширений только для исправлений от 1С, там через БСП подрубаются они как то, не помню точно, но свои расширения работать вроде как отказываются. Делай свой префикс расширения и херачь везде &Вместо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |