Истории с тегом: 1с

Всего историй: 171

12215

Утром деньги, вечером NULL

Прочитал на Баше историю про недостачу стульев:

Работаю на складе ТМЦ. Столы, стулья, компы и прочая фигня пылится, ждёт своего часа. В инвентаризации оказалось недостача в виде двух стульев. Три дня искали — оказалось, мы на них сидим.

Господа, это всё мелочи. Аптека, склад. Стоит (не пугайтесь!) 1С версии 6.0. Работает, глюков почти не наблюдается, для склада, в принципе, большего и не нужно. Да и редактировать формы отчётов намного проще, чем даже в 7.7.

Одно маленькое «но»: в стародавние времена базу переписывали специально под нужды склада, и непонятно где (уже устали искать, да и спецов по «шестёрке» у нас уже не найти — в общем, плюнули на это) в базе осталась ошибочка. В результате каждый новый бухгалтер на протяжении уже почти 20 лет (база с 1996 года), устраивая инвентаризацию, требовал с несчастных кладовщиков 139 штук NULL по 20 с лишним килорублей каждый, поступивших совершенно недавно (датой поступления этого товара всегда ставилась дата генерации отчёта по остаткам). Причём этот товар возникал только в отчёте по остаткам, больше нигде его нет.

Один раз чуть было до увольнения дело не дошло. А вы говорите, стулья…

12078

Не стесняйся, ядер много

Не любите симбиоз IBM DB2 и мягкой, жёлтой, твоей? Вы просто не пробовали, тем более что попробовать можно бесплатно и у DB2 даже специальный режим работы для неё есть. Другое дело, что для жёлтенькой программы даже суперсовременного, но одного ядра и одного запущенного процессора на сервере маловато. Но мы же не сдаёмся?

Берём брендовый сервер специальной perfomance-серии, выясняем, что меньше чем с 32 гигабайтами памяти они в принципе не продаются, водружаем, запускаем на нем линукс (тоже брендовый), DB2, родное жёлтое… Уже третья Марьиванна, запустившая перепроведение своих документов за квартал, валит систему на бок, даже если она одна такая. Причина понятна: перепроведение даёт такой мощный поток транзакций, что база не успевает писать фиксировать всё это на диск.

Засада первая: «бесплатный» DB2 не жуёт больше двух гигабайтов памяти. Достаём лицуху, которая уже жуёт 32 гига, скармливаем, настойчиво заставляем её использовать не более 16, а не «авто», как по умолчанию. База залетала, но всё равно, маловато одного серверного процесса на всех будет! Бежим к своим суппортерам: да, хотим серверную лицуху нашей жёлтой, нет, с ума не сошли, да, знаем ваши цены, знаем, что вы скоро ценник ещё задерёте. Купили, воткнули, прочитали, что сетевые интерфейсы и количество памяти уменьшать нельзя, иначе активация слетит. Втольковываем, что если на сервер вошла Марьиванна, то запусти ты, умная железяка, ещё один процесс серверный, и пусть он её и обслуживает, а если зайдёт ещё Ольпетровна (которая одной кнопкой «Сделай мне хорошо» выставляет очень большое количество счетов), то и ещё один. В общем, не стесняйся, ядер у процессора много, гипертрединг выключен, дабы не смущать, больше четырёх человек — запускай ещё один. Возможностей встроенного контроллера хватает, RAID 10 на восьми дисках, состояние системы контролируется фирменными же тулзами с Service Pack DVD, если что — тут же админам письмо. Суппорт вендора привезёт запчасть максимум на третий день: железки-то заранее предупреждают, что плохо им, вежливые все, брендовые. А тут ещё и бэкапы можно делать, не выгоняя всех из программы, и их целостность потом в фоне проверить, не запуская жёлтенькую… Красота, все счастливы, Марьиванны довольны: им не надо думать, какую пакость админ в следующий раз подложит, они «свои» деньги вложили и видят отдачу.

Резюме: жизнь налаживается, если знаешь как. Другой вопрос — это ж ковыряться надо, а фирменные «жёлтые» админовские курсы в этом вопросе мало помогают. Плавали, знаем…

В то время как другие, пытаясь увидеть инфу S.M.A.R.T. с дисков в рейде, бегают по сайтам вендоров контроллера и дисков, выцарапывают где-то SNMP MIB от производителя матери, чтобы следить за датчиками, потом собирают это всё в кучу скриптами, чтобы Nagios вовремя или хотя бы уже постфактум что-то пискнул… Не будем ломать им кайф.

12075

Мягкая. Жёлтая. Твоя

Более десяти лет работаю с «непредсказуемой жёлтой поделкой». Работаю в основном у конечного работодателя. За это время образовался круг людей, которые мне доверяют. И когда судьба разводит нас по разным местам работы, эти люди иногда обращаются ко мне за помощью или консультацией.

Да, много за это время было историй.

Были и тормоза на брендовых серверах, купленных за много килодолларов, но сильно устаревших (настолько, что купить комплектующие к ним проблематично даже в Москве).

Бывало, и отговаривал знакомых вестись на поводу админов и не закупать сервера за десятки тысяч долларов с избыточной надёжностью:

— Ну зачем избыточная надёжность дискового хранилища? Если базы бэкапятся дважды в день, а в случае «П» поднять последний бэкап и вбить первичку будет быстрее (и надёжнее), нежели пытаться восстановить из порушенного хранилища? Тем более, опыт подсказывает, что чаще базы рушатся не из-за сбойного диска, а из-за кривых рук бухов/админов/прогеров.

Бывали и нападки на неадекватность жёлтой программы, которые при ближайшем рассмотрении решались без бубна, лишь чтением манов. Например, при четырёхъядерном камушке не все админы задумываются о назначении галочки «Много процессов» в свойствах кластера 1С.

И необдуманное развёртывание систем на базах DB2 и PostgreSQL — без элементарного поиска типовых проблем в таких решениях и банального нагрузочного тестирования (в 90% выявляющего за несколько часов адекватность выбранного решения).

Ну да, проще написать «закидоны жёлтой программы», чем почитать мануалы, поднабраться знаний и подумать головой.

Хотя, конечно, бывают и странности — но где их не бывает?

12030

По кубику в минуту

Работаю в крупной компании. Вот обычные сообщения наших айтишников относительно базы 1С.

* * *

Добрый день, коллеги!

С прискорбием сообщаем: база «Филиалы» укурилась транзакцией до беспамятного состояния. Во избежание потери незафиксированных в памяти базы транзакций убедительно просим вас самостоятельно закрыть программу в 10:40 (Мск). Приведение базы в чувства путём инъекции 30 кубиков адреналина в сердце займёт около 30 минут — по кубику в минуту.

С уважением,

служба ИТ и КС

* * *

Сегодня при проведении инъекции адреналина в базу УПП «Филиалы» выяснилось, что забыли вынуть иглу из сердца оной, в связи с чем просим вас освободить базу для очередного вмешательства в течение следующих 15 минут. Вмешательство будет произведено в 13:10 (Мск).

* * *

Иглу вынули, базу «Филиалы» из состояния искусственной комы вывели. Удачных транзакций!

* * *

Добрый день, дорогие коллеги!

В честь присоединения Крыма к России и создания новых субъектов федерации мы решили устроить праздничную перезагрузку сервера баз данных и всех серверов «1С: Предприятия». Для чего просим вас в течение следующих 15 минут просим приколоть ленточку с цветами российского флага к левой стороне груди (ближе к сердцу) и выйти из всех баз всеми пользователями. В 10:15 свершится перезагрузка серверов.

С праздником, дорогие товарищи!

* * *

И работать веселее. Люблю их!

12029

Жёлтые преграды на пути к светлому будущему

Производственное предприятие. Одно из немногих в России делает микроэлектронику. Сращиваю «жёлтую программу» с конструкторской, в которой спецификации изделий ведутся. Пользователь жалуется: не обновляет спецификацию при переливе из одной программы в другую. Ищу, разбираюсь — а там в одном месте изделие называется «Блок питания БП07», в другом — «Блок БП07», а в третьем вообще « БП07» (с пробелом).

Другой случай: периодически не находится номенклатура. Вместо того чтобы использовать атрибут «снят с производства», в наименование приписывают кто «(снят с произв)», кто «снят с произв.». Удобнее им, видите ли…

Как они вообще умудряются при этом что-то рабочее выпускать — непонятно. Такое впечатление, что им эта вся автоматизация только мешает. Они и без наших программ на бумажках и в уме все прекрасно могут сделать, а мы тут лезем, мешаем…

11797

Мой жёлтый увалень

Для плавного перехода с жёлтопрограммы на наш внутренний продукт решил провести анализ данных и выяснить, что там происходит. Заодно и понять, почему эта шайтан-программа тормозит на мощной базе.

Увиденное повергло меня в шок. Транзакции, триггеры, процедуры, составные индексы, встроенный язык программирования — вот чего там нет. Мощнейшая БД используется как простое хранилище. Эту бы программу да на MongoDB, ибо большего не надо, хотя даже Mongo будет многовато при таком обращении с данными.

Я для себя убедился, что дешевле создать именно под свои нужды продукт силами компании, чем допиливать, поддерживать и эксплуатировать такие популярные, дорогие и крайне неповоротливые жёлтые программы. Хотя коли у людей хватает денег строить под это дело кластеры, мне не жалко.

11794

Ни байта врагу

Открытие/закрытие «сетевого окружения», «моего компьютера» или вообще любого просмотрщика файлов при установке «семёрки» под «семеркой» — довольно известный глюк. Расскажу о ещё более изощрённом.

Работаю мальчиком по вызову. Вызывает клиент: не запускается жёлтая программа. Несколько минут думает, затем выдаёт сообщение: «Недостаточно памяти».

Железо хорошее, процессов лишних не наблюдается. В общем, с памятью проблем нет.

Размер базы? Да нет, очень даже маленькая. Для проверки создаю чистую конфигурацию — результат тот же.

Переустанавливать драйвера смысла нет: у клиента базовая 8.0, она вместо ключей использует введённый один раз при первом запуске программы код, который сохраняет себе в отдельный файлик.

В конечном счёте путём использования очень сильного колдунства выяснилось, что этот самый файлик с паролем конфликтует с… драйверами для модема. Сносим модем — программа запускается. Прелесть!

После этого случая я понял, что теперь видел всё.

11783

Попытка деления на букву О

Много байтов здесь пролито об известной жёлтой программе. Сейчас я поведаю прохладную историю про их сервер под линукс.

Под линём шайтан-программа работает под PostgreSQL, любезно пропатченной самой конторой. Волшебно! Есть RPM, DEB, SRC. Хорошо, думаю, мужики поработали. Поставил, быстренько настроил — полетело! Наивный маленький админёнок. Postgre при установке DEB x64 стал ругаться на то, что он скомпилён без использования формата дат в 64-разрядном виде, а у меня (внезапно, откуда бы им взяться в Debian 7 x64) они есть. Вздохнул, скачал исходники официальной Postgre с патчами, сконфигурил с поддержкой этого самого формата, накатил патчи, компилю. А дальше всё как из широко известного в узких кругах произведения:

— Ошибка! Попытка деления на букву О!

Доморощенные программеры забыли объявить класс. Я далёк от программерства и ничего сложнее bash-скрипта написать не могу, посему пошёл курить форумы. Оказалось, что этой проблеме уже n + 1 лет, и до сих пор никто даже не почесался её исправить. Хорошо, правлю указанные файлы, компилю, ставлю.

/etc/init.d/postgresql start. «No such a file or directory», — молвит мне Дебиан. Эм, простите, что? Лезу в каталог и не нахожу абсолютно ничего похожего на скрипт запуска. Прифигеваю, пишу этот самый скрипт и прописываю его в автозагрузку. Причём я точно знаю, что постгрешка из репозитория имеет этот самый скрипт. Запуск показал, что дефолтных конфигов тоже не завезли. Нахожу дефолтные конфиги, правлю их — вроде взлетает. Ставлю сам сервак. Он даже поставился из бинарников! Вот это прогресс, вот это инновации! Запускаю скрипт настройки сервера — и снова:

— Ошибка! Попытка деления на букву О!

Угу, в скрипте пропущены кавычки. Ради смеха иду читать древность сей ошибки — и что бы вы думали? Да, ей ровно столько же лет, n + 1. Запускаю скрипт снова. Он говорит, что я не поставил такие-то зависимости. Эм, да? Вроде ставил, склероз замучил? Нет, Aptitude уверяет меня, что с головой у меня всё в порядке. Ага, шайтан-программа под линукс не понимает линуксового разделителя в виде двоеточия в пути к библиотекам! Делаем сотни симлинков, указываем ему одну директорию. Ох, неужели, он взлетел! Дальнейшие пытки расписывать не буду — это уже чисто мои косяки.

Так что вы там писали про крупные компании с оборотом, сопоставимым с ВВП небольшой страны? Даже не надо пересекать границу для нахождения оных.

11731

Установка с толкача

Вам не приходилось ставить обновление на 1С 7.7 на Windows 7? Эта скотина зависает посередине установки наглухо. Что я только не делал — и перезапускал установку, и менял пути от системных до временных, и выставлял режимы совместимости от ХР до 98-й… Итог неутешительный: виснет посередине установки.

Ну, хрен с ним, решил всё-таки озадачить Гугла по этой теме. И что же я нашёл: «Открывайте окно сетевых подключений, отключайте сеть, включайте, и будет вам счастье». Да ладно?! Обновление? Сеть? Да ну нафиг! Но вариантов не было. Запускаю установку. Зависает. Жму на сетевые — и что я вижу? За долю секунды, пока окно открывалось, прогресс-бар установки прибавил пару процентов. Офигеть! Сворачиваю окно, чтобы убедиться, что не показалось, — оп-па, ещё пара процентов. Так и открывал-закрывал, пока установка не добралась до желаемых 100%. Такого я ещё точно не видел!

11356

Проги нет, отмазок хватит

Отправка писем в головной офис жёлтой программы по разрешению поставок — это нечто. Всегда новая, занимательная история.

Итак, четверг. Клиенту кровь из носу нужна программа. Причём такая, которую мы (в силу не всех полученных сертификатов) должны заказывать по разрешению из столицы. Структура проста, да не совсем, как показывает практика:

1. Заполняем форму на сайте техподдержки.

2. Москва высылает разрешение.

3. Отправляем это разрешение (ну, или звоним) региональному франчайзи.

4. Если всё ОК — заказываем отгрузку.

Заполняю форму и курю бамбук. Приходит письмо: дескать, всё, разрешаем вам приобретать товар, обращайтесь к региональному франчайзи. Ну, само собой, активизирую свою деятельность, дабы успеть заказать отгрузку до конца их рабочего дня. Милые девы кивают головами (так мне представилось), что всё нормуль, завтра отгрузку ждите. Глубоко вдохнув, беру вещи, иду домой.

Обычно про отгрузку нам звонят ближе к обеду. Так что утро ничего не предвещало. Ближе к обеду мозгом начала понимать, что отгружать ничего не будут. Звоню. Барышни говорят, что корень вам многолетнего растения по всей морде. Делаю круглые глаза: почему же? А потому, оказывается, что такого разрешения нет, а, следовательно, никакой отгрузки. Фигвам — индейская национальная народная изба. Пишите в Москву.

Пишу в столицу. Оттуда меня посылают сначала по одному адресу, а оттуда — по другому. С полдесятка раз переписываю письмо, расшаркивая ножкой. И вот (о, чудо!) нахожу нужного мне адресата. «Почему, — спрашиваю, — не разрешаете отгрузку, если письмо от вас пришло, а на сайте техпода чёрным по серому написано, что разрешено?» — «Нет, — говорят, — не могло от нас письмо такое быть». Отправляю скрин письма с датой вчерашней, незрячему видной, с номером разрешения и описанием продукта. «То не мы были», — отвечают. Отсылаю скрин с сайта. Опять, говорят, что не они. Начинаю биться головой об стенку: то ли я чего-то недопонимаю, то ли у них там совсем офигели.

Пятница с разборками и доказательством того, что ты не верблюд, прошла. Доказать, к слову, так ничего и не удалось. Затем прошли выходные. А в понедельник пришло письмо: новое разрешение с новым номером. Что было до этого — понятия не имею.