Имя: Пароль:
1C
1C 7.7
v7: Средства защиты программного кода 1с. Кто чем пользуется?
0 sysadminlk
 
25.11.13
16:10
Возникла необходимость закрыть исходный код конфигурации.
Продаю конфигурацию и не хочу чтоб ее изменяли без меня.

Чем можно закрыть код?

В сети нашел сайт http://www.hauberk.ru/
Вот думаю может еще какие-то решения есть?

Подскажите.
1 IamAlexy
 
25.11.13
16:11
переходи на 8ку и юзай вайсэдвайс

все остальное - тлен..
2 Vlad_1717
 
25.11.13
16:25
Была прога от Альфа, 1С продвигала свой комплекс для партнеров.
3 neckto
 
25.11.13
16:32
(0) Писал когда-то ВК, код прятал в ней. Для ее работы в сети должен был быть запущен сервер защиты, авторизация рег. номером. Случаев взлома мне не известно :)
4 Guk
 
25.11.13
16:32
гугли КЗК...
5 Господин ПЖ
 
25.11.13
16:33
>Возникла необходимость закрыть исходный код конфигурации.
>Продаю конфигурацию и не хочу чтоб ее изменяли без меня

хорощо бы почитать договор, а потом нагнуть автора...
6 sysadminlk
 
25.11.13
16:35
в договоре написано с конфигурация 1с закрытым исходным кодом
вот теперь проблема как его сделать закрытым
7 IamAlexy
 
25.11.13
16:37
(5) если в договоре ничего не прописано специально - автор может закрыть код как угодно .
8 Rie
 
25.11.13
16:37
(6) КЗК тот же...
Но если строго формально - то код внутри конфигурации уже зазипован. Так что, можно сказать, - закрыт...
9 Rie
 
25.11.13
16:39
(7) Ну и какой лох будет покупать конфигурацию с закрытым кодом и надеяться на бессмертие, могучее здоровье и колоссальную честность (и оперативность) малоизвестного автора?
10 zak555
 
25.11.13
16:39
(7) если ты как исполнитель об этом не сообщил заказчику нагнут
11 Guk
 
25.11.13
16:39
(5) а разве в договоре на покупку того же ИТРП были какие-то специальные определения на этот счет?...
12 КадумКинбешлов
 
25.11.13
18:16
гов...кодь побольше, самая лучшая обфускация
13 adelaide
 
25.11.13
18:49
(12) обычно го*нокод и пытаются спрятать за защитами. потом с этой защитой геморроя не оберешься. Довелось поработать с защищенной конфой и ее поддержкой, с тех пор считаю что лучше взять типовую и допилить ее под нужды клиента.
14 Сияющий Асинхраль
 
25.11.13
19:08
Альф КЗК Проф бесплатно выкладывал:

http://odines.ru/redir.php?http://www.kzk2.ru/files/kzkprof.rar
15 Cthulhu
 
25.11.13
19:32
кзк-2 есть, честная.
могу запаролить чо надо - присылай.
16 КонецЦикла
 
25.11.13
19:34
КЗК-2, купил давно
Не ради защиты говнокода, а ради сдерживания ларечников от соблазнов на этапе тестов
17 zakidonoff
 
25.11.13
19:37
Самый грамотный способ закрыть код в 1С - это написать его на Делфяш или си в виде внешней библиотеки.
всё остальное вскрывается любым пубертатным за пару запросов в гугле
18 IamAlexy
 
25.11.13
19:50
(9) а какая в принципе разница если решение работает ?
ну вот купил ты виндовс, какая тебе разница что внутре если твоя виндовс работает.
не?
19 КонецЦикла
 
25.11.13
19:52
(18) А изменить если что потребуется? Не всегда возможно что-то сбоку прилепить
Лично я сочувствую обладателям криптографических конф
20 Злой Бобр
 
25.11.13
19:59
(0) Очередной ваятель нетленок ...
"Пилите Жора, пилите. Она золотая" (с) ...
21 йети
 
25.11.13
20:12
(0) знаю несколько немаленьких компаний сидящих на 1С8.0 или 1С8.1, на вопрос почему - матерятся и поминают авторов какой-то конфы с закрытым кодом :)
22 IamAlexy
 
25.11.13
20:12
(19) а если вам в виндовс надо что то допилить?
в исходный код ядра лезете?
23 Rie
 
26.11.13
05:41
(18) Ключевое слово "если". Как ни парадоксально, но предметная область "1С" и конфигураций на её платформе обладает одной особенностью: сегодня оно так, а завтра вышло очередное постановление правительства - и всё уже иначе.
Хорошо, когда автор более-менее доступен (например, ЗАО "1С") и вносит своевременно изменения.
Хуже, когда автор всё же доступен (например, "РАРУС"), но когда он разродится изменениями - известно лишь богу, да и тому только на 18%.
Ну а когда автор сдал закрытый код и сгинул в поисках очередного Эльдорадо - то тут уже не просто хуже, тут - худо.
24 Rie
 
26.11.13
05:42
(22) А бывало. Надо драйверочек написать - а он как раз в режиме ядра работать должен... С Windows, кстати, и DDK имеется.
25 Rie
 
26.11.13
05:46
Кстати, интересно, а сколько будет стоить
"закрытая конфигурация", и сколько будет стоить поддержка оной (если поддержка вообще предусмотрена)?
26 ЧеловекДуши
 
26.11.13
05:50
(0) Забей, с тобой потом заказчик общаться не будет...
1С тем и хороша, что её код может поправить любой и быстро.
А коль ты зашифруешься, то твоя поделка будет зависит от того у кого есть дешифратор :)
А соответственно, если ты пропадешь, то твоЁ нетленкО уже мало кого будет интересовать.
Мы же в России, тут каждый год, кто либо чего придумывает :)
27 ЧеловекДуши
 
26.11.13
05:50
(25) Я бы её даром бы не взял :)
28 ЧеловекДуши
 
26.11.13
05:51
(5) Да... жадность наказуема :)
29 ЧеловекДуши
 
26.11.13
05:52
(3) еще одна нетленко :)
"Неуловимый Джо не потому, что он неуловим, просто он никому не нужен" :)
30 Rie
 
26.11.13
05:52
Ещё 1С 6.0 давала (пусть и минимальную( возможность пользователю кастомизировать продукт. С тех пор прошли десятилетия. История идёт по кругу :-)
31 ЧеловекДуши
 
26.11.13
05:53
(17) Я знаю делфи :)
Могу декомпилировать твой код, дальше что? :)
32 ЧеловекДуши
 
26.11.13
05:55
+(23) +100500 :)
33 Rie
 
26.11.13
05:55
(29) Ну, подобное решение было (да и до сих пор используется) в АРМ кассира. Когда функционал работы с ККМ прячется в ВК. И тут всё нормально, IMHO.

Также подобные решения использует РАРУС - правда, тот зачастую прячет в ВК очевидные глупости, которые легко переписываются и без ВК :-) Это - уже ненормально.
34 Злопчинский
 
26.11.13
05:56
я тут удаленно консультиру./помогаю отдному челу.. сидит на клюшках, по автозапчастям. все паролит и нычит. конфига - запаролена, обработки все внутрях конфиги и т.д. на конфигу я смотреть без слез не могу... м.б. она и представляет какую-то ценноость - но исключительно как источник каких-то данных (отчетов, ведомостей, мб. номенклатуры). нокак код - страшнее я пок ане видел... ;-)
35 Rie
 
26.11.13
05:59
О! Так ведь у автора - "клюшки"!
Автор, хороший совет - ставь пароль на конфу и на внешние обработки.
А модераторы будут банить тех, кто не способен самостоятельно найти алгоритм снятия пароля и будут спрашивать об этом на форуме. Заодно и интеллектуальный уровень форума чуток повысится! :-)
36 ЧеловекДуши
 
26.11.13
06:05
(34) Скажи ему правду, он должен работать в Индии :)
37 stopa85
 
26.11.13
06:08
(34) Когда пишешь Open source важно не только чтобы работало и без багов, но и чтоб не засмеяли (С)
38 Rie
 
26.11.13
06:15
(37) Разумный человек "засмеяли" использует для работы над ошибками и улучшения кода. Да, неприятно бывает. Зато - полезно.
Но есть и другая категория пишущих...
39 Рэйв
 
26.11.13
06:17
(0)Могу поделиться суперкриптом конфы под 77. Никто ее еще не сломал.Осталось от давнего пребывания во франчах. Но вещь довольно старая и работает, зараза, только с дискеты 3 дюйма. Выгружает все тексты модулей в длл и не одна собака не раскриптует. Если надо пиши в аську.
40 IamAlexy
 
26.11.13
06:20
соглашусть с тем что поделия на 1С должны быть всегда всегда безусловно открыты после того как все остальные разработчики откроют исходники, например apple откроет полностью свою ios а майкрософт свои виндовс с офисами итд..

а пока, все пассажи "код должен быть открытым" - есть не более чем рассуждения теоретиков-нищебродов на тему "все ресурсы должны быть общими" и "бабы должны всем  подряд давать без всяких условий"
41 skunk
 
26.11.13
06:24
(34)показать?
42 Rie
 
26.11.13
06:30
(40) А ты не путаешь, часом, платформу 1С (которая закрыта) и "поделия" на этой платформе - тем более с учётом необходимейшей в данном случае кастомизации?
Кстати, проблемы с закрытием кода не было бы - если бы автор подобных "поделий" на каждое закрытие кода предоставлял качественный SDK. Но вот - не поставляют же...
Нет, разумеется, если кто "Тетрис" на 1Сике нарисует - пусть закрывает исходники хоть до посинения.
43 stopa85
 
26.11.13
06:32
(38) ну так про то и шутка)
44 IamAlexy
 
26.11.13
06:37
(42) нет-  речь идет о конечном продукте для потребителя а не о платформе на которой этот продукт написан..ну что то типа что речь идет от некоей программе а не о фремворке.

а касательно СДК - никто вам не обязан ничего поставлять, таковы правила "игры в разработку ПО"

все ПО поставляется как есть, не нравится - не пользуйся.
и что самое прикольное - сколько бы мистюки не пели про "код должен быть открытым" - закрытые "гамноподелки гамнофранчей" продаются  и на них сидят и пользуются ими сотни компаний.. и буду пользоваться ибо людям нужен конечный продукт а не копание в коде.
45 Рэйв
 
26.11.13
06:42
(42)Если клиент находится на поддержке франча, то закрытие кода вполне разумное действие.Потому что в случае обнаружения глюка сотрудники франча приезжают и фиксят баг бесплатно. Поэтому надо быть уверенным, что это именно твой баг, а не Васи Пупкина, которого главбухша пригласила "чуть чуть поправить отчет" за банку пива.
46 Rie
 
26.11.13
06:44
(44) Разумеется, никто никому ничего не обещал. Но качество продукта сильно зависит от того, что сделано (неважно, обещано ли или нет). Напомню ещё раз совсем "закрытую" 6.0 - в ней таки дали макросы. Небогатые весьма. Но очень помогали в работе.
А то, что "продаются гамноподелки" и на них "сидят" - ну так это от безвыходности. Жадные ленивые "гамнофранчи" вместо того, чтобы работать - предпочитают посадить пользователя "на иглу".
Кстати, взлом такой закрытой "гамноподелки" - вполне законен:
"Статья 1280. Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
...
3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой, при соблюдении следующих условий:
1) информация, необходимая для достижения способности к взаимодействию, ранее не была доступна этому лицу из других источников;
2) указанные действия осуществляются в отношении только тех частей декомпилируемой программы для ЭВМ, которые необходимы для достижения способности к взаимодействию;
3) информация, полученная в результате декомпилирования, может использоваться лишь для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, не может передаваться иным лицам, за исключением случаев, когда это необходимо для достижения способности к взаимодействию независимо разработанной программы для ЭВМ с другими программами, а также не может использоваться для разработки программы для ЭВМ, по своему виду существенно схожей с декомпилируемой программой для ЭВМ, или для осуществления другого действия, нарушающего исключительное право на программу для ЭВМ".
47 Rie
 
26.11.13
06:45
(45) А что, пункты "Конфигурация - Сравнить, объединить с конфигурацией из файла" (для 8-ки) или "Конфигурация - Объединение конфигураций" (для 7-ки) - уже отменили?
48 Рэйв
 
26.11.13
06:48
(47)А это тут причем? Бухша будет с пеной у рта доказывать, что она белая и пушистая,и что это ты гад подлый накосячил  и "ваша  программа неправильно запрограмирована"
И хрен ты что им докажешь.
49 skunk
 
26.11.13
06:52
(48)бухша логи тоже стереть попросит?
50 IamAlexy
 
26.11.13
06:53
(48) (47) да причем тут это ?
как человек который живет за счет продажи своего ПО (пусть оно написано на 1С) я буду всегда за закрытый код, ибо эта закрытость во первых привязывает клиента ко мне (да детка, это реальный мир и тут каждый сам за себя), во вторых - препятствует бесконтрольному распространению моего продукта без моего ведома.

все остальное чушь и казуистика..
задачи одни - недопустить потерь финансовых.
51 Rie
 
26.11.13
06:54
(48) А при том, что есть эталонная конфа - которую можно хранить прямо у заказчика, запаролив, рассчитав MD5 - что угодно, лишь бы не было споров об идентичности.
А дальше пусть бухша со слезами на глазах (а не с пеной у рта) объясняет, почему рабочая конфигурация ИБ отличается от эталонной.
52 Rie
 
26.11.13
06:57
(50) Качество кода ещё больше привяжет клиента к тебе. Зато несколько уменьшит твою ответственность (а это - финансовые потери, их надо, как ты верно заметил, не допускать).

Что касается "бесконтрольного распространения"... Если кто-то поставит это "бесконтрольное распространение" на промышленную основу - то тут ведь и соответствующие статьи найдутся (и, заметим, они применяются). А если разово скоммуниздят - то рассчитывать на то, что эти разово скоммуниздившие - купили бы, крайне рискованно.
53 Рэйв
 
26.11.13
06:57
(49)(51)Люди, вы наверное во франчах не работали:-)

Да я вам могу дословно процетировать что они скажут если вы начнете в них тыкать логами и сравнением конфигураций.

"Ой, я ничего не понимаю в этих ваших картинках. Но Марь Иванна у нас на хорошем счету. Исправляйте ваши недоделки!"

И будет срачь вплоть до развода с клиентом. Оно кому то надо? Проще закрыть код и спать спокойно.
54 skunk
 
26.11.13
06:59
тогда проще послать клиента в пешее эротическое путешествие
55 Рэйв
 
26.11.13
07:00
(54)Да если бы он был одинг такой то да..Но их через одного двое.
56 skunk
 
26.11.13
07:00
зы: кстати работал во франче ... всегда попадались адекватные клиенты ... во всяком случае от их айти-спецов "я в ваших картинках ничего не понимаю" слышать не приходилось
57 Рэйв
 
26.11.13
07:00
можно и без икры на хлеб остаться
58 Подскажите_Мне
 
26.11.13
07:01
Можно сделать обфускацию кода, интересный вариант
Изменит код по адски, переменные типа f1, _0 и т.д.

Это конечно не защита от взлома, а метод доставить геморой.
59 Рэйв
 
26.11.13
07:01
(56)Это в крупных компаниях.Их не так уж много. в большинстве даже отдела пйтишного нет.Так, приходящий студент
60 skunk
 
26.11.13
07:01
(55)ну будем считать, что мне невезло

(57)икра на хлеб была
61 Рэйв
 
26.11.13
07:01
(60)Да, наверное:-)
62 IamAlexy
 
26.11.13
07:02
(52) всем плевать на качество кода..
пусть у тебя там в коде запросы в цикле и мат сплошной - если решение работает пользователю ПО вообще на всякие програмистские замутки плевать с высокой колокольни...
63 IamAlexy
 
26.11.13
07:03
(57) а вы чужие икринки на хлебе не считайте :)
64 Подскажите_Мне
 
26.11.13
07:06
Ну вот я писал про обсуфикацию (58) щас ради интереса нашел пример http://www.1c-pro.ru/topic12412.html (в первом посте там можно файл скачать), он конечно для 8.1 (конвертируем в 8.2) но ему пофиг какой код обрабатывать.

Было:
Функция мл_РазбитьДату(Дата)
    Состав = Новый Структура("День, Месяц, Год");
    Состав.День     = Формат(Дата, "ДФ=dd");
    Состав.Месяц     = Формат(Дата, "ДФ=ММММ");
    Состав.Год         = Формат(Дата, "ДФ=гг");
    Возврат Состав;
КонецФункции

Стало:
Функция c67ece5ac813460a86f6df996293de23(c33abbecfce74a83893f85475e50eabb) cc70149901eb46c5a3807ecb13b2a78b = Новый Структура("День, Месяц, Год");cc70149901eb46c5a3807ecb13b2a78b.День = Формат(c33abbecfce74a83893f85475e50eabb, "ДФ=dd");cc70149901eb46c5a3807ecb13b2a78b.Месяц = Формат(c33abbecfce74a83893f85475e50eabb, "ДФ=ММММ");cc70149901eb46c5a3807ecb13b2a78b.Год = Формат(c33abbecfce74a83893f85475e50eabb, "ДФ=гг");Возврат cc70149901eb46c5a3807ecb13b2a78b;КонецФункции




забавно да? и так весь модуль)))) тут конечно большие имена, можно найти где короче.

Представьте кодера который увидит весь модуль такой, слезы
65 mdocs
 
26.11.13
07:08
(52) ни от одного клиента за всю жизнь не видел ни единого вопроса на качеству кода. где вы их берете? по срокам, функционалу и методикам этих вопросов тысячи)
66 Rie
 
26.11.13
07:09
(62) Ну, не уверен насчёт "всем". Работал с небольшой конторой - очень приятной. Всегда обсуждалось ТЗ, рассматривались варианты "это лучше программно", "а вот тут вам придётся кладовщику вменить в обязанность, а мы для него форму вот такую сделаем..." и т.д. и т.п.
Что характерно: когда открыли филиал, поинтересовались, а можно ли им туда эту конфу поставить.
67 Рэйв
 
26.11.13
07:09
(64)Ерунда Банально Правка -Заменить
cc70149901eb46c5a3807ecb13b2a78b  на Моя переменная по всему модулю. И так пока не почистится.
68 Подскажите_Мне
 
26.11.13
07:09
Хотя можно тут собрать АнтиОбсуфиувцию.

Которая собирает переменные и имена функций, назначет им короткие имена и делает переносы после ;

В итоге вместо:
Функция c67ece5ac813460a86f6df996293de23(c33abbecfce74a83893f85475e50eabb)

будет:
Функция функция_1(локальная1)
69 Подскажите_Мне
 
26.11.13
07:10
(67) давай кину модуль позаменяешь так? как тебе предложение?
70 Рэйв
 
26.11.13
07:10
(69)Мне то пофигу. но если чел будет работать за деньги, то на полчаса работы.:-)
71 Подскажите_Мне
 
26.11.13
07:11
(67) я писал что это не защита, это обсуфицация, изменения кода в худший вид.

(70) вот! уже минус пол часа. Потом ещё будет путаться в названиях.

ну и в (68) там легко сделать антиобсуфикацию
72 IamAlexy
 
26.11.13
07:12
(71) собственно по этому код и закрывают - чтобы не было соблазну лазить и деобфусцировать :)
73 Подскажите_Мне
 
26.11.13
07:13
(72) на сколько помню все методы закрытия кода в 1С были взломаны))
74 Подскажите_Мне
 
26.11.13
07:13
(73) тот же Рарус компонента защиты и т.д
75 IamAlexy
 
26.11.13
07:14
(73) вроде для 8ки не все
76 IamAlexy
 
26.11.13
07:14
а разве для 7ки КЗК2 который альфовский взломали?
77 Rie
 
26.11.13
07:14
(73) А вот тут и возникает самый главный вопрос: стоит ли ПО того, чтобы тратиться на его взлом?
78 Рэйв
 
26.11.13
07:16
(73)крипт который я выше предлагал никто не взломал.
79 Рэйв
 
26.11.13
07:16
причем кажется специально на какой то форум выкладывали для поиграться спецам
80 блондин1c
 
26.11.13
07:25
КЗК2.стандарт
81 Подскажите_Мне
 
26.11.13
07:34
(78) тот самый неизвестный Х крипт?

Кидай гляну, там дискета чтоль нужна?
82 Рэйв
 
26.11.13
07:53
(81) так в код прописано если носитель с которого запускается не флопи диск, то выход и все.
83 skunk
 
26.11.13
07:54
наверное поэтому и не взломали ... кто-же для взлома непонятно чего будет искать непонятно что и где
84 Рэйв
 
26.11.13
07:57
(83)так длл с текстами модулей то в папке с базой остается.Ломай не хочу:-)
Это просто сам крипт при обработке конфы запускается с дискеты, а потом все работает как раньше. Только без внятных модулей.
85 Подскажите_Мне
 
26.11.13
07:58
(82) омг и много юзали такую защиту?????7 3 тела?

Бред, в 2013 году ставить защиту на обработку, которой нужен флоппи диск.
86 Рэйв
 
26.11.13
07:58
(85)Это произведение года 200-2001 помоему:-)..Тогда еще флопи дисководы были:-)
87 Рэйв
 
26.11.13
07:59
(85)а защита стояла  на уникальной конфе, которую юзали, дай бог памяти, около 2000 клиентов.
88 IamAlexy
 
26.11.13
08:04
(87) чо то как то не вяжется с утверждениями типа "никому не нужны защищеные конфы 1С" :)
89 mishaPH
 
модератор
26.11.13
08:05
зачем на н7ку в наше время ставить защиту??
90 skunk
 
26.11.13
08:05
(84)но ведь база без дискеты не работает?
91 Рэйв
 
26.11.13
08:10
(88)Ты меня с кем то путаешь:-)  я такого не утверждал. А как раз обратное.
92 Рэйв
 
26.11.13
08:10
(90)С чего это?  Все работает. Дискета нужна только для запуска крипта, т.е только в момент закрытия кода. Дальше все работает штатно.
93 skunk
 
26.11.13
08:16
(92)я же не знал ... просто ты с дискетой парил ... я думал она нужна для работы
94 skunk
 
26.11.13
08:16
собственно если все работает ... то скорее всего проблем быть не должно
95 Рэйв
 
26.11.13
08:17
(93)Ну я так думаю это просто еще один элемент защиты. с винта не запустится. Если не знать то хрен догадаешься что только с дискеты запуск
96 Рэйв
 
26.11.13
08:18
(94)Да все уже годами работает.Насколько я слыщал у них уже свежая версия с флешки работает:-) У меня просто оч . древняя версия:-)
97 skunk
 
26.11.13
08:18
(95)а для чего нам пытаться запустить шнягу которая будет шифровать
98 Рэйв
 
26.11.13
08:20
(95)Ну вдруг клиенты свиснут крипт у франча и решат слезть с крючка самостоятельно:-)
99 skunk
 
26.11.13
08:21
(98)и как это им поможет ... данные же из длл надо выковырять
100 1dvd
 
26.11.13
08:22
сотко
101 skunk
 
26.11.13
08:22
а шняга с дискетой нужна для того что-бы их туда затолкать
102 Рэйв
 
26.11.13
08:25
(99)да крипт простой как табуретка. Поле ввода для указания файла мд и две кнопки "Закриптовать" и "Раскриптовать". Младенец управится:-)
103 Rie
 
26.11.13
08:41
(102) Однако не понял. Дискету засунули. Раскриптовалось. Началась работа. Теперь "на горячую" копируется база. И?
104 VladZ
 
26.11.13
08:54
(0) Код - фигня. Ценность имеет только идея. Спередь идею вообще не проблема.
105 ЧеловекДуши
 
26.11.13
08:56
(98) Интеллекта не хватит :)
106 ЧеловекДуши
 
26.11.13
08:57
(103) Вот так и рушится планы Наполеонов :)
Всегда они думают, что у сотрудников компании нет знакомых программистов :ВВВ
107 skunk
 
26.11.13
08:58
(104)вот тебе ценная идея - партионный учет ... запись документов задним числом без восстановления последовательности ... ждем реализацию
108 FoxFox
 
26.11.13
08:59
Недавно коллега кинул текст из модуля чьей-то обработки, вот так действительно защита. Интересно, как ее создатель изменения вносит, наверное какой-то компилятор в такую каку сделал. Вот для примера небольшая функция:

функция a()перем __a;a___="";для _a=1 по 11 цикл a___=a___+символ(число(сред("10661094109510891080105810951097108110911079",(_a-1)*4+1,4))-число(символ(кодсимвола("68758452417",_a))));конеццикла;
~0:if -1<>1 then goto ~4;endif;goto ~3;~1:__a=0;~2:goto ~6;~3:if __a=0 then goto ~7;endif;goto ~5;~4:
if -1>1 then goto ~8;endif;goto ~2;~5:;~6:a__=этотобъект.получитьформу(a___);goto ~10;~7:goto ~6;~8:;
~9:a__=этотобъект.проверитьошибкузапрос(a___);goto ~10;~10:;~11:if 0<1 then goto ~31;endif;goto ~21;if
1>0 then goto ~12;endif;goto ~17;if __a=-1 then goto ~16;endif;goto ~15;~12:if __a=1 then goto ~27;endif;
goto ~26;~13:goto ~35;~14:goto ~35;~15:goto ~35;~16:;~17:if __a=-1 then goto ~23;endif;goto ~30;~18:if
0>=-1 then goto ~13;endif;goto ~25;~19:goto ~28;~20:__a=-1;goto ~28;~21:if __a=1 then goto ~33;endif;
goto ~18;if -1<1 then goto ~14;endif;goto ~22;~22:;~23:;~24:if a__.возврат>=дата(2013,11,01)
then goto ~28;endif;goto ~35;~25:goto ~24;~26:goto ~28;~27:;~28:if a__.начпериода>=дата(2013,10,01)
then goto ~36;endif;goto ~35;~29:;~30:goto ~35;~31:if 0<>1 then goto ~20;endif;goto ~34;~32:__a=0;~33:
if __a=-1 then goto ~19;endif;goto ~29;~34:__a=-1;~35:;goto ~49;~36:;~37:if -1=0 then goto ~44;endif;
goto ~41;if 0=-1 then goto ~47;endif;goto ~45;~38:goto ~48;~39:;~40:goto ~43;~41:if 0<>1 then goto ~40;
endif;goto ~39;~42:;~43:возврат 1;goto ~48;~44:if __a=1 then goto ~38;endif;goto ~42;~45:;~46:
возврат 0;goto ~48;~47:;~48:;goto ~56;~49:;~50:__a=1;if __a=0 then goto ~51;endif;goto ~53;~51:;~52:возврат 0
;goto ~55;~53:goto ~52;~54:возврат 0;goto ~55;~55:;goto ~56;~56:;конецфункции
109 FoxFox
 
26.11.13
08:59
Жесть полная конечно.
110 Подскажите_Мне
 
26.11.13
09:03
(108) даа.. миллиард меток goto)
111 VladZ
 
26.11.13
09:08
(108) бывает "белый шум"... А это "goto-шум"...
112 IamAlexy
 
26.11.13
09:11
(104) точно..

вот тебе идея: раскрой материала на рулонах.
математической базы - хоть опой жри.. даже учебники есть.
а вот реализации в 1С нет.

реализуй..
113 ДенисЧ
 
26.11.13
09:13
(107) Это проблема? О_о
Я видел реализацию такого (и сам учавствовал) в 2006м году...
114 zak555
 
26.11.13
09:16
(112) вести учёт в двух единицах ?
115 IamAlexy
 
26.11.13
09:18
(114) нет - схема оптимального расположения заготовок на материале..
116 VladZ
 
26.11.13
09:22
(112) Цена вопроса?
117 IamAlexy
 
26.11.13
10:12
(115) 1000 баксов (эквивалент в рублях по курсу на дату оплаты) за функцию на входе которой задаются габариты материала (ширина рулона например) и массив габаритов изделий (прямоуголные изделия) а на выходе получатется табличный документ - схема оптимального расположения так чтобы длина рулона была минимальной.
118 IamAlexy
 
26.11.13
10:14
+(117)ну и конечно же циферкой длину материала было бы неплохо получить помимо схемы :)
119 Torquader
 
27.11.13
00:56
(117) Задача решается полным перебором - а это очень и очень долго. Некоторые варианты перебора можно просеять на ранней стадии, но это сильно зависит от соотношения габаритов.
120 IamAlexy
 
27.11.13
01:01
(119) ну вообще то там есть всякие разные алгоритмы помимо тупого перебора всех возможных вариантов размещения
задача то известная: http://ru.wikipedia.org/wiki/Задача_о_ранце

просто реализации вменяемой нет на 1Се..
реши  задачу - денег получишь..
121 zak555
 
27.11.13
01:17
(117) чего жмёшься?
122 IamAlexy
 
27.11.13
01:21
(121) озвучивайте свои цены.. готов рассмотреть ваши варианты
123 IamAlexy
 
27.11.13
01:21
+(122) не, оно конечно можно типа победить в споре заявив "я бы сделал но за 100500 евра, если у тебя есть давай 100% предоплату и я сделаю" но это по сути будет дешевой отмазой уровня детского сада..
124 Steel_Wheel
 
27.11.13
01:31
(108) Это называется "обфускация кода". Автор работает с необфусцированной версией, потом обрабатывает ее обфускатором и отдает клиенту
125 Steel_Wheel
 
27.11.13
01:35
(119) Перебором решать как раз-таки и НЕ надо.
Есть много методов. На вскидку:
а) самый точный -- метод ветвей и границ. Но он работает на небольших массивах (например, задача коммивояжера решается им, только если городов меньше 50. Потом метод генерирует неоптимальные значения)
б) самый неточный: просто рандомно сгенерить кучу вариантов, выбрать самый лучший из нагенеренного
в) компромисс: эволюционные вычисления. Но надо хорошо целевую функцию представлять
126 Steel_Wheel
 
27.11.13
01:36
(120) А зачем тебе 1с? Нафигачь, в чем есть, вынеси в dll, прикрути к 1с
127 IamAlexy
 
27.11.13
01:45
(125)  да да знаем мы.
нужно решение.

(126) что бы я мог это решение закрыть защитой а потом в случае вопросов предлагать всем это решение повторить - дабы показать что реверсинжиниринг рулит и делает все защиты бессмысленными..
128 Steel_Wheel
 
27.11.13
01:58
(127) филантроп, значит...
129 IamAlexy
 
27.11.13
02:00
(128) ну я найду куда эту обработку применить..

вопрос в том что кто бы ее написал - ибо в теории тут пейсателей которые общепит рарусовский реверсинжинирингом за один вечер весь переписывают - все закрытые модули..

а на практике - не особо как то пишут..
130 Подскажите_Мне
 
27.11.13
02:03
(129) реверс раруса как два пальца
131 Steel_Wheel
 
27.11.13
02:12
(129) тебе всяко проще будет студиозуса подбить на это дело. Студиозусу -- тема курсача и бабки. Тебе -- обработка на 1С
132 IamAlexy
 
27.11.13
02:12
(130) конечно как два пальца.. общепит разложи.. реверсом своим.
как два пальца.. да чтобы неограниченное количество уровней вложенности рецептур да учетом потерь и разных едениц измерений инградиентов и разных норм расчета техкарт..

мочи не хватит такие пальцы раздвакать...
133 Torquader
 
27.11.13
23:39
(125) Все методы, которые есть для решения, просто сводят перебор к анализу нескольких вариантов.
Например, простой вариант перебора по порядку убывания уже очень сильно сокращает число вариантов, хотя на самом деле ничем не отличается от полного перебора.
134 IamAlexy
 
28.11.13
00:28
(133)  прелесть ситуации в том что тут как с упп

все владеют конфигуратором и умеют писать циклы и запросы
все примерно понимают как оно написано и знают теорию
и чисто теоретически могут такое написать

но никто не сел и не повторил :)
потому что проще купить чем умереть от старости занимаясь написанием этого :)
135 КонецЦикла
 
28.11.13
01:47
(117) И кто решать будет оптимально или нет? Сколько частей и какое время отводится?
136 Duke1C
 
28.11.13
13:55
(134) Вот именна.
А в случае с твоей задачей, имхо, тут больше загвоздка в самом алгоритме, точнее в его математической модели. Методов дофига, но у каждого свои преимущества и недостатки. Перевести это хозяйство на язык программирования (не важно какой) это уже не большая проблема.
Можно получить самый лучший/оптимальный результат (опять же как сказал КонецЦикла, "кто будет решать оптимально или нет"), но его нахождение займет слишком много времени.
И, до кучи, не большое отступление в сторону:
Не так давно смотрел по Discovery передачку "Мегазаводы", про производство буржуинских автомобилей "крутой" марки (типа "Порше" или "Феррари", не помню, да и не суть важно). Там, для обтяжки салона кожей, кроят туеву хучу деталек, причем ни разу не прямоугольных, а таких форм, что не знаю какими функциями их описать. Да еще сам лист кожи тоже  имеет далеко не "стандартную" форму. Плюс, перед кройкой, специальный чувак отмечает на этом листе при помощи какого-то маркера всякие дефекты. И после этого лист кожи сканируется и на нем размещаются эти самые детальки, после чего меганавароченный резак все это хозяйство вырезает под управлением все той же компутерной программы.
137 uno-group
 
28.11.13
14:46
(132) Писал общепит рецептуры с неограниченным вложением, что там сложного. Главное чтобы ТЗ хороший товаровед ставил
Там основной секс с инвентаризациями при пересменках вылазит с полуфабрикатами. так как вводить производство полуфабрикатов некто не будет. Реально тот фунционал 2 человека месяца тянет.
(0) Закрывать семерку не вижу смысла. уж если кому то что то новое внедрять то на 8. даже при наличии шаровой базы по 7.7 обучение персонала ввод остатков вынужденные простои съедят всю экономию при переходе на 8 через несколько лет.
138 sysadminlk
 
28.11.13
17:07
(14) Большое спасибо! :)
139 andr_andrey
 
29.11.13
13:08
(116) Некоторые программы раскроя, расчета/подбора вышивки по рисунку и тому подобные оптимизационные мотивы (с выводом на технологическое оборудование) стоят десятки тысяч долларов.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший