Pull to refresh
20
0.3
Петр@zuek

Администратор вспомогательных сервисов

Send message

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

Блин, у меня, как замужнего отца уже взрослой дочери, со словом "прокладка", да ещё рядом со словом "всплыла", какие-то прям нехорошие ассоциации...

Потому что в телефоне оба фактора аутентификации собраны на одном девайсе, а на компьютере только один.

За всех не говорите - есть больше 0% людей, разделяющих факторы. Ну, нас, конечно, не большинство, но мы существуем ;)

Самый удобный в мире финтех позволяет взять кредит или продать квартиру (с минимальной поддержкой коррумпироваными сотрудниками) в два клика. При чем нужна в основном только симка. Если на ней пинкода нет (а это норма в рф по умолчанию), то труба.

Странно такое читать на Хабре - моя "банковская" симка, естественно, защищена пином, при чём даже не четырёхзначным, кредиты запрещены, да и вообще, я ношу с собой два смартфона - под разные задачи (есть ещё третий, но он обычно дома лежит). Ну и кто ж пароли через буфер копирует? (ну, ладно, многие пользуются парольными менеджерами - не осуждаю - это оправданно, когда у тебя учёток больше десятка, но мне хватает пяти "зазщищённых" учёток, а остальные - не жалко и потерять, ну и часть учёток по сертификатам - к ним со смартфона не подключиться - только с компа, со смонтированным из TrueCrypt контейнером).

Вы, видимо, не в РФ живёте - тутошние банки многий функционал из интернет-банков тупо убрали - только мобильные приложения. Я пёс его знает, зачем, но вот такое имеем.

Странно... читал и не понимал всей героичности описываемого - лет 15 назад где-то за пару недель решил проблему консолидации данных из Болида, Парсека, 1С:Мясокомбинат, 1С:Управление торговлей, 1С:Бухгалтерия, 1С:Управление персоналом, R-Keeper и ещё парочки странных решений. Да, с установкой локальных "прокси" (как штатно предусмотрено у Zabbix - чего в этом необычного?), да, с развёртыванием локальных "проксирующих" БД... но неужели это прям рокет-сайнс?

я в своей карьере пару раз даже с начальниками своими расставался, всмысле не я уходил, я форсил смену начальника направления

Ой, сколько же раз я себе начальников нанимал ))) нет, это не сарказм - просто я однажды понял, что постоянно мыкаться по совещаниям и готовить еженедельные (это ещё оптимистично - где-то видел чуть не ежедневные) отчёты - не моё, и перестал претендовать на высшие руководящие должности, а кто-то должен оценивать ИТ-директоров нанимаемых %)

Как бывший "Директор департамента ИТ" не самой мелкой в РФ группы компаний - подтверждаю - за время "управленчества" (буквально года 3) настолько отстал от отрасли (повторюсь - я - админ по натуре), что догонять пришлось лет пять.

И да, в итоге я вернулся "в поля" - административка это не для технарей.

Прям даже интересно стало - мой древний лапшекод больше на PoC тянет или на MVP? Просто оно в проде пару лет проработало

Скрытый текст
<?php

// подключаем библиотеку tcpdf
require( 'tcpdf/tcpdf.php' );
// подключаем файл с описанием функций получения данных и т.п.
require 'include/init.php';

function FillString($pdf, $c, $laststring=false){ // формирует строку табличной части
    // ширина столбцов
    $w = array(68,7,22,15,21,29,13,11,16,28,15,19,22);
    $align = ($c[0] == "1") ? // если в параметрах номера колонок, используем альтернативное выравнивание
    array("C","C","C","C","C","C","C","C","C","C","C","C","C") :
    array("L","C","C","R","R","R","L","C","R","R","L","L","L");
	// режим "перевода каретки" - все, кроме последнего - вправо
    $lnmode=array(0,0,0,0,0,0,0,0,0,0,0,0,1);
    $lastch = 0;
	// вычисляем высоту строки по самой высокой ячейке
	foreach ($c as $key=>$value) {
        $lastch= ($lastch > $pdf->GetStringHeight($w[$key],$c[$key])) ? $lastch : $pdf->GetStringHeight($w[$key],$c[$key]);
    }
	// если текущая строка не поместится на лист, создаём новый лист и рисуем шапку табличной части
    if (($lastch + $pdf->getY()) > ($pdf->getPageHeight() - $pdf->getBreakMargin())) {
        $pdf->startPage();
		//FillTableHead($pdf); // я не вывожу названия столбцов ТЧ на втором и следующих листах, но можно
        FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);
    }
	// если строка последняя и она не поместится на листе с "подвалом", создаём новый лист...
    if (($laststring) and (($pdf->getY()+$lastch+55) > ($pdf->getPageHeight() - $pdf->getBreakMargin()))) {
        $pdf->startPage();
		//FillTableHead($pdf);
        FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);
    }
    foreach ($c as $key=>$value) {
        $pdf->MultiCell($w[$key], $lastch,
            $value,
            'LRTB', $align[$key], false,  $lnmode[$key],
             $pdf->getX(), $pdf->getY(), true, 0,
             false, true, 0,  'T',
             true);
        $lastch= ($lastch>$pdf->getLastH()) ? $lastch : $pdf->getLastH();
    }
}
function FillTotal($pdf, $c){
    $w = array(68+7+22+15+21,29,13+11,16,28);
    $align = array("L","R","C","R","R");
    foreach ($c as $key=>$value) {
        $pdf->MultiCell($w[$key], 0,
            $value,
            'LRTB', $align[$key], false,  0,
             $pdf->getX(), $pdf->getY(), true, 0,
             false, true, 0,  'T',
             true);
    }
    $pdf->Ln();
}
function FillTableHead($pdf){
    $pdf->MultiCell(68, 18,
         "Наименование товара (описание выполненных работ, оказанных услуг), имущественного права",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextY=$pdf->getY();
    $thisX=$pdf->getX();
    $pdf->MultiCell(29, 7,
         "Единица измерения",
         'LRTB', 'C', false,  2,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextX=$pdf->getX();
    $pdf->MultiCell(7, 11,
         "код",
         'LRTB', 'C', false,  0,
          $thisX, $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(22, 11,
         "условное обозначение (национальное)",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(15, 18,
         "Коли-\nчество (объём)",
         'LRTB', 'C', false,  0,
          $nextX, $nextY, true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(21, 18,
         "Цена (тариф) за единицу измерения",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(29, 18,
         "Стоимость товаров (работ, услуг), имущественных прав, всего без налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(13, 18,
         "В том  числе  сумма  акциза",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(11, 18,
         "Нало-\nговая ставка",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(16, 18,
         "Сумма налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(28, 18,
         "Стоимость товаров (работ, услуг), имущественных прав, всего с учетом налога",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextY=$pdf->getY();
    $thisX=$pdf->getX();
    $pdf->MultiCell(34, 7,
         "Страна происхождения товара",
         'LRTB', 'C', false,  2,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $nextX=$pdf->getX();
    $pdf->MultiCell(15, 11,
         "цифро-\nвой код",
         'LRTB', 'C', false,  0,
          $thisX, $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(19, 11,
         "краткое наи-\nменование",
         'LRTB', 'C', false,  0,
          $pdf->getX(), $pdf->getY(), true, 0,
          false, true, 0,  'M',
          true);
    $pdf->MultiCell(22, 18,
         "Номер таможенной декларации",
         'LRTB', 'C', false,  1,
          $nextX, $nextY, true, 0,
          false, true, 0,  'M',
          true);
    FillString($pdf,array(1,2,'2a',3,4,5,6,7,8,9,10,'10a',11),false);    
}

//if (filter_has_var(INPUT_GET,'advice')) {
	// получить реквизиты счёта-фактуры из внешней базы
//    $rekv=GetSFParams(filter_input(INPUT_GET,'advice',FILTER_SANITIZE_STRING));
	// разбор массива полученных реквизитов по переменным; не обязательно, но так проще читать/править форму
    $sfn = "493";
    $sfd = "10 января 2016";
    $dealname = "ЗАО \"Напрасный труд\"";
    $dealaddr = "101001, Москва г, Строителей ул, дом № 1";
    $dealinn = "7701000001";
    $dealkpp = "770101001";
    $senderaddr = "---";
    $recieveraddr = "---";
    $advnum = "493";
    $buyername = "ООО \"Вектор\"";
    $buyeraddr = "101001, Москва г, Строителей ул, дом № 2";
    $buyerinn = "7701000002";
    $buyerkpp = "770101001";
    $currency = "Российский рубль, 643";
    $tch = array(array("Уборка помещений","-","-","-","-","22 777,04","Без акциза","18%","4 099,87","26 876,91","--","--","--"));
	// в 14-м элементе массива параметров ожидается массив, содержащий номенклатуру
    $totalprice="22 777,04";
    $totalnds="4 099,87";
    $bigtotalprice="26 876,91";
    $director="И.И. Иванов";
    $glavbuh="П.П. Петров";
    // не используемые у нас реквизиты
    $corrnum = "--";
    $corrdate = "--";
    $pboul=" ";
    $pboulrekv=" ";
// Portrain/Landscape, mm, A4, unicode, UTF-8, diskcache, pdfa
$pdf = new TCPDF('L', 'mm', 'A4', true, 'UTF-8', false, false);
// отключаем вывод стандартных заголовков
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
// поля документа (левое, верхнее, правое)
$pdf->SetMargins(6, 10, 10);
// русские шрифты в стандартную поставку не входят - используем сгенерированные самостоятельно
$pdf->SetFont('arial','',8);
$pdf->AddPage();
$pdf->SetAutoPageBreak(true,10);
//начинаем вывод данных
$pdf->MultiCell(50, 15,
 "Приложение №1\n"
."к постановлению Правительства\n"
."Российской Федерации\n"
."от 26.12.2011 № 1137", 0, 'L', 0, 1, $pdf->getPageWidth() - 50);
$pdf->SetFont('arialbd','',14);
$pdf->Write(7,"Счет-фактура № {$sfn} от {$sfd} г.");
$pdf->Ln();
$pdf->Write(7,"Исправление № {$corrnum} от {$corrdate}");
$pdf->SetFont('arial','',8);
$pdf->Ln();
$pdf->Write(3.89,"Продавец: {$dealname}");
$pdf->Ln();
$pdf->Write(3.89,"Адрес: {$dealaddr}");
$pdf->Ln();
$pdf->Write(3.89,"ИНН/КПП продавца: {$dealinn}/{$dealkpp}");
$pdf->Ln();
$pdf->Write(3.89,"Грузоотправитель и его адрес: {$senderaddr}");
$pdf->Ln();
$pdf->Write(3.89,"Грузополучатель и его адрес: {$recieveraddr}");
$pdf->Ln();
$pdf->Write(3.89,"К платежно-расчетному документу № {$advnum}");
$pdf->Ln();
$pdf->Write(3.89,"Покупатель: {$buyername}");
$pdf->Ln();
$pdf->Write(3.89,"Адрес: {$buyeraddr}");
$pdf->Ln();
$pdf->Write(3.89,"ИНН/КПП покупателя: {$buyerinn}/{$buyerkpp}");
$pdf->Ln();
$pdf->Write(3.89,"Валюта (наименование, код): {$currency}");
//$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
$pdf->Ln();
FillTableHead($pdf);
$lines=count($tch) - 1;
foreach ($tch as $key=>$cstring) {
    FillString($pdf,$cstring,$lines==$key);
}
FillTotal($pdf, array(
    "Всего к оплате",
    $totalprice,
    "X",
    $totalnds,
    $bigtotalprice),false);
$pdf->Ln();
$pdf->MultiCell(54, 8,
     "Руководитель организации\n"
	 ."или иное уполномоченное лицо",
     /*borders*/'', /*align*/'L', /*fill*/false, /*ln(0-R,1-CRLF,2-D*/ 0,
     /*X*/ $pdf->getX(), /*Y*/ $pdf->getY(), /*resetLastHeight*/true, /*stratch*/0,
     /*isHTML*/ false, /*autopadding*/ true, /*maxh*/0, /*valign*/ 'B',
     /*fitcell*/ true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$director}",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(7, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(54, 8,
     "Главный бухгалтер\n"
	 ."или иное уполномоченное лицо",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$glavbuh}",
     'B', 'L', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->SetFont('arial','',6);
$pdf->MultiCell(54, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(7, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(54, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->SetFont('arial','',8);
$pdf->MultiCell(54, 8,
     "Индивидуальный предприниматель",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(30, 8,
     " ",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(43, 8,
     "{$pboul}",
     'B', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(15, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->MultiCell(105, 8,
     "{$pboulrekv}",
     'B', 'L', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'B',
      true);
$pdf->SetFont('arial','',6);
$pdf->MultiCell(54, 8,
     " ",
     '', 'L', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(30, 8,
     "(подпись)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(2, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(43, 8,
     "(ф.и.о.)",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(15, 8,
     " ",
     '', 'C', false,  0,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->MultiCell(105, 8,
     "(реквизиты свидетельства о государственной\nрегистрации индивидуального предпринимателя)",
     '', 'C', false,  1,
      $pdf->getX(), $pdf->getY(), true, 0,
      false, true, 0,  'T',
      true);
$pdf->Write(3.89,"Примечание: Первый экземпляр - покупателю, второй экземпляр - продавцу.");
$pagestotal=$pdf->getNumPages();
$headerX=10;
$headerY=6;
$footerX=$pdf->getPageWidth() - 45;
$footerY=$pdf->getPageHeight() - 10;
$pdf->SetFont('arial','',8);
for ($index = 1; $index <= $pagestotal; $index++) {
    $pdf->setPage($index);
    $pdf->SetAutoPageBreak(false);
    if ($index<>1) {$pdf->MultiCell(/*W*/30, /*H*/0,
         "Лист {$index}",
         '', 'L', false,  0,
          $headerX, $headerY, true, 0,
          false, false, 0,  'T',
          true);}
    $pdf->MultiCell(30, 0,
         "Страница {$index} из {$pagestotal}",
         '', 'L', false,  0,
          $footerX, $footerY, true, 0,
          false, false, 0,  'T',
          true);
}
$pdf->Output( "sf.pdf", "I");
?>

Да, не бейте ногами админа за лапшекод - он не разраб от природы =)

Ну и да, процитировал я не продуктовый скрипт, а именно PoC, но от продуктового он отличается только заполнением массивов данных.

Я фиг знает как этот гипноз действует…

Он не действует на людей с живой фантазией - я могу вхлам набухаться чаем, ну или лимонадом... от кваса вообще постоянно косой на полглаза, даже не включая фантазию. Не думаю, что гипноз "по Довженко" сможет это компенсировать.

После пары лет "преддипломной практики" в госсекторе, тоже зарёкся работать "в госухе", а вот в банке - почему нет? Банки же разные бывают (тут шутка про пивные, трёхлитровые и другие банки, но нет).

а канализировать вниз с декомпозицией

О! Канализацию с декомпозицией - надо прям в блокнот! Рядом с "отстойником-деконтатором".

Козни плохо и проигрышно, я за вооруженное перемирие, когда все вежливы и уважительны, потому что у другого пистолет, то есть хитрые мозги и близость к начальству

Блин! Сколько (лет) работал в закупках (ИТ-отдела), постоянно возникали ситуации, когда с главбухом вместо "Тань!..." и "Петь!.." переходили на "Татьяна Владимировна" и "Пётр Игоревич" =) ну, имена менялись, а принцип сохранялся. Обычно после очередного расхождения ТН и СФ на копейку, ну или после кривой ГТД от поставщика. Благо, уж лет пять этой ерундой не занимаюсь.

Нет. Этот навык приобретается. И обычно "самыми слабыми в стае". Правда, приобретается он обычно ещё в раннем детстве, но я видел пару случаев его овладением уже во вполне зрелом возрасте - не столь гладко (как у "врождённых"), но вполне работало.

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

Про банк и некую Настю мне прям аж мозг резануло - слышал очень похожую историю про МТС-банк. Хотя... если это была Ксюша, то МКБ, если Света - ПСБ... впрочем, наверное, это очень типовая история... ну, или у меня очень много продакт-менеджеров знакомых накопилось.

Жованый крот! Ощутил себя мегадедом! - лет 10 назад на одном мясокомбинате, когда руководство решило вести строгий учёт обедов сотрудников, набросал по-быстрому систему учёта посещения столовой, на php+pgsql+1С+VC+какая-то некромансия+... как и на каком азарте делал - аж сам забыл... и вот пару месяцев назад звонит мне оттуда админ со словами "слушай, у нас тут ставка за обед поменялась...". Блин! Костыли неискоренимы!

Ну, если это "по кайфу" - пуркуа бы и не па? ;)

Нет, я понимаю, что ни в php-программисты, ни во фронтэндеры, ни даже в 1С-разрабы я на нормальные грейды не пройду, но мне реально было прикольно кодить на пыхпыхе pdf-формы (да, вымеряя всё линейкой), интерфейсы и прочие вложенные списки, с использованием jquery... я не говорю, что было продуктивно - было прикольно (драйвово, классно - синонимы можно подставить на свой вкус).

Вот тут не соглашусь - был у меня один увлекательный проект года на 3 - я там и фронт как-то писал (да, у меня напрочь отсутствует "чувство прекрасного", поэтому все дизайн-макеты интерфейсов заказывали на стороне, ну а я впихивал полученные макеты в html-вёрстку), и первую линию бэкэнда (php) и вторую линию бэкэнда (1С, да-да, web-сервисы)), и полученный продукт реально работал (им пользовались, из более-менее крупных компаний, Орифлэйм и Омский бекон), и его хвалили все, кто пользовался. К сожалению, с внедрением "Платона" владелец решил, что бизнес перестал быть привлекательным и ликвидировал компанию... а на подходе уже было почти работающее приложение под Android для наёмных водителей (внедрить в продакт не успели, но все процессы уже были реализованы и концепт протестирован). Вопрос только заинтересованности и вовлечённости. Ну, и производительности, конечно - если бы заказывали у компании с командой разработчиков, наверняка не три года процесс занял, а где-то с полгода (со всеми тестами и доработками), но и обошёлся бы не в 36 зарплат не очень опытного программиста...

Ну, где-то в 90-е подобную тему с наймом машинисток встречал, но чтобы в разработке - слабо верится.

А, ну так-то, возможно, по современным меркам и отстой. Я в 1С писал не много - больше в баше или php, но IDE практически не пользовал (к стати, есть достойная IDE для баша?). Правда, я не настоящий разработчик (что что 1С, что другие среды разработки) - так, лет 30 назад окончил курсы программиста при Дворце пионеров =)

Information

Rating
2,398-th
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity