понедельник, 7 декабря 2020 г.

Excel Конкатенация ячеек по условию или транспонировать и сцепить

Имеется таблица со столбцами Дата и Город. За одну дату городов может быть от 0 до бесконечности, каждый на отдельной строке.
Задача в новой таблице вывести в столбце А даты, а в столбце B все города с этой датой в одну ячейку.


среда, 28 октября 2020 г.

Сброс кэша winbind

 Добра.

Пришел новый пользователь, начали заводить его в систему AD, но в конце выяснили что фамилию нам дали неправильно, а регламент именования учеток требует наличия ее в имени пользователя. Ну ладно, переименовали учетку, Exchange все подтянул, локально на тачке тоже пофиксили, шары даже работали....кроме одной

Сетевые папки организаваны на базе Ubuntu + samba + winbind. При попытке открыть папку вылезает окно авторизации, креды юзера не подходят. Сразу понятно, дело в кэше, давай сбрасывать кэш:

aa@io:~$ sudo service winbind stop 
aa@io:~$ sudo service smbd stop
aa@io:~$ sudo net cache flush
aa@io:~$ cd /var/lib/samba 
aa@io:~$ sudo mkdir old
aa@io:~$ sudo mv *.tdb old/
aa@io:~$ sudo service smbd  start
aa@io:~$ sudo windind start

Но, не сработало, команда:

aa@io:~$ id username

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

aa@io:~$ wbinfo -a username%passwd

И это сработало, вывод id usename теперь стал корректным и в шару пускает.

среда, 21 октября 2020 г.

Ящик для комплекта видеонаблюдения

На одном из объектов хотел собрать такой же вариант, но не было регистратора в наличии. Имеющийся был меньше и не позволял внутри расположить роутер, в думах я представил, а потом и реализовал вот такой ящик:


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


понедельник, 19 октября 2020 г.

Chrome удалять профиль при закрытии

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

Я удивился, ну думаю где-то галка должна стоять, поискал и ничего не нашел. Запросы в  гугл "удалять при закрытии"/"выходить при закрытии" и прочие не давали нужного ответа.
Поразмыслив логически попробовал принудить инкогнито, но он не позволяет синхронизировать. Попробовал запретить изменения в папке профиля, также, успеха не было. В итоге решил что это все лапша и перекинул задание помощнику.
Спустя неделю ответ был найден, имя ему "Временный профиль", настраивается в реестре:

Registry HiveHKEY_LOCAL_MACHINE or HKEY_CURRENT_USER
Registry PathSoftware\Policies\Google\Chrome
Value NameForceEphemeralProfiles
Value TypeREG_DWORD
Enabled Value1
Disabled Value0

Переезд с HP DL380 G5 на HP DL380 G8

Время летит и требования 1С растут

Был куплен в 2013-2014 годах БУ сервер HP Proliant DL380 G5, хорош тогда был - быстр и шумен. Для меня тогда новшеством были диски 2,5" в сервере, но сервер нормально работал. Конфигурация следующая:

  1. 2 процессора
  2. 16 Гб ОЗУ
  3. Дисковая подсистема
    1. 2*130Гб SAS RAID1 - под систему
    2. 2*750 SATA WD Blue (WD750BPVX) RAID1 - под данные
    3. 2*120 SSD (Intel SSDSC2CW120A3) - под базы 1С
Через какое-то время добавили оперативной памяти до 22Гб. Потом заменили SSD 120Gb на SSD 480GB (SSDSC2KG480G701). А также были установлены двухтерабайтные WD-шки, о чем я пожалел, эти диски вешали сервер.

И наконец встал вопрос о замене сервера, так как вешался он не только из-за дисков. Обратился в тот же магазин и выбрал DL380 G8 с дисками 3,5" в конфигурации:
  1. 2x Xeon 8C E5-2670 (8*2.6 Ghz/20M)
  2. 64 Гб DDR3 ECC
  3. HP SA P420i
  4. 2*480W блок питания
  5. 4*1Gbps сетевые карты
  6. iLo
  7. Рельсы в стойку
Они переспрашивали, точно ли 3,5?, я - да, точно.
Забрал новую игрушку за 77000, пришлось еще докупать салазки (8*1200) и переходники с 2,5 на 3,5 (1200*6). Я собирался переставить SAS, HDD 750Gb, SSD со старого, а WD 2Tb заменить на полноценный энтерпрайз. По ходу откопались еще 2 SSD по 480Гб, их я пустил вместо SAS. По ходу выяснилось что можно диски в массиве (RAID1) просто переставить в новый сервер и контроллер увидит массив, но я все равно сделал копии (ушел один день).
Сделал системный массив, массив с базами, массив для бэкапа на 2 WD, остался массив на двух голубых WD. Вставляю диски, сначала сервер вообще отказался запускаться, выдавал ошибку отсека, в итоге запустился, но система охлаждения была запущена на 100% (раскручивается на моменте запуска ОС). Пошел разбираться, проверил по iLo, все вентиляторы в норме. Температура по датчику 25 около 54, т.е. нормальная. На одном из форумов говорилось о том, что после обновления микропрограммы нужно обесточить сервер, обесточил и вроде как бы помогло, на 30 минут, за это время система разогналась. В поисках причины я наткнулся на этот пост, хоть речь и идет о предыдущем поколении серверов и контроллера, он был применим и ко мне. Виной были синие диски WD, заменил их на желтые и проблема ушла.

Памятка по драйверам:

PCI\VEN_8086&DEV_3C2C&CC_0800

iLO 3/4 Channel Interface Driver for Windows Server 2008 to Server 2012 R2

https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_e74f93921947408eb5de783d27&swEnvOid=4064


PCI\VEN_103C&DEV_3307&CC_0880

Combined Chipset Identifier for Windows Server 2008 R2

https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_bbe9d65bc5d2495db28dfa65dd&swEnvOid=4064

суббота, 5 сентября 2020 г.

Проект #32 Домофон, кодовая панель и замок

Проект в офисном здании. Имеем 3 двери, нужно установить "кодовый замок". Предложил электро-механический замок с кодовой панелью (совмещена с контроллером). Две двери рядом, поэтому имеет один блок резервного питания. Заказывать двери с кабель-каналом отказались, поэтому было решено устанавливать контактную группу. Замок для двери оказался толстоват. Замок специально выбирали нормально-закрытый электро-механический, чтобы в случае выключения электроэнергии замок оставался закрытым (возможность открытия ключом имеется). 

понедельник, 24 августа 2020 г.

CMD Удаляем и подключаем шару

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

cmdkey /add:nas /user:USERNAME /pass:USER_PASS
net use /DELETE Z:
net use /DELETE Y:
net use Z: \\nas\SharedFolder /persistent:yes
net use Y: \\nas\Skan /persistent:yes

Совсем простенько, первая строка добавляет запись в "Учетные данные Windows", если у пользователя локального имя и пароль совпадают с шарой, то необязательно.

Вторая и третья удаляют текущие занятые диски, можно использовать net use /DELETE *

Последние добавляют шары, можно использовать имя ресурса, а не IP.

IP привязывать на роутере. У Mikrotik для этого нужно использовать домен (иначе не будет резловить за пределами роутера):

Если речь идет о сервере (я подключал NAS через туннель), то сопоставить можно в файле hosts

1С Открыть значение поля динамического списка

 У полей динамического списка нет события Выбор, что иногда очень неудобно.

Данное событие есть у строки, а также имеются соответствующие реквизиты ТекущиеДанные, единственный момент - как получить значение именно выбранного поля? На входе события есть параметр "Поле" содержащий склеенное имя (если в авто режиме создавались элементы формы), поэтому расклеиваем и получаем значение вот так:

  
Элемент.ТекущиеДанные[СтрЗаменить(Поле.Имя,Элемент.имя,"")]
  
 

Ну и открываем. Этот вариант не требует знания типа ссылки, но пытается открыть в модальном режиме

  
&НаКлиенте
Процедура КомплектующиеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
  ОткрытьЗначение(Элемент.ТекущиеДанные[СтрЗаменить(Поле.Имя,Элемент.имя,"")])
КонецПроцедуры;
  
  

Поэтому такой вариант лучше. ФормаОбъекта - стандартная форма, даже если ее нету

  
&НаКлиенте
Процедура КомплектующиеВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	СсылкаДляОткрытия=Элемент.ТекущиеДанные[СтрЗаменить(Поле.Имя,Элемент.имя,"")];
	ПараметрыФормы = Новый Структура("Ключ", СсылкаДляОткрытия);
	Если ТипЗнч(СсылкаДляОткрытия)=тип("СправочникСсылка.Спр1") Тогда
		ИмяФормыСправочника="Справочник.Спр1.ФормаОбъекта";
	ИначеЕсли ТипЗнч(СсылкаДляОткрытия)=тип("СправочникСсылка.Спр2") Тогда
		ИмяФормыСправочника="Справочник.Спр2.ФормаОбъекта";
	Иначе
		Возврат;
	КонецЕсли;
	ОткрытьФорму(ИмяФормыСправочника, ПараметрыФормы);
КонецПроцедуры;
  
  

вторник, 14 июля 2020 г.

1С Удалить до числа включительно в строке

Задача:

В строке "Лот ..12345... Новая облицовка" удалить число и все что перед ним.

Задача слегка расплывчата, т.к. первая реализация столкнулась с тем, что первое число может быть и не в начале и не подпадать под определение. Поэтому решил сделать так:
  1. Функция имеет два параметра: строка и длина предполагаемого числа
  2. Функция ищет первое вхождение числа в обрезанной строке
  3. Если число найдено, то ищет первое вхождение буквы после первого числа в обрезанной строке
  4. Обрезает строку
  5. Проверяет наличие в начале строки не букв (пробелы, точки, запятые и т.д.)
  6. Возвращает новую строку

среда, 1 июля 2020 г.

1С УПП Печать кодов номенклатуры в УПД

Задали вопрос - "Можно ли печатать код в УПД, контрагент требует именно так".
УПП сама по себе штука массивная, поэтому я открыл Макет (ОбщиеМакеты.УниверсальныйПередаточныйДокумент) и глянул, есть ли параметр в поле, да он есть.

воскресенье, 28 июня 2020 г.

Zabbix active check is not supported: Timeout while executing a shell script

Есть ip камера, которая не умеет SNMP и находится за NAT`ом. В сети есть виндовая машинка, которая мониторится системой заббикс, стоит задача хотя бы пинговать камеру и сообщать о ее недоступности.

"Территория ДДТ"


Я пользователь Яндекс.Музыка. Т.к. слушаю радио по моим предпочтениям, иногда влетает что-то интересное или нет. В этот раз это была песня "Не стреляй" в неизвестной мне аранжировке, глянул в телефон - исполнитель LUMEN, на превью красуется DDT.

пятница, 26 июня 2020 г.

MSSoft Outlook точный поиск

Двойные кавычки не работают.
На фразу без пробела работает одинарная кавычка

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

Или добавим параметр в реестр:

ветка - "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\xx.0\Outlook\Search"
xx.0 - версия Оутлука
Раздел Search придется создать ручками

Параметр "AllowPhraseMatch" DWORD со значением 1

суббота, 20 июня 2020 г.

Mikrotik на DIN рейке


По классике в 2013 году установил дома Zyxel Keenetic какой-то. Году в 2017 установил Mikrotik hap lite (941) с питанием от USB. Он себя хорошо показал в задаче вывода ПК через VPN, при этом запитывался от самого ПК. В 2019 добавил еще один hap Lite Tower и перенастроил WiFi в режим CAPsMAN для увеличения покрытия и 100мбитный свитч. Но вариант с CAPs мне не сильно понравился, т.к. реализация роуминга у Mikrotik`a не очень.

понедельник, 15 июня 2020 г.

Старый ИБП и бу ПВХ из магазинов


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


воскресенье, 14 июня 2020 г.

воскресенье, 7 июня 2020 г.

Диски WD 2Tb 2.5 не покупай

Купил диски модели WDC WD20SPZX-08UA7 2 штуки для зеркала, хранить резервные копии.
Я ограничен был типоразмером в 2.5 дюйма, а объем должен был быть не меньше 1,5Тб, серверные очень дорогие. Это было ошибкой.
Через некоторое время (2 недели) том на массиве начал лагать и влиять на работу системы, входе проверки выявилась очень низкая скорость чтения и записи:



среда, 27 мая 2020 г.

Проект #31. Переводим пользователей на удаленку

Корона внесла неожиданные изменения в нашу работу, приходится подстраиваться. Крупные организации, или кого не зацепило спокойно скупили ноутбуки сотрудникам и радуются жизни. В нашем случае пришлось искать другие пути.
Кто-то пользуется Teamviewer`ом, ну что ж, флаг им в руки, а я буду держаться подальше по следующим причинам:
  1. Программа платная (использование за пределами одной сети = коммерческое использование)
  2. Использование 3 точки в цепочке
  3. Повышенная нагрузка на сервис
  4. Режим работы без блокировки монитора
  5. и т.д.

1С БП расхождение отчетов задолженности и актов сверки

Столкнулся с проблемой при изготовлении отчета на основе отчетов задолженности. Заказчик посмотрел выкладку и говорит, тыкая пальцем, это не те цифры. Открыл акт сверки и показал что цифры различаются.

1СОшибка Нет юр адресов у контрагентов


Обратились с проблемой: нет юр адресов у контрагентов. Кнопки "Заполнить" также нету. При нажатии на кнопку "История" выходит ошибка:

Недопустимое значение параметра (параметр номер '2')
{ОбщаяФорма.РедактированиеИсторииКонтактнойИнформации.Форма(23)}: ЗаполнитьЗначенияСвойств(СтрокаКИ, Параметры.ТекущийАдрес);
{ОбщийМодуль.УправлениеКонтактнойИнформациейКлиентБП.Модуль(72)}: ОткрытьФорму("ОбщаяФорма.РедактированиеИсторииКонтактнойИнформации", ПараметрыФормы, Форма);
{Справочник.Контрагенты.Форма.ФормаЭлемента.Форма(759)}: ПредопределенноеЗначение("Справочник.ВидыКонтактнойИнформации.ЮрАдресКонтрагента"));

по причине:
Недопустимое значение параметра (параметр номер '2')

вторник, 26 мая 2020 г.

1С ЭДО поле Продавец для ИП

Столкнулся с проблемой, в 1С ЭДО в документе (Акт,УПД) в поле продавец (шапка) наименование ИП ставится полностью - ИП Иванов Иван Иванович, а в СБИС (принимающий) отображается без ИП, просто Иванов Иван Иванович. Хотя в XML все ОК

Некоторых бухгалтеров это смущает, а СБИС говорит так: "В ЭДО МинФином регламентируется только XML, печатную форму каждый поставщик услуг ЭДО формирует на свой вкус и цвет"

понедельник, 25 мая 2020 г.

Впечатления о нужной вещи



По натуре я человек, которого сложно удивить и мало вещей могут вызвать у меня восторг (кроме музыки). Но недавно я купил простую вещь, очень нужную и она прекрасна - это обложка для паспорта.... та-дам....

Вот это поворот....

воскресенье, 24 мая 2020 г.



Давно крутится этот баннер, но только недавно прочитал подпись:
"Уважение к людям есть уважение к самому себе"
Джон Голсуорси

Интересно, а сколько людей проходящих и читающих знают кто это такой?

Excel снять объединение и заполнить пустые ячейки

Есть у вас столбец, в котором все ячейки объединены в одну, и нужно снять объединение заполнив ячейки?, тут все просто - снимаем объединение и протягиваем значение.
А что если в столбце 300К строк, и объединение идет по 3-10 строк с разными значениями? Есть надстройка - платная, а можно использовать 2 дополнительных столбца в 4 шага:

  1. Создать столбцы
  2. Протянуть формулу в одном из столбцов
  3. Скопировать полученный результат в режиме только значения
  4. Удалить лишние столбцы (оригинальный и с формулой)
А какую формулу использовать?
Предположим, что столбец источник - D1:D300000, формулу вставляем в столбец С1:С300000, копируем все B1:B300000
В первой строке используем просто копирование (=D1), а в последующих логика проста:
Если ячейка в текущей в столбце D пустая
тогда текущая ячейка равна предыдущей
иначе текущая ячейка равна ячейке в текущей строке в столбце D

=ЕСЛИ(D2="";B1;D2)

Протягиваем, копируем, удаляем.

пятница, 22 мая 2020 г.

Женим модем+роутер+видеорегистратор

Встала обыкновенная задача - установить 4 камеры в магазине.
Интернета там нету, значит роутер+модем.
Бюджет минимальный. Поэтому выбор пал на интересный роутер TP-LINK TL-MR3020
Заинтересовал ценой, отзывами, размерами
Когда всё оборудование было уже на руках, начал проверять и подготавливать к установке. Вскрыв упаковку обнаружил наличие патчкорда, но отсутствие блока питания - питайте от USB

суббота, 16 мая 2020 г.

CubieBoard2 делаем кнопки III

Купил резисторы на 10КОм и переделал на макетке и подключение и программу.
Подключение идет по логике PD0-PD8 - кнопки, все остальное - лампочки.
Вот собственно схема:

вторник, 12 мая 2020 г.

CubieBoard2 делаем кнопки II


По задаче требуется более 3х кнопок и 3х индикаторов.
В предыдущем посте сделали программу для одного комплекта.
Обернув основные части программы в функцию мы можем вызвать по очереди их с разными параметрами, а параметрами будут выступать пины, имя работы и очередь.

пятница, 8 мая 2020 г.

CubieBoard2 делаем кнопки I


Есть одна мысль с кнопками и лампочками на кубике.
Для начала решил получить простую программу:
Нажимаем кнопку - лампочка начинает переливаться (трех-контактный светодиод) красный-красный+зеленый-зеленый. нажимаем снова - выключается.


четверг, 7 мая 2020 г.

Cubieboard armbian GPIO

На кубике с armbian готовим GPIO для работы
Тезисно:
установка армбиан (Armbian Buster mainline based kernel 5.4.y)
лучше ssd
при необходимости устанавливаем Desktop (armbian-config>system>desktop/default)
работа с GPIO через sysfs or libgpiog (gpiod2)
Работа с GPIO через pySUNXI
Править script.bin не надо

среда, 6 мая 2020 г.

Ноутбучная история II или РМ DELL




В ноябре 2018 купил себе новый ноутбук, шел к этому долго и выбирал долго, около года.

Я не играю в компьютерные игры от слова «совсем». Деятельность моя связана напрямую с системный администрированием, иногда бьется о монтаж ЛВС/СВН, или встречается с программированием в 1С. Я искал ноутбук со следующими параметрами (в порядке важности):
  1. Core i5 и выше
  2. 16Gb озу минимум
  3. 256Gb SSD с поддержкой NVMe
  4. Дополнительный HDD
  5. Цифровой блок клавиатуры
  6. FHD дисплей
  7. Дискретная видеокарта не ниже GTX 1050
  8. Предустановленная ОС семейства Windows
  9. Thunderbolt

пятница, 17 января 2020 г.

Рабочая станция архитектора с Китая



Решили попробовать собрать рабочую станцию из комплектующих купленных преимущественно в Китае. Речь идет о станции для архитектора (рендер артлантисом 5).
Артлантис нагибает именно процессор, ему чем больше ядер/потоков/частоты - тем лучше. Поэтому для начала протестировали имеющиеся тачки. Тестом являлось время рендера одной и той же рабочей визуализации, на которую жаловался пользователь: