1С: Вот на эти 2% и живу ...

Опять пересказывают анекдоты с бородой.
Теперь Нуралиев за это взялся.
И как всегда, получается похабно.
Театральный буфет. Двое актеров, трагик и комик, пьют водку.
Трагик (голосом и интонациями Маяковского, играя желваками и сверкая глазами):
- Работы нет! Ролей не дают! Забыыыли все!!!
Комик (подражая трагику и с ехидцей):
- Работы нет! Ролей не дают! Пооомнят!!!

Комментарии:
Это анекдот начался давно, лет 10 тому назад, а может и больше.
В 1С при каждом запуске стала появляться окно с рекламой макарон Макфа, снеговика и еще какой-то фигни.
Пользователи, конечно офигели от такой наглости.
Но, поскольку, в 1С уже тогда вовсю трудились дилетанты, лекарство от жадности Нуралиева нашлось через неделю.
И с тех пор ее (рекламу макарон) больше никто не видел.
Варианты "удаления" рекламы из типовых конфигураций было сразу же опубликовано, но потом довольно быстро сайт был удален "по требованию фирмы 1С". И без всякого роскомпозора, без каких-либо правовых или каких бы то ни было обоснований - просто удалили и все, типа, если не нравится, идите судитесь ...
В те годы, это было в порядке вещей - удалять ресурсы на которых выкладывали что-то 1С'ное. Нуралиевские шавки искали выложенные в интернете дистрибутивы движка или обновления типовых конфигураций, объявляли сайт пиратским и требовали у провайдера его ликвидации. В данном случае, ничего такого, конечно, не было и никакой интеллектуальной собственности Нуралиева или креков, средств взлома или какой-то деструкции никто не выкладывал.
Судиться с дебилами никто, конечно не стал, на следующий день просто появилась новая копия сайта. До сих пор живет и здравствует - http://reklama-ert-net.narod.ru
Интересно было наблюдать за потугами нуралиевских программистов или, как он их однажды гордо назвал, писателейДляВсейСтраны (мол, вы все тут говно, а "у меня в 1С программисты пишут для всей страны" (дословная цитата)) .
Жалкие ничтожные личности ...
Сначала, они вставили во все конфигурации одинаковую обработку "ИнформационныйБлок" и в процедуре ПриНачалеРаботыСистемы просто вызывали ее запуск.
Потом алгоритм запуска был немного модернизирован.
Дело, вероятно, было все в той же фантастической жадности. Ведь, рекламу макарон публикуют за деньги и за определенное время или число показов. Поэтому, если вы редко обновляете конфигурацию, например, раз в год по необходимости и то не каждый год, то все эти годы к вам "прилипнет" одна и та же рекламная лапша за которую уже второй раз с этих макф денег не взять. И вообще, не понятно, смотрит кто-то эту рекламную заставку или нет и показывается ли она вообще. А рекламодатели, платя за воздух с Луны, скорее всего, требовали данных о количестве показов их рекламных блоков.
Поэтому запуск самОй рекламы перенесли в обработку "ИППДополнительнаяИнформация", которая теперь не нужно было все время исправлять в каждом релизе, а в "ИнформационномБлоке" остались только сами баннеры. Кроме того, в комплект регламентированной отчетности добавили внешнюю обработку reklama.ert, которая сначала был копией ИнформационногоБлока", а потом тоже "разделилась" на неизменяемую reklama.ert и InfoBlck.ert c макаронными картинками. Ведь реготчетность большинство, если не все, устанавливают на каждый квартал. И таким образом они стали каждые 3 месяца получать свежую порцию макарон.
А для того, чтобы "рекламы много не бывает", внутри этих обработок была введена "нумерация" релизов рекламы с указанием сроков ее показа.
Т.е. алгоритм запуска стал оборжаться какой интеллектуальный: сначала обходились все рекламные обработки (встроенный "ИнформационныйБлок" и все reklama.ert во всех папках реготчетности RpXXqX.grp в ExtForms), которые не запускаясь сообщали свой номер релиза рекламы. Потом из полученного списка выбирался самый старший релиз и эта обработка запускалась уже с показом рекламной заставки. Таким образом достигалась ротация рекламных блоков и показ только свежей рекламной ботвы ...
А кроме того, сделали "счетчик показов". Сделали смехотворно и позорно - фантазии хватило только на файл Info.cnt в папке реготчетности. Это был такой прообраз сегодняшнего робота Алеши. Не удивлюсь, если делали одни и те же рукожопые.
Если у вас есть старые базы, посмотрите там в папках RpXXqX.grp эти файлы. Их можно открыть любым блокнотом. До сих пор, так и осталось загадкой, для чего они предназначались - никаких видимых средств сбора этих счетчиков или их опроса, снятия данных и т.п. обнаружено не было. Возможно, это может по-тихому делать сам движок 1С, но маловероятно, потому что последний релиз движка (27-ой) вышел задолго до появления первых рекламных макарон, лет за пять до того, не меньше.
В любом случае, эти счетчики не возможно идентифицировать и т.о. получить сколь-нибудь достоверную информацию ни о статистике, ни, тем более, о динамике показов рекламных блоков.
Выключить эту макаронную вакханалию и включить лапшеснимательную машину оказалось проще простого.
Поскольку "ИнформационныйБлок" и прочие являются встроенными обработками, эффектно и очень эффективно показала себя стародавняя фича клюшек.
Дело в следующем.
В клюшках есть непонятно зачем 2 типа объектов Отчеты и Обработки

Это абсолютно одинаковые объекты, в них нет абсолютно никакой разницы, ни единого байта. Зачем было городить в движке 2 объекта по цене одного не понятно.
Как и другие объекты их можно "запускать" не только интерактивно тыкая мышкой по меню или кнопкам на панели инструментов, но и программно. Для этого существуют во встроенном языке 2 похожих метода (команды):
ОткрытьФорму("Обработка.ИнформационныйБлок");
ОткрытьФорму("Отчет.ИнформационныйБлок");
А фича в том, что если вдруг (как правило, случайно) в конфигурации окажется и Отчет и Обработка с одинаковым идентификатором (2 объекта одного типа с одинаковым идентификатором создать нельзя, а отчет и обработка - легко), то при любом синтаксисе запускающей строки всегда будет открыт отчет и никогда обработка.
Такую обработку можно открыть только интерактивно кнопкой на панели инструментов или через пункт меню.
Теперь прочтите начало этого поста и, не сомневаюсь, вы сами легко догадаетесь как убрать навсегда с глаз долой нуралиевские макароны.
Поняли, как?
Конечно - создаем новый отчет и даем ему точно такой же идентификатор как и у обработки.
В тексте модуля пишем 3 строки (их можно скопировать в любой типовой конфигурации в любом служебном справочнике, например).

Вот этот нолик в статусе возврата приводит к тому, что форма не открывается ни при каком варианте запуска. Вы даже моргания экрана не видите, потому что его нет.
На такую "доработку" конфигурации требуется не более 20-30 секунд времени, даже если вы мышку держите двумя руками.
Это нужно сделать 1 (Один) раз в жизни для каждой конфигурации.
Причем, заметьте, мы не изменили ни единого байта типовой конфигурации и при всех последующих обновлениях, наш отчет останется неизменным, т.к. этого объекта нет в типовой конфигурации и обновление его просто не видит.
Но если вы внимательно читали историю с самого начала, вы мне конечно возразите, что этот номер не прокатит, потому что вместо отчета, система запустит внешнюю обработку из комплекта регламентированной отчетности, т.к. у нее будет более старший релиз рекламного блока.
И вы правы - это работало в самом начале.
А когда эти писателиДляВсейСтраны придумали систему релизов для рекламной бредятины, нужно было просто "присвоить" нашему отчету номер релиза сто тыщ мильёнов. Еще несколько строк кода ...

... и нуралиев опять обломился.
Но есть и проблема ...
Проблема в том, что у базовой конфигурации нет конфигуратора.
Т.е., он есть, но дерева конфигураций в нем нет и добавлять объекты в типовую конфигурацию он не позволяет. В этом, собственно, и есть отличие базовых движков от всех остальных.
Зато у нас есть то, чего не хватает писателямДляВсейСтраны - мозги.
Внедрение системы релизов рекламных блоков и распространение их (макарон) вместе с реготчетностью, позволило так же легко и элегантно убрать рекламу из базовых конфигураций.
Надо просто в любом комплекте реготчетности заменить одинесный файл reklama.ert на наш файл-пустышку, причем программный код в нем будет точно такой же как во встроенном отчете. Даже не обязательно это делать в существующем каталоге, можно просто создать папку Rp36q4.grp - 4 кв. 2036 года и в нее положить этот единственный файл. Почему Rp36q4.grp? Потому что до этого квартала еще надо дожить и когда это еще в нее установится квартальная отчетность и затрет его - я не доживу. И потом, движок 1С все равно не работает после 2036 года - поставьте на компьютере системную дату 2037 года и вы легко в этом убедитесь...
Установить такую "защиту" от рекламы может абсолютно любой юзер, даже если он не знает что такое конфигуратор и как он открывается. Потратите 5 минут времени и сил и на всю оставшуюся жизнь вам этого хватит.
А чтобы вообще ничего не делать, можно взять готовую обработку reklama.ert с того самого забаненого 10 лет назад сайта.
Она более изощренная и совсем не убиваемая.
Она "смотрит" из какой папки ее запустили. И если это папка реготчетов с именем RpXXqX.grp в папке ExtForms в папке базы, то сработает код на стотыщмильонов (см. рисунок выше) и дальше будет все как нужно, т.е. ничего не откроется.
А вот если ее запустить из любого другого места (меню Файл-Открыть ...), то она откроется и будет выглядеть вот так:

Вам может показаться, что здесь два окна: на фоне открытой базы, другой экземпляр со списком баз для выбора и запуска. Но если присмотритесь повнимательней, вы увидите, что это просто стилизованная форма под стартер 1С. Выдают ее пиктограмка в левом верхнем углу (должна быть как у основного окна), флажки для отметки нужных баз (в оригинале там список без пометок) и заголовки всякие ... А список баз точно такой же как в оригинальном стартере.
Так вот, если вы отметите здесь базы флажками, зададите глубину периода и нажмете любую кнопку или ОК, эта обработка переименует сама себя в reklama.ert и разложит сама себя по всем папкам реготчетов во всех отмеченных базах и за одно удалит в этих папках реготчетов файлы InfoBlck.ert, потому что они очень много весят. Из-за картинок размер этого файла в десятки раз может превышать суммарный размер все реготчетов.


Был вынужденный перерыв из-за траура у нас в семье ...
И, наконец, обещанный анекдот.
Последняя бухгалтерия:


1. Вся система нумерации релизов рекламных блоков похерена.
2. Система счетчиков показа рекламы похерена.
3. При поиске в папках реготчетов файла reklama.ert проверяется и наличие файла InfoBlck.ert, если его нет (см. выше почему) этот каталог реготчетов пропускается.
4. И самое ржачное - это, конечно, последняя строка в процедуре ПриНачалеРаботы Системы. Как видите, без всяких там условий и поисков просто включают показ нуралиевской бредятины. Ну, как вы понимаете, за мной Отчет.ВажныеИзмененияБП8 не заржавеет ...
Помнят ...
 

Подтвердите удаление записи