пятница, 31 декабря 2021 г.
среда, 22 декабря 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.
суббота, 4 декабря 2021 г.
четверг, 2 декабря 2021 г.
воскресенье, 21 ноября 2021 г.
1С Нумерация в запросе (УФ)
На платформе 8.3 появилась давно возможность нумерации строк прямо в запросе, все хорошо, но нумерация идет от 1, а мне нужно было от нуля. Решение оказалось банальным, равно как и сортировка записей во временной таблице:
1С Выделить дробную часть
ДробнаяЧасть=Число-Цел(Число);Возврат(ДробнаяЧасть)
суббота, 20 ноября 2021 г.
пятница, 12 ноября 2021 г.
MSError [Microsoft][Драйвер ODBC Excel] Недопустимое использование Null
Использую драйвер ODBC для загрузки массивных таблиц в БД 1С. Таблица имеет 4 столбца все имеют "Общий" или "Текстовый" формат, но данные в столбцах это число, дата + время, длинное число (номер карты), длинное число (номер телефона). Все данные генерированные. На этапе тестирования я решил изменить дату с 30.12 на 01.11 и получил ошибку в сабже.
вторник, 9 ноября 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
четверг, 30 сентября 2021 г.
среда, 8 сентября 2021 г.
1С ЭтоНовый()
Функция ЭтоНовыйОбъект(Объект)
Возврат Объект.ДополнительныеСвойства.Свойство("ЭтоНовый")
И Объект.ДополнительныеСвойства.ЭтоНовый;
КонецФункции
или
&НаКлиенте
Функция ЭтоНовый()
Возврат ТекущаяСсылкаНаФайл().Пустая();
КонецФункции
&НаКлиенте
Функция ТекущаяСсылкаНаФайл()
ОбъектФормы = ЭтотОбъект.Объект; // СправочникОбъект
Возврат ОбъектФормы.Ссылка;
КонецФункции
воскресенье, 15 августа 2021 г.
СБИС3 Плагин не запускается с 1С через RemoteApp
Сбис онлайн не работает с подписью без плагина. Я был к плагину равнодушен до момента обязательного перехода на третью версию, т.к. эта версия изначально устанавливалась для всех и порождала кучу процессов (до 5 на пользователя, суммарно около 300Мб ОЗУ). Даже на пользовательском ПК с отдельным администратором это бесило, а представьте что я чувствовал когда был вынужден установить его на терминальный сервер с 10 пользователями. 3 гигабайта ОЗУ из 20 уходило только на СБИС3 плагин, хотя им пользовались от силы 3 человека.
воскресенье, 25 июля 2021 г.
Картины: интересное совпадение
Сама картина, "Прекрасная садовница" Рафаэля, мне не нравиться, но увидев ее, я сразу вспомнил актрису 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).
воскресенье, 31 января 2021 г.
1С Программно добавить колонку в макет
Заголовок конечно неправильный, но именно так я начал поиск ответа на вопрос - как в добавить дополнительную колонку в счет-фактуре не изменяя макет?
Скажу так - геморрой еще тот, а ответ на вопрос - "ВставитьОбласть()"
1СОшибка ИзменениеИКонтроль Текст модуля для метода изменился
Очень забавная ошибка, т.к. при сохранении конфигурации система о ней не оповещает.
Поэтому, перед тем как применять измененную конфигурацию расширения с использованием аннотации ИзменениеИКонтроль нужно выполнить проверку применения: