Устроился в контору. Ознакомился с конфой. Бывшая типовая бухия 7.7 из далеко затертого года. Приходящий "дядя" оставил в ней кучу. Офигенно полезных, жизнено важных и радующих глаз и главного буха изменений.
Вот некоторая часть из них:
ИД документа: "ПеремешениеМатериалов" //-! т.е. документ не перемещает материалы, а перемешивает!
реквизит ТЧ: "СуммаСовсемБезНДС" //при этом есть "СуммаБезНДС", но видимо этого мало надо совсем без НДС
ИД дока: ДвиженияСредствПоставщиковП // Умиляет в ИД поставленная в конце "П", т.к. есть реквизит табличной части "П"
Отдельно про синоним этого документа: "ЗакрРасхНкСвод" - Все Рекорды лаконизма побиты! И главное как удобно пользоватся и легко запомнить.
реквизиты шапки одного из документов: "КУДА" и "ОтветственноЛицоКУДА"
реквизиты документа имитирующего СФ: "ЧТО", "ЗАЧТО" и "ВОЧТО".
Из модулей: // Зацените красоту игры слов, мощь великорусского языка и гениальную изобретальную логику "дяди"
Процедура ПриВыбОнЖе()
Переменная "ДаВариантДляВсех"
Увидев вот ЭТО вспомнил о вреде комметариев:
//********************обнуление Тз
Тз=0;
Если ДаНадо=1 Тогда ... //вот так кратко и понятно Да надо!
Если (Кл=6)ИЛИ(Кл=6) Тогда ... //далее код строк на 50, а клавиш только четыре и очень похоже больше не планировалось...
В описании к отчету:
А зачем вам это описание ???
СМОТРИ
Постановление Правительства №...
Раз десять в модулях встретил такое вот условие:
Если 2=1 Тогда ...
Попался иной вариант этого условия поражающий своей вариативностью:
Если 1=2 Тогда ...
И я понял, что написание неисполняемого кода это мощнейший инструмент в арсенале любого программиста!
В описании работы механизма:
... галочка должна быть нажата иначе есть возможность интерактивного просмотра содержания документа в отчете ...
Переменная "УровеньСуществПоУмолчанию" //- прям из AD&D! :-D
После этой строки я наконец понял с какой стороны думал разработчик:
Если 0=ЗагрДокументы.НайтиЗначение(Документ) Тогда
Немного про константы:
"ДатаЗапретаРедактирования" и "ДатаПолногоЗапрета" - ПОЛНОГО, а тот был видимо не полный!
документы теперь будут открыватся не на просмотр, а на подсматривание.
Апофеоз гениальности: константа "Контроль" - это чтобы жизнь медом не казалась! Просто и сурово! А чего там контроль...
Коротко о сотрудниках и ведении учета:
справочник "ВидыПоставок" наименование группы для объединения сотрудников "Через".
Чтобы короче голову себе не морочить вот такое емкое и понятное каждому название группы.
Внешняя обработка: "Удаление спирта из накладных". Как далеко шагнул прогресс... Вытрезвитель на 1С.
Из задания на доработку: "принудительно устанавливать признак движения материалов в запас" - означает СНЯТЬ галочку "ДвижениеПоЗС"
в документах. Это мозгом не родишь такую логику.
Бух по учету материалов возмущена неработющим "как надо" документом и выдает такой перл моему напарнику:
- Мы с прошлым программистом договорились и теперь ТЫ, Дима мне скажи как это работает...
// Очаровательная тетя.
В соседнем кабинете сидят админы и случаются такие вот диалоги:
приходит тетка:- чета не знаю к кому обратиться, а кто у нас занимается сайтами?
- эээ ну сейчас нет у нас человека непосредственно занимающегося разработкой сайтов...
- кароче! у меня не открываюся сайты это к кому?
- нет соединения с инетом?
- ДАААА! НЕЕЕТТУУУ!
- пошла к сисадмину...
Приглашают на собрание. Спрашиваю:
-А какова цель моего участия?
-А я с тобой за компанию схожу...
// и что-то я даже не нашелся, что ответить и пошел...
Работаю в одном кабинете с программистами на С++:
-а у вас при компеляции стоят эти штуки?
-у меня да стоят...
-а эти как их... стоят?
-дык у меня и эти как их стоят... прямо беда!
Отвечает по телефону: -А вы торчите в исполнителях?
// Автоматом у меня проносится мысль: какая прелесть сидеть в испонителях и торчать...
приходит молодой человек для создания учетной записи на доступ к базе SQL:
-Можно записаться в базу?
-можно, но у нас членские взносы!
- :()
И на закуску из модуля проведения:
Предупреждение("Ошибка! Обратитесь к разработчику! 8 (гудок) ......-42-43");
Если (ДатаДок='22.04.02') Тогда
Предупреждение("Если разработчик не отвечает, еще раз обратитесь к разработчику!");
Предупреждение("Если разработчик опять не отвечает, Значит у него сегодня ДеньРождение! 22 апреля!");
...
Как тут не вспомнить нетленное:
-Ты кто?
-Программист 1С.
-Ну кароч вот тебе лопата разгребай дерьмо в учете...
Такая вот суровая реальность
См. также
О жизни Россия Бесплатно (free)
Данная статья сугубо для раздела «О жизни», но может оказаться полезна многим членам сообщества. Все описанное ниже соответствует актуальному российскому законодательству на момент публикации статьи. У вас нет и в ближайшее время не предвидится детей возрастом до 1.5 лет? Вспомните о родственниках / друзьях / коллегах / знакомых, у которых они есть, и отправьте ссылку на эту статью — она может быть им чрезвычайно полезна. Распространите среди жильцов вашего ЖЭКа, как говорилось в одном классическом произведении. Помните, что, ставя плюсы к статье, вы поддерживаете её автора!
01.07.2024 5517 madonov 48
О жизни Linux Системный администратор Программист Платформа 1С v8.3 Россия Бесплатно (free)
Использование Linux в качестве основной ОС для программиста 1С, возможно ли это? Решил поделиться личным опытом работы перехода на эту систему. В статье моя история без технических деталей максимально простым языком. И, спойлер, да, жизнь на Линуксе для разработчика 1С возможна и с каждым годом становится всё комфортней. Статья рассчитана на людей, с Линуксом не знакомых, специалистов прошу не кидаться помидорами.
16.05.2024 5926 soulner 33
О жизни Россия Бесплатно (free)
Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).
08.02.2024 28467 Neti 85
В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.
22.01.2024 5678 biimmap 67
О жизни Конфигурации 1cv8 Бесплатно (free)
В процессе написания статей на тему Идеальное место работы ЗУПера нужен аргументированный текст про адекватного работодателя. Информации получилось много, поэтому выделю в отдельные 2 статьи. Рассмотрим все недостатки работодателей от момента собеседования до момента увольнения. Все этапы, как всегда, подкреплены реальными случаями из моего опыта.
16.01.2024 7319 biimmap 100
О жизни Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бесплатно (free)
Импортозамещение увеличило потребность в архитекторах, аналитиках, разработчиках 1С, в т.ч. по ЗУП. Все их ищут всеми возможными способами, но не могут найти и не знают, чем же их завлечь к себе!? Давайте разберёмся в этом вопросе!
27.11.2023 5869 biimmap 52
О жизни Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бесплатно (free)
Чисто поржать
19.10.2023 5193 1c-intelligence 25
О жизни Сообщество Бесплатно (free)
Прочитав название публикации, мысль возникает о свадьбе... Но речь не об этом!
25.08.2023 3267 biimmap 24
советские разработки выглядели все неказисто и громоздко, зато брали фнкционалом. Так что либо мужики первый раз на выставку съездилии еще не привыкли, либо - вас просто заочно обсмеяли :)
ну, в Средней Азии и тогда че только не творилось. Клановость во власти - самое наглядное, что выплывало.
Ни один специалист в СССР, кроме Королева, не мог всегда и везде диктовать свои условия.
Процедура ВыбратьФайл()
ИмяФайла = ИмяФайлаПрописи;
Каталог = КаталогИБ();
Пока 1=1 Цикл
ФС.ВыбратьФайл(0, ИмяФайла, Каталог, "Выберите файл прописи для валюты """ + Наименование + """", "Файлы прописи(*.spl)|*.spl");
Если СокрП(Нрег(Каталог)) <> СокрП(Нрег(КаталогИБ())) Тогда
Предупреждение("Выберите файл из каталога """ + КаталогИБ() + """ !", 60);
Каталог = КаталогИБ();
Иначе
ИмяФайлаПрописи = ИмяФайла;
Прервать;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Вкупе с последними твоими высказываниями (
Ты с кем это сейчас разговариваешь?
Имена переменных вполне нормальные. Главное - это понять смысл, заложенный в переменную. Я думаю, что все всё поняли. Есть случаи хуже твоих.
Вот например, ты ругаешь строку:
Код |
---|
Если ДаНадо=1 Тогда Показать полностью |
А что в ней плохого? ИМХО, это намного лучше чем такое:
Код |
---|
Если Прм11=1 Тогда Показать полностью |
Пока 1=1 - это вообще классика.
Если 2=1 Тогда - так люди делают комментарии большого блока кода. Соответственно, чтобы его "раскомментировать" надо поставить "Если 1=1 Тогда ". Также типичный приём.
В общем - "низачёт" (
Какой из отрывков кода в твоем понимании лучше:
Код |
---|
Если ДаНадо=1 Тогда Показать полностью |
или:
Код |
---|
Если Прм11=1 Тогда Показать полностью |
? Причем во втором случае в модуле будет встречаться переменные с названиями: Прм1, Прм111, Пр11, к1, к2, п3 и так далее.
Так вот мне посчастливилось копаться в коде, похожем на второй. И я был бы очень рад, если бы мой предшественник писал бы так, как герой статьи автора!
Ни одного комментария ни в одном реквизите. А деятельность специфическия.
Вот, например, реквизит табличной части - "ПростойЧелФ"
По ИД документа "УчетВремениРаботыМашин" я догадался, что "Простой" - это не в смысле противоположность "Сложный", а "Чел" - это аналог "Чувак".
А что же такое "Ф"?
Открыл форму документа. Описания к реквизиту нет, заголовок колонки "Прост.чел.ф."
И этот реквизит в документе нигде никак не упоминается, т.е. по коду понять невозможно.
Сделал поиск по конфе - встречается в 2 отчетах. Вот кусок запроса
|ПростойЧелФ = Документ.УчетВремениРаботыМашин.ПростойЧелФ;
|Функция ВремяПростояЧ = Сумма(ПростойЧелФ) Когда (ПростойЧелФ<>0);
Очень информативно :-)
То что "Ф" может означать "Фактический" я догадуюсь, но вдруг не так?
"ДатаЗапретаРедактирования и ДатаПолногоЗапрета". Ну и что? Вполне возможно до даты ПолногоЗапрета нельзя редактаривать НИКОМУ, а до даты Запрета можно, например, главбуху.
Так что не судите и не судимы будете! ;)
У меня тема было:
Ставиться задача сделать что-бы скидка на определенны товары давалась на другие нет. Сделал реквизит у Номенклатуры - перечисление СкидкуДавать, СкидкуНеДавать.
Потом директор говорит вот есть ХОРОШИЕ клиенты которым надо дать скидку даже на те товары на которые мы скидку не даем.
Не вопрос делаю реквизит у клиента его проставляем и усе гуд.
Потом директор говорит вот есть некоторые товары, на которые скидку нужно не давать, даже если у клиента есть вышесказанный признак.
И чё делать? В перечисление было добавлено значение СкидкуСовсемНеДавать.
реквизит ни для этого.
А когда в доке 30 наименований и на 2 скидку давать не нужно потому что наценка на них очень махонька. А всего в справочнике 10 000 наименований и операторы не могут помнить на какой товар давать а на какой нет - это по поводу фразы "Пусчай девочки по продаже решают давать или не давать"
ИначеЕсли ТЗ.Количество() > 1 Тогда
//придумаю потом
КонецЕсли;
появлется желание убить.
Не знаешь - не пиши (НЕ гадь. :)
А вообще-то
гораздо хуже когда ТЕКСТ выглядит
чудесно, но сама конфигурация
а) мусорная куча идей, которые никак не связаны или плохо связаны друг с другом (ну нет единой конструкции)
б) или в основу конфигурации положен вековой давности подход к предметной области (например бух.учет к учету в самом производстве :)
Оформления структуры кода почти никакого. Вижу такие строки
....
примерно на строке 250
Если УчитыватьСкидкуПоДисконту = Истина и СрокДействияДисконтнойКарты > ТекущаяДата() и ДисконтнаяКарта...(Тут текст уходит за границу экрана)
КонецПопытки;
КонецЕсли;
я бился в истерике...
Мое мнение таково, когда коментируешь блок - выставлять дату коментирования и по прошествии некоторого времени (месяц-два) удалять. потому как это уже действительно мусор.
я бы этому ДВ руки то поотбивал
// ДВ 2008.03.22, 2008.07.09
//ТекСтрока.Цена=обПересчет(ЦенаНормочаса,ТекСтрока.Нормочас.Валюта,Дата,ВалютаДокумента,КурсДокумента);
Если СокрЛП(ТекСтрока.Работа.Код)="ЦБ0010532" Тогда
ТекСтрока.Цена=0;
КонецЕсли;
Если Справочники.Организации.ОсновнаяОрганизация.Наименование="Автоцентр "" Estocada express """ Тогда
Если СокрЛП(ТекСтрока.Работа.Код)="ЦБ0011277" Тогда
ТекСтрока.Цена=0;
КонецЕсли;
Если СокрЛП(ТекСтрока.Работа.Код)="ЦБ0011276" Тогда
ТекСтрока.Цена=0;
КонецЕсли;
Иначе
//Если СокрЛП(ТекСтрока.Работа.Код)="ЦБ0011294" Тогда
// ТекСтрока.Цена=0;
//КонецЕсли;
Если СокрЛП(ТекСтрока.Работа.Код)="ЦБ0011295" Тогда
ТекСтрока.Цена=ТекСтрока.Нормочас.Цена/2;
КонецЕсли;
КонецЕсли;
// ДВ 2008.03.22, 2008.07.09
Плакаль....
Но когда это 1С... (Конфигурации для Украины)
План видов расчета "Средний заработок", предопределенные элементы:
Имя - Наименование
ПоЗаработкуБЛПропорционально - (больничные пропорционально) По начислениям, которые учитываются пропорционально отработанному време
ПоЗаработкуБЛБерИРоды - (для больничного по беремености и родам) По заработку
ПоЗаработкуБЛ - (для больничного) По заработку
ПоЗаработкуДляОтпуска - (для отпуска) По основному заработку, для расчета отпуска
ПоПремиямОтпуска - (для отпуска) По премиям
ПоФиксПремиям - (для отпуска) По премиям пропорционально
ПоПремиям - (для средней) По премиям
ПоФиксПремиямОтпуска - (для средней) По премиям пропорционально
ПоЗаработку - (для средних) По основному заработку, для оплаты по среднему
ПоГодовойПремии - По годовой премии
ПоОкладу - По окладу
Я о том и говорю, что на уровне "идеологии" разработчик закладывает:
"это понять невозможно, это можно только запомнить..."
что уж говорить о приходящих ребятах, которые зачастую в условиях ограниченного финансирования (а значит и времени) решают локальную задачу (зачастую без четкого понимания заказчика, что он хочет) и так несколько раз...
Так таких "перлов" написать можно
Для получения уведомлений о новых публикациях автора подключите телеграм бот: Инфостарт бот
№ 18832
Создание 22.01.09 10:37
Обновление 31.05.09 20:42
Просмотры 17380
Загрузки 0
Рейтинг
115
Комментарии 83
Код открыт Не указано
Рубрики О жизни
Кому Для всех
Тип файла Нет файла
Платформа Не имеет значения
Конфигурация Не имеет значения
Операционная система Не имеет значения
Страна Россия
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)