четверг, 23 декабря 2021 г.

Notepad++ поменять местами колонки

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

Задача стояла простая - есть 65К+ строк, "Имя;'номерТелефона;'НомерКарты", нужно представить данные так - "НомерКарты Имя". Это можно сделать при помощи Excel/Calc и прочих табличных программ, но на ПК кроме Notepad++ больше ничего нету. А Notepad++ поддерживает регулярные выражения.

В качестве поля поиска выступит: "(\w+);'(\w+);'(\w+)", т.к. нам известен шаблон, мы т.о. получим массив размерностью в три элемента и заменим его на нужные нам: "\3 \1", вот и все. За 15 сек программа решит задачу:

Данные до

Данные после

Обращаем внимание что "\w" - это не все до следующего разделителя ";", а "слово" с точкой запятой в конце. В моем случае почти на всех строках шаблон был именно такой, если же до точки запятой появится делитель, то схема не сработает.

1СОшибка УНФ не сохраняет начальный экран

Завел себе УНФ и не стал заморачиваться с предварительной настройкой, а просто синхронизировал с БП. Убрал начальную страницу настройки в разделе "Настройка начальной страницы", настроил панели под себя... И какого же было мое удивление, когда перезапустив базу я увидел начальную страницу О_О

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


Если Настройки.Показывать Тогда
	УстановитьПривилегированныйРежим(Истина);
	ЗаписьРегистра = РегистрыСведений.ПакетыИнформацииПриЗапуске.Получить(Новый Структура("Номер", 0));
	ПакетыСтраниц = ЗаписьРегистра.Состав.Получить();
	УстановитьПривилегированныйРежим(Ложь);
	Если ПакетыСтраниц = Неопределено Тогда
		Настройки.Показывать = Ложь;
	Иначе
		Информация = ПодготовитьПакетыСтраницКВыводу(ПакетыСтраниц, НачалоДня(ТекущаяДатаСеанса()));
		Если Информация.ПодготовленныеПакеты.Количество() = 0
			Или Информация.МинимальныйПриоритет = 100 Тогда
			Настройки.Показывать = Ложь;
		КонецЕсли;
	КонецЕсли;
КонецЕсли;

  

Открыл регистр "Пакеты информации при запуске", там только 1с запись со значением "0", установил отличное и получил значение Настройки.Показывать равным Ложь. Проверил - теперь открывается мой внешний вид.

воскресенье, 5 декабря 2021 г.

[Microsoft][ODBC Text Driver] The Microsoft Access database engine could not find

Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Microsoft][ODBC Text Driver] The Microsoft Access database engine could not find the object 'FA_BTL_DAILY_REPORT 02_12.decode.CSV'. Make sure the object exists and that you spell its name and the path name correctly. If 'FA_BTL_DAILY_REPORT 02_12.decode.CSV' is not a local object, check your network connection or contact the server administrator.

воскресенье, 21 ноября 2021 г.

1С Нумерация в запросе (УФ)

На платформе 8.3 появилась давно возможность нумерации строк прямо в запросе, все хорошо, но нумерация идет от 1, а мне нужно было от нуля. Решение оказалось банальным, равно как и сортировка записей во временной таблице:

1С Выделить дробную часть

Функция Дроб(Число)
ДробнаяЧасть=Число-Цел(Число);
Возврат(ДробнаяЧасть)
КонецФункции;
 
 

пятница, 12 ноября 2021 г.

MSError [Microsoft][Драйвер ODBC Excel] Недопустимое использование Null


Использую драйвер ODBC для загрузки массивных таблиц в БД 1С. Таблица имеет 4 столбца все имеют "Общий" или "Текстовый" формат, но данные в столбцах это число, дата + время, длинное число (номер карты), длинное число (номер телефона). Все данные генерированные. На этапе тестирования я решил изменить дату с 30.12 на 01.11 и получил ошибку в сабже.

среда, 10 ноября 2021 г.

Проект #34 RB2011 Ставим антенну от Aorus

 У клиента красиво развел кабель по новому офису, упаковал в шкаф, но оборудование не менялось  и получилось так, что RB2011 с WiFi был установлен в шкаф, из-за  чего сигнал был хуже ожидаемого. Когда пришла жалоба, мой взгляд упал на антенну от gigabyte z490 aorus elite ac

Проект #33 Компактный шкаф видеонаблюдения

Небольшой фотоотчет

Состав шкафа:

  • Регистратор -  DS-H208QA
  • Коммутатор - TP-LINK TL-SF1016D
  • Poe инжектор OSNOVO Midspan-8/P
  • БП UPS 120W SIMPLE БЛОК
  • DTM 1207 аккумулятор 7Ач 12В Delta
Коммутатор один из самых дешевых, идея хорошая, но мне не понравился, хоть и может работать от USB. А вот инжектор охонь, камеры IP, но без Poe, т.к. бюджет, такой вариант позволил красиво запитать камеры 12ю вольтами.

пятница, 1 октября 2021 г.

 Лев Кассиль, "Противостояние"

Название книги, указывает на состояние небесных тел, по крайней мере в первой половине книги...

среда, 8 сентября 2021 г.

1С ЭтоНовый()

 Функция ЭтоНовыйОбъект(Объект)

Возврат Объект.ДополнительныеСвойства.Свойство("ЭтоНовый")

И Объект.ДополнительныеСвойства.ЭтоНовый;

КонецФункции



или


&НаКлиенте

Функция ЭтоНовый()

Возврат ТекущаяСсылкаНаФайл().Пустая();

КонецФункции

&НаКлиенте

Функция ТекущаяСсылкаНаФайл()

ОбъектФормы = ЭтотОбъект.Объект; // СправочникОбъект

Возврат ОбъектФормы.Ссылка;

КонецФункции


или

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Ключ.Пустая() тогда
Сообщить("ЭтоНовый")
Конецесли
Конецпроцедуры

воскресенье, 15 августа 2021 г.

СБИС3 Плагин не запускается с 1С через RemoteApp

 Сбис онлайн не работает с подписью без плагина. Я был к плагину равнодушен до момента обязательного перехода на третью версию, т.к. эта версия изначально устанавливалась для всех и порождала кучу процессов (до 5 на пользователя, суммарно около 300Мб ОЗУ). Даже на пользовательском ПК с отдельным администратором это бесило, а представьте что я чувствовал когда был вынужден установить его на терминальный сервер с 10 пользователями. 3 гигабайта ОЗУ из 20 уходило только на СБИС3 плагин, хотя им пользовались от силы 3 человека.

воскресенье, 25 июля 2021 г.

Картины: интересное совпадение

 Сама картина, "Прекрасная садовница" Рафаэля, мне не нравиться, но увидев ее, я сразу вспомнил актрису Esme Coy из сериала Полдарк

"Прекрасная садовница" Рафаэль
"Прекрасная садовница" Рафаэля

Эпизод из сериала Полдарк
Эпизод из сериала Полдарк

Esme Coy
Esme Coy


понедельник, 22 марта 2021 г.

1СОшибка Вставьте ключевой носитель (был заменен носитель)

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

Для существующих сертификатов проблемы нет, открываем Крипто-Про-Сервис-Просмотреть сертификаты в контейнере-Обзор-Находим сертификат и выбираем его - Далее - установить - да (заменить существующий сертификат?) - ок - готово - ок.

А как быть, если был отправлен запрос на смену сертификата, но он не был установлен?

вторник, 9 марта 2021 г.

CSoft СПДС не запускается или неизвестная команда

 СПДС от CSoft в Автокаде подгружается через приложения (_appload, файлы mcsEnabler.dbx и mcsLoader.arx), при загрузке автокада должна вылезать портянка СПДС, подтверждающая его загрузку. Зачастую отсутствие загрузки говорит либо о запуске под другим профилем (открываем csaIntegrator и ставим нужный по умолчанию) либо о невозможности загрузки приложения (часто решается выгрузкой и обратной загрузкой)

Если нет меню, то загружаем его через файлы адаптаций (_MENULOAD, файл C:\Program Files\CSoft\СПДС GraphiCS X.0\mX\spds_menu.mnu).

Сегодня я столкнулся с другой забавной ошибкой, портянки нету, меню есть, выгружается/загружается, но все равно попытка вызвать команду говорит о том, что она ему неизвестна. Покрутил и так и эдак, на форуме где то прочитал что такое поведение скорее связано с невозможностью загрузить базу (mcsEnabler.dbx), а я уже и БД MS SQL проверил. Решил переустанавливать и у меня не получилось, после начала деинсталляции окно программы просто закрывалось, а такое поведение говорит нам о поврежденном/отсутствующем файле или кривых настройках безопасности. Также такая картина наблюдается если антивирус рубит процесс на лету, решил отключить антивирус, не помогло, тогда я проверил журнал и увидел помещенный в карантин файл MT.dll. Я его восстановил и о чудо, все заработало, остается вопрос к хозяину, почему файл был модифицирован.

четверг, 11 февраля 2021 г.

Монтажная коробка для DS-2CD2523G0-IWS

 Оригинальный кронштейн из каталога DS-1280ZJ-DM46 поставляет только под заказ, сроки 1.5 месяца. Понятно что никто ждать столько не собирается. Проблема камеры в том, что вывод кабеля не в центре, поэтому большинство коробок не подходит (кроме промрукав 100*100).

понедельник, 1 февраля 2021 г.

1С Программно добавить колонку в макет

Заголовок конечно неправильный, но именно так я начал поиск ответа на вопрос - как в добавить дополнительную колонку в счет-фактуре не изменяя макет?



Скажу так - геморрой еще тот, а ответ на вопрос - "ВставитьОбласть()"

воскресенье, 31 января 2021 г.

1СОшибка ИзменениеИКонтроль Текст модуля для метода изменился

Очень забавная ошибка, т.к. при сохранении конфигурации система о ней не оповещает.

Поэтому, перед тем как применять измененную конфигурацию расширения с использованием аннотации ИзменениеИКонтроль нужно выполнить проверку применения:

понедельник, 4 января 2021 г.