понедельник, 4 сентября 2017 г.

1С 7.7: вывод таблицы с сеткой цветов

Для отображения на экране возможных вариантов выделения цветом текста/фона в ячейках печатных форм:

Процедура ПриОткрытии()
    таб = СоздатьОбъект("Таблица");
    таб.ИсходнаяТаблица("Таблица");
    сч = 0;
    Для R=1 По 255  Цикл
        R=R+9;
        таб.ВывестиСекцию("строка|старт");
        Состояние(""+R+"/255");
        Для G=1 По 255  Цикл
            G=G+9;
            таб.ВывестиСекцию("строка|старт");
            Для B=1 По 255  Цикл
                B=B+9;
                Цвет = R * 65536 + G*256 + B;
                выбСекция=таб.ПолучитьСекцию("строка|база");
                выбОбласть=выбСекция.Область();
                выбОбласть.ЦветТекста(Цвет);
                таб.ПрисоединитьСекцию(выбСекция);
            КонецЦикла;
        КонецЦикла;
    КонецЦикла;
    таб.Показать();
    СтатусВозврата(0);
КонецПроцедуры


В ячейке таблицы [строка+база] должно быть следующее выражение:
""+R+РазделительСтрок+G+РазделительСтрок+B

пятница, 11 августа 2017 г.

Вы вошли в систему с временным профилем в Windows

Проблема: Иногда после некорректного завершения работы системы при входе пользователь получает сообщение о том, что "Вы вошли в систему с временным профилем" в Windows 10, 8 и Windows 7 с дополнительным текстом «Вы не можете получить доступ к своим файлам, и файлы, созданные в этом профиле, будут удалены при выходе из системы».

Решение:
  1. Войти в систему под учётной записью администратора, отличающейся от той учётной записи, в которой есть проблема
  2. Сохранить все полезные данные из профиля проблемного пользователя в другую папку. 
  3. Удалить папку профиля  проблемного пользователя (радикально, но легче вернуть назад любимые обои, чем ловить странные глюки).
  4. Запустить редактор реестра и перейти к разделу HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ Windows NT\ CurrentVersion\ ProfileList
  5. Удалить в нем как подраздел, заканчивающийся на .bak, так и раздел проблемного пользователя (см. по имени в пути + я бы хорошо бы удалить ещё и все остальные устаревшие)
  6. Закрыть редактор реестра, перезагрузить компьютер и зайти под учётной записью, с которой была проблема.
Источники: Раз и два.

UPD. И три. Поиск подвёл :)

понедельник, 17 июля 2017 г.

Узнать в 1С номер недели в месяце по указанной дате

Задача: Узнать в 1С номер недели в месяце по указанной дате

Решение: Получаем разницу номеров недели в году текущей даты и даты начала месяца.
Рассматривается  здесь и здесь.


В запросе 1С 8.х:
НЕДЕЛЯ(Таблица.НашаДата) - НЕДЕЛЯ(НАЧАЛОПЕРИОДА(Таблица.НашаДата, МЕСЯЦ)) + 1

Для 1С 7.7
НомерТекущейНедели = НомерНеделиГода(НашаДата) - НомерНеделиГода(НачМесяца(НашаДата)) + 1;


пятница, 2 июня 2017 г.

Служебная страница about:about в Mozilla Firefox


About:About

В этом списке для вашего удобства перечислены страницы «about».
Некоторые из них могут поставить вас в тупик. Некоторые используются исключительно в целях диагностики.
А некоторые пропущены, так как для своей работы требуют параметров запроса.
Описание тут: https://developer.mozilla.org/en-US/Firefox/The_about_protocol

Оказывается все давно известно :)

https://habrahabr.ru/post/255345/

среда, 24 мая 2017 г.

Не открываются файлы MSC

Проблема: ОС Windows 2003 Server, при попытке открытия любой оснастки появляется ошибка - "MMC не может открыть файл ... .msc. Возможно файл отсутствует, не является консолью MMC, или был создан более поздней версией MMC. Также возможно отсутствуют права на открытие данного файла". (или англ. "MMC cannot open the file C:\WINDOWS\system32\что-то там.msc")
Файл по указанному расположению присутствует, права доступа в порядке, проверка системных файлов ошибок не находит.
Если запустить mmc.exe, далее выбрать "Добавить/удалить оснастку" - любая оснастка - открывается нормально, однако сохранить её не удастся.

Решение:
regsvr32 C:\Windows\System32\msxml3.dll

Источники:
Слетела консоль управления (MMC)
When I tried to open Device Manager or the Computer Management window, I received an error message: "MMC cannot open the file C:\WINDOWS\system32\devmgmt.msc"
Службы - MMC не может открыть файл compmgmt.msc


вторник, 23 мая 2017 г.

Неправильно работает разрешение имён

Проблема: Команда nslookup отрабатывает нормально, однако ping по имени - не работает (по IP-адресу - нормально).

Решение:
Если эта команда работает:
     ping -4 yandex.ru
То, отключить IPv6.
Подробней здесь: NSLookup works but ping, tracert etc. can't do name resolution  
UPD. Из ссылки на Microsoft: "net stop dnscache worked for me"

Мне помог простой рестарт службы dnscache.

Источники:
Проблема с DNS: имена резолвятся только через nslookup
Как корректно отключить IPv6 в Windows 7 и Windows Vista

На память:

среда, 26 апреля 2017 г.

SQL Server 2008 R2 Best Practices Analyzer

Утилита проверяет SQL Server на предмет соответствия набору правил и выдаёт набор рекомендаций. Поддерживаются SQL Server 2008 и SQL Server 2008 R2. BPA ставится отдельно от SQL Server и для своей работы требует Microsoft Baseline Configuration Analyzer 2.0 и Powershell 2.0. Скачать BPA можно здесь - Best Practices Analyzer.

Статья по теме.

четверг, 16 марта 2017 г.

Автоматическое появление сенсорной клавиатуры на рабочем столе в планшете с Windows 10

Рецепт здесь.
"На рабочем столе, в отличие от планшетного интерфейса, с настройками по умолчанию при попадании в фокус текстового поля (вроде адресной панели браузера или документа Word) экранная клавиатура не появляется автоматически; чтобы открыть её, нужно нажать на иконку клавиатуры в системном трее. Для автоматической активации экранной клавиатуры на рабочем столе:
1. Открыть в меню «Пуск» Параметры -> Устройства -> Ввод.
2. Активировать переключатель Автоматическое отображение сенсорной клавиатуры в оконных приложениях при отсутствии подключенной к устройству клавиатуры."

среда, 22 февраля 2017 г.

Задаем настройки прокси-сервера с помощью групповых политик домена Windows server 2008 R2

Копия статьи.

Появилась необходимость задать настройки прокси-сервера для пользователей. Т.к. все ПК находятся в домене, логично задать настройки прокси-сервера путем Групповых политик домена. Имеется домен контроллер на базе Windows server 2008 R2. Но как выяснилось в Windows Server 2008 R2 возможность настройки Internet Explorer только версий 5,6,7,8. Для старших версий настройки не применятся.

Поэтому нужно придумать универсальное решение для всех версий браузеров, используя GPO. И решение было найдено, путем изменения параметров реестра на рабочих станциях пользователей.

Группы Windows NT и Active Directory

Копия одноименной статьи  на память и на случай возможного удаления оригинала :)
Очень познавательно.

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

Устранение ошибки 13.A2.FF принтера HP M603

Проблема: Принтер HP M603 при печати с нижнего лотка останавливается с ошибкой 13.A2.FF, лист бумаги застряет в 100% случаев в момент подачи.

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

Learn to floss the PS102 and PS103 sensors to remove paper jams on LaserJet M600 series printers, including M601, M602, and M603.


пятница, 10 февраля 2017 г.

Небольшой тюнинг Избранного и окон диалога Открыть/Сохранить как


В левой части окна Проводника находится список «Избранное». В этот список по-умолчанию добавляются ссылки на определенные папки (например, «Рабочий стол»), а также на папки некоторых программ (Google Drive, Dropbox, Яндекс.Диск и др.).
В список «Избранное» легко можно добавить другие папки, простым "перетаскиванием" с помощью мыши.

Решение чтобы добавить файлы - здесь.

Чтобы настроить окна "Открыть" и "Сохранить как" для ускорения навигации, можно воспользоваться редактором групповой политики gpedit.msc.
Открываем его, далее выбираем "Конфигурация пользователя - Административные шаблоны - Компоненты Windows - Проводник Windows - Общее диалоговое окно открытия файлов - Элементы, отображаемые в панели мест". Включаем политику и прописываем от 1 до 5 ссылок.
Вместо gpedit можно воспользоваться редактором реестра, рецепт здесь.

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

Периодическое аварийное завершение проводника Windows

Проблема: Периодически при открытии папки или при очистке корзины Windows Explorer аварийно прекращает работу. Это может происходить раз в неделю, а может буквально каждые 5 — 10 минут.

РешениеWindows 7: Windows Explorer crash — how to fix it


В 99% случаях виноваты дополнения к Windows Explorer, которые разные приложения ставят в систему. Это те самые пункты меню, которые появляются по клику правой кнопкой мышки.

Последовательность действий, которая поможет исправить ситуацию:
1. Для начала необходимо скачать утилиту: ShellExView — Shell Extensions Manager, которая позволяет управлять этими расширениями.

2. Запускаем утилиту с правами администратора, сортируем список дополнений по имени компании разработчика.

3. Отключаем все дополнения, у которых производитель не Microsoft.
4. После проделанных операций перегружаем компьютер и работаем некоторое время без дополнений. Если аварийные завершения Проводника не повторяются, по одному включаем действительно нужные дополнения, например, «Notepad++» или «7-zip» и некоторое время мониторим работу компьютера.

четверг, 22 декабря 2016 г.

Как узнать лицензионный ключ Windows

Задача: Узнать ключ установленной Windows
Решение: тут и тут


Частичный ключ продукта командой slmgr.vbs /dlv
Полный ключ продукта: утилита ProduKey от NirSoft
С помощью скрипта на VBS:

четверг, 24 ноября 2016 г.

Настройка Easy Print в Windows Server 2008 R2

Очередная напоминалка: http://blogmax.ru/blog/uroki/item/6-nastrojka-easy-print-windows-server-2008-r2.html

На операционной системе Windows server 2003 администраторы всегда сталкивались с проблемами печати на клиентских машинах, подключенных по протоколу RDP (Remote Desktop Protocol). В версии 2008 R2 microsoft позоботился об этом и внедрил систему печати Easy Print.

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

Печать через Easy Print (мой выбор)
Тут всё просто как ни когда. Технология Terminal Services Easy Print использует формат файла Microsoft XML Paper Specification (XPS), который передается на компьютер пользователя и отправляется на печать, используя локальный драйвера принтера.

вторник, 8 ноября 2016 г.

1С 7.7: удаление строк таблицы значений по условию

Требуется: Из таблицы значений удалить строки по определенному условию.
Решение: Добавляем дополнительную колонку "признак", тип "Число", Длина 1. Проходим по таблице, проверяем условия, и в строки, которые надо удалить, пишем 1, сортируем по-убыванию, выгружаем в временную таблицу только строки с 0 в служебной колонке.
        ...
        тз.Сортировать("-признак");
        НачальнаяСтрока = 0;
        тз.НайтиЗначение(0, НачальнаяСтрока, "признак");
        Если тз.КоличествоСтрок()=0 Тогда
            Сообщить("Пустая таблица!");
            Возврат;
        КонецЕсли;
        врем_тз = СоздатьОбъект("ТаблицаЗначений");
        тз.Выгрузить(врем_тз, НачальнаяСтрока);
        тз = врем_тз;
        ...

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

Мини-АТС Panasonic KX-TDA100: установка ограничения времени разговора

Для разных внутренних и для разных СО можно поставить свою продолжительность вызова.
п.4.1.1 - смотрим COS абонента
п.2.7.1 - у этого COS есть Ext.-CO Duration Limit. Включить.
п. 10.1 - смотрим транковую группу.
п.3.1.1 - для этой группы ставим Ext.-CO Duration Time, в минутах.

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

Форматы географических координат и их преобразования

Задача: В ПО Мобильная торговля А+ координаты хранятся в виде ГГММ.ММММ, необходимо преобразовать к формату хранения Яндекс/Google, вида ГГ.ГГГГГГ

Решение:
Хорошее описание здесь, в wiki еще одного поставщика решений для мобильной торговли.

Общие понятия о форматах координат
Единого стандарта записи нет, но существует множество вариантов, которые используются на практике. Среди них: 

  • DMS (градусы, минуты, секунды) — наиболее понятная для восприятия запись, в которой раздельно указываются градусы, минуты и секунды (последние обычно указываются с точностью до определенного знака). В этой записи чаще всего полушарие обозначается латинской буквой (N/S и W/E).
  • DD (градусы в десятичном виде) — наиболее простая в числовом выражении запись, в которой целая часть представляет градусы, а дробная (обычно 6 знаков) — все остальное. Полушария обозначаются знаком плюса или минуса (реже буквами). Такая запись менее наглядна, но зато удобна для хранения в информационных системах. Большинство бытовых GPS-устройств и картографических сервисов использует именно это формат.
  • DM, UTM, Geo-Tags и другие менее распространенные и экзотические форматы — используются в различных специализированных системах.

Формат координат в продуктах ST и А+
Как и "А+ Мобильная Торговля 2.0", в программах «ST Чикаго» и «ST Мобильная Торговля» географические координаты в БД хранятся в редко используемом сейчас формате
ГГММ.ММММ.
Где: 
ГГ — градусы; 
ММ.ММММ — минуты и десятитысячные доли минут.
Это одна из GPS-нотаций, иногда обозначаемая как GPS (Dec Min).

ПО фактически получает и использует для своих нужд «нормальный» десятичный формат (DD), в котором снимают данные большинство современных GPS-приемников (в т.ч. в смартфонах и планшетах). Однако в БД координаты записываются уже в формате ГГММ.ММММ .
В интерфейсах, как правило, используется наиболее наглядный формат DMS.

Историческая справка
Формат ГГММ.ММММ был унаследован продуктами А+ и ST от навигатора Garmin в начале 2000-х, когда КПК не имели собственных GPS-приемников.
Этот формат есть упрощенная запись формата ГГ°ММ.СС, рекомендуемый для использования в морском радиообмене. В настоящее время используется реже, чем «нормальный» десятичный формат.

Перевод между форматами
ГГММ.ММММ → ГГ.ГГГГГГ
Для перевода необходимо использовать формулу ГГ + (ММ.ММММ ÷ 60):

ГГ.ГГГГГГ → ГГММ.ММММ
Для перевода необходимо использовать формулу (ГГ × 100) + (0.ГГГГГГ × 60):

Пример для Excel:
В Microsoft® Excel можно использовать формулу: = ЦЕЛОЕ(A1)*100 + ОКРУГЛ((A1-ЦЕЛОЕ(A1))*60;4), где в ячейке A1 находится значение в формате ГГ.ГГГГГГ

Пример для 1С:

// ================================================================================================
// из формата А+ в формат яндекса/гугла (ГГММ.ММММ в ГГ.ГГГГГ)
Функция КонвертироватьКординатуИзАгентПлюс( _коорд )
 
 Градусы = Цел(_коорд / 100);
 Минуты = _коорд - Градусы * 100;
 
 Возврат Окр((Градусы+Минуты/60), 5);
 
КонецФункции


// ================================================================================================
// из формата яндекса/гугла в формат А+ (ГГ.ГГГГГ в ГГММ.ММММ)
Функция КонвертироватьКординатуВАгентПлюс( _коорд )
 
 возврат Цел(_коорд)*100 + Окр((_коорд - Цел(_коорд))*60, 4)
 
КонецФункции


среда, 26 октября 2016 г.

Вывод из 1С 7.7 в Word (OLE, с разбиением страницы на колонки)


Задача: Снова встала задача вывести из 1С в Word немного текста. В этот раз отличительной особенностью стала необходимость вывода шапки на всю ширину страницы, а таблицу - разместить ниже в 2 колонки.

Для небольших таблиц в пару сотен строк кода работает прекрасно. Для больших - лучше формировать не через OLE, иначе можно смело оставлять на пару часов.

Решение: Задача старая, много полезных ссылок:
https://helpf.pro/faq8/view/635.html
http://superadm.net/index.php?name=pages&op=view&id=98
http://infostart.ru/public/67727/ - с готовым примером, много комментариев
http://www.delphimaster.ru/articles/dbtoword/index.html - отличные примеры на Дельфи
Самый лучший и полный  - http://scriptcoding.ru !


Под катом моя версия и копия с инфостарта.


1С 7.7: ошибка "Переменная ... не определена" в запросе

Проблема: Предприятие 7.7.027, древняя конфигурация на базе "Торговля и Склад для Украины". При попытки формирования типовых отчетов по регистру "ПартииТоваров" все останавливаются с ошибкой. Суть ошибки - не определена какая-то переменная, например, "Стоимость". Отчеты типовые, никем и никогда не менялись. Переименование переменных  результатов не даёт.

Текст ошибки:
Если Запрос.Выполнить(ТекстЗапроса)=0 тогда
{Отчет.Продажи.Форма.Модуль(784)}: Функция РасхСтоимость=Расход( <> Стоимость);
Запрос[35] : Переменная 'Стоимость' не определена

Решение: В Windows Server 2008 R2 с установленной украинской кодировкой 1С работать не будет. Необходимо поменять в региональных настройках системы стандарты на русские, а в 1С установить "Кодовая страница ИБ": "Использовать текущие настройки системы".

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

Общие сведения о спецификации интерфейса IPMI

Цитата отсюда: http://white55.ru/ipmi.html, по ссылке больше и с картинками :)


IPMI (от англ. Intelligent Platform Management Interface) — интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. Другими словами IPMI – это средство управления, которое реализовано независимо от основного оборудования сервера и обеспечивает его включение, выключение, сброс, удаленное подключение виртуальных мониторов, клавиатур и мышей, наблюдение за работой оборудования и оповещение о важных событиях, связанных с работоспособностью сервера. Спецификация IPMI версии 1.0 была опубликована еще в 1998г. и базировалась на подключении к модулю IPMI через последовательный интерфейс RS-232. Текущая спецификация IPMI опубликована в 2004 г. и базируется на использовании стандартного сетевого интерфейса.

Ядром системы управления серверной платформой является специализированное устройство - Baseboard Management Controller (BMC), который практически является специализированным компьютером, встроенным в серверную платформу, имеющим свои собственные процессор, память, периферийное оборудование и операционную систему. Спецификация IPMI не задает жестких стандартов по реализации IPMI-устройств. Они могут быть выполнены в виде отдельного адаптера, могут быть распаяны непосредственно на материнской плате или выполнены в виде отдельного микроконтроллера. В настоящее время, наиболее распространены интегрированные в серверные материнские платы контроллеры BMC на базе технологии “система на одном кристалле” (System-on-Chip, SoC), позволяющие реализовать как эффективное взаимодействие с управляемой платформой, так и огромное количество функций по удаленному мониторингу, оповещению о важных событиях по e-mail или SNMP, ведению журналов и т.п.

Контроллеры BMC для серверных материнских плат подключаются к ним через системный интерфейс, названный IPMB (Intelligent Platform Management Bus/Bridge) или к другим контроллерам BMC через интерфейс IPMC (Intelligent Platform Management Chassis). Для удаленного управления оборудованием через контроллер BMC может быть использован специальный протокол прикладного уровня Remote Management Control Protocol (RMCP), обеспечивающий работу через обычную локальную сеть. Как правило, современные контроллеры BMC обеспечивают управление серверными платформами через веб-интерфейс, а также обеспечивают удаленное подключение устройств CD/DVD и работу клавиатуры-видео-мыши по сети ( IP KVM ), что позволяет легко выполнять, например изменять настройки BIOS или выполнять установку операционной системы, не имея физического доступа к оборудованию сервера.

Еще немного по теме:
ссылка 1: Пример конфигурирования IPMI на сервере 
ссылка 2: Настраиваем IPMI на Dell PowerEdgeстатья на wiki: Intelligent Platform Management Interface

пятница, 7 октября 2016 г.

Ошибка «Saving changes is not permitted…» в Microsoft SQL Server 2008 Management Studio при изменении структуры таблицы.

Проблема: В таблице есть колонка nvarchar(60), возникла необходимость увеличить до количество знаков до 75.
При попытке сохранения изменений в дизайнере, SQL Server Management Studio выдает следующее сообщение: "Saving changes is not permitted. The change you have made requires the following table to be dropped and re-created. You have either made changes to a table that can't be recreated or enabled the option prevent saving changes that require the table to be re-created."

Решение:

Вариант 1) Снять чекбокс «Prevent saving changes that require table re-creation» (Tools->Options):

Вариант 2) Выполнить на таблице следующий скрипт:
alter table ИмяНашейТаблицы 
alter column ИмяКолонкиКоторуюНадоУвеличить nvarchar(75)

P.S. Перед выполнением скрипта необходимо удалить индекс по этой колонке - пока этого не сделали, получали сообщение об ошибке.

среда, 5 октября 2016 г.

1С 7.7 + OLE часть 3/3

Копия статьи с http://www.softpoint.ru/article_id90.htm под катом