Тема древняя, обсуждалась миллион раз, и тем не менее...
Как, передавая заказчику работы до полной оплаты, усложнить возможность неоплаты работ? Понятное дело, что договорная база, подписанное ТЗ и т.п.? позволят разрулить вопрос через суд. Но личного опыта судебных исков не имею, и начинать не хочу. Предпочтительно вводить механизмы, ограничивающие работоспособность разработки по времени. Такой опыт есть и эффективность его (для меня) - факт.
Вот тут и возникает вопрос: коль скоро речь - об 1С, в которой разберётся первый встречный дурак (по крайней мере - в пределах удаления кода, включающего ограничения), имеет смысл придумать что-нибудь посложнее. Т.е. можно вообще не думать, и купить КЗК от АЛЬФа, но, насколько помню - разработка сугубо для v7, к тому же стоит денюшку. А мы ещё своего не отбили.
Можно воспользоваться штатным сокрытием кода от 1С. Т.е. в v8 можно скрыть код любых модулей (кроме модулей форм), а в v7 - код внешних отчётов.
Но, как показывает практика, достаточно пофлудить на тематических форумах, представившись юной девушкой и предоставив подобающую фотку, и обязательно найдётся энтузиаст, который расскажет, как обойти защиту платформы. Или, того лучше, сам это сделает: ему - закрытый код, от него открытый.
Это было предисловие.
Итак: меня посетила мысль.
Во-первых - это должна быть внешняя обработка (отчёт), во-вторых обработка не должна вообще передаваться клиенту.
Вариант с использованием ВК не рассматриваю, поскольку нужна регистрация библиотек. Не всегда реально.
В итоге схема такая.
1. пишется *.exe, в котором в качестве ресурса подключены обработки 1С (как двоичные данные). При запуске программа проверяет условия (допустима ли работа с внешним отчётом и если допустима, то в каком режиме) и по результатам из своего ресурса формирует в текущем каталоге сам файл внешнего отчёта (единственного, или одного из нескольких - с ограничениями).
2. в 1С обработка вызывается вспомогательной обработкой-стартером, которая вызывает п.1, ждёт, скажем, пару секунд, и запускает обработку, которая должна была сформироваться в результате работы п.1
3. в самой обработке (итоговой, той, которая и скрывается в ресурсах исполняемого файла) при открытии выполняется удаление собственного файла.
Т.е. до запуска обработки не было на диске и после запуска обработки нет на диске. Всё в памяти.
К сожалению, каждая манипуляция занимает некоторое время, так что лучше, используя Обработку Ожидания, давать задержку на пару секунд перед следующим шагом.
4. И обработка-стартер и рабочая обработка должны быть закрыты штатными средствами (туннель в туннеле).
Проверял на тестовых примерах - идея работает.
Теперь оговорюсь: понятно, что мало-мальски вменяемый спец и вскрыть защиту платформы сможет, и сообразит, куда и как кешируется файл обработки, и (если кешируется уже урезанный вариант) сумеет вытащить данные из *.exe...
Здесь напомню: если себестоимость взлома кода превышает себестоимость покупки - взлом невыгоден.
На практике бывает так: недобросовестный заказчик ищет программиста, который за 1/10 от стоимости разработки её взломает. Если сложность защиты такова, что работа спеца соответствующего уровня будет дороже, чем сама разработка - заказчику проще будет оплатить. Ну а если для заказчика взлом - дело принципа.. Что-ж.. Форс-мажор.. Впрочем, таковых не встречал.
Описанный метод требует минимальных навыков программирования (не 1С), так что имеет ограничения. Не в том суть
Интересно обсудить саму методику.
Ну и, до кучи, будем считать, что речь идёт об отчётах. Т.е. скорость запуска не принципиальна и пара секунд погоды не сделает.
Ваши мнения, товарищи. Желательно - с аргументами. Желательно - из личного опыта.