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

Wake-on-LAN

Материал из Wiki:

Wake-on-LAN (WOL; в переводе с англ.  — «пробуждение по [сигналу из] локальной сети») — технология, позволяющая удалённо включить компьютер посредством отправки через локальную сеть специальной последовательности байтов — пакета данных (так называемого 'magic packet' — «волшебного пакета», см. ниже). Этот пакет может быть вставлен в пакеты любых стандартных протоколов более высоких уровней, например, UDP или IPX.
  
Требования к компьютеру для работы с Wake-on-LAN
  • Компьютер с источником питания, соответствующим стандарту ATX 2.01, и материнской платой, поддерживающей Wake-on-LAN;
  • Сетевая плата (в виде платы расширения либо встроенная в материнскую плату) с поддержкой Wake-on-LAN;
  • Если используется внешняя (не встроенная в материнскую плату) сетевая плата, и хотя бы одна из этих плат не соответствуют стандарту PCI 2.2 или более позднему, то необходим также специальный трёхпроводной кабель для соединения разъёмов Wake-on-LAN на материнской и сетевой платах.
Кроме того, необходима возможность послать magic packet управляемому компьютеру. Это можно сделать, например, с помощью другого компьютера с соответствующей программой (см. примеры ниже). 

Принцип работы 
Управляемый компьютер находится в дежурном режиме (англ. stand-by) и выдаёт питание на сетевой адаптер[1]. Сетевой адаптер находится в режиме пониженного энергопотребления, просматривая все пакеты, приходящие на его MAC-адрес, и ничего не отвечая на них. Если одним из пакетов окажется magic packet, сетевой адаптер выдаст сигнал на включение питания компьютера. 

Magic packet
англ. Magic packet — это специальная последовательность байтов, которую для нормального прохождения по локальным сетям можно вставить в пакеты UDP или IPX. Обычно для Wake-on-LAN пакеты протоколов верхнего уровня рассылают широковещательно, так как в случае динамического присвоения адресов неизвестно, какой IP-адрес соответствует какому MAC-адресу. Однако, для корректного прохождения через маршрутизатор, запрещающий широковещательные пакеты, можно послать пакет по какому-то определённому адресу.
В начале пакета идет так называемая цепочка синхронизации: 6 байт, равных 0xFF. Затем — MAC-адрес сетевой платы, повторённый 16 раз. То есть, если бы адрес платы выглядел как 01:02:03:04:05:06, то магический пакет оказался бы таким:
FFFFFFFFFFFF010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506010203040506
010203040506
 
Программы

Наш выбор - WakeMeOnLan! :)

среда, 6 января 2016 г.

Аудит входа в систему

Источникhttps://technet.microsoft.com/ru-ru/library/cc787567%28v=ws.10%29.aspx

Применяется к:
Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2, Windows Vista

Описание
Этот параметр безопасности определяет, подлежит ли аудиту каждая попытка пользователя войти в систему с компьютера или выйти из нее.
События входа в систему формируются контроллерами домена в процессе проверки учетных записей домена и локальными компьютерами при работе с локальными учетными записями. Если включены обе категории политик — учетных записей и аудита при входе в систему, — входы в систему, использующие учетную запись домена, формируют события входа или выхода на рабочей станции или сервере и событие входа в систему на контроллере домена. Кроме того, интерактивные входы с использованием учетной записи домена на рядовой сервер или рабочую станцию формируют событие входа на контроллере домена, в то время как при входе пользователя производится поиск сценариев входа и политик. Дополнительные сведения о событиях входа в систему см. в разделе Аудит событий входа в систему.
Если этот параметр политики определен, можно задать аудит успехов или отказов либо вообще отключить аудит событий данного типа. Аудит успехов означает создание записи аудита для каждой успешной попытки входа в систему. Аудит отказов означает создание записи аудита для каждой неудачной попытки входа.

пятница, 25 декабря 2015 г.

Перекодировка текста в/из UTF-8 штатными средствами 1С 7.7

Надо: Сохранить из 1С 7.7 файл в формате UTF-8

Решение больше частью отсюда.
Альтернативные варианты: использование библиотеки от romix или использовать adodb stream.

UPD 16.08.17 По умершей ссылке было что-то вроде этого:

Функция ПреобразоватьСтрокуВУТФ8(Стр)
    Длина=СтрДлина(Стр);
    Итог="";
    Для Н=1 По Длина Цикл
        Знак=Сред(Стр,Н,1);
        Код=КодСимв(Знак);
        Если Код<128 Тогда
            Итог=Итог+Знак;
        Иначе
            Если (Код>=КодСимв("А"))И(Код<=КодСимв("п")) Тогда
                Итог=Итог+Симв(208)+Симв(144+Код-КодСимв("А"));
            ИначеЕсли (Код>=КодСимв("р"))И(Код<=КодСимв("я")) Тогда
                Итог=Итог+Симв(209)+Симв(128+Код-КодСимв("р"));
            ИначеЕсли (Знак="ё") Тогда
                Итог=Итог+Симв(209)+Симв(145);
            ИначеЕсли (Знак="Ё") Тогда
                Итог=Итог+Симв(208)+Симв(129);
            ИначеЕсли (Знак="і") Тогда
                Итог=Итог+Симв(209)+Симв(150);
            ИначеЕсли (Знак="ї") Тогда
                Итог=Итог+Симв(208)+Симв(151);
            ИначеЕсли (Знак="є") Тогда
                Итог=Итог+Симв(209)+Симв(148);
            ИначеЕсли (Знак="Є") Тогда
                Итог=Итог+Симв(208)+Симв(132);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
    Возврат Итог;
КонецФункции

четверг, 19 ноября 2015 г.

Грамотное добавление сетевого диска через групповые политики

Два простых  решения:
  1. Создать ярлык на раб. стол (к примеру) на этот ресурс и юзать себе на здоровье.
  2. Подключить сетевой диск.
Рассмотрим второй вариант. Для подключения сетевого диска всем пользователям домена используется простой cmd-файл:

start /wait /min net use o: /delete /yes
start /wait /min net use o: \\Server\Share
$ /persistent:no  /yes



/persistent:no  - параметр, при котором диск не будет постоянно восстанавливаться при входе в систему (т.е. создается только на данный "сеанс"). Строка net use o: /delete перед строкой добавления диска исключит возможную ошибку, если диск w уже существует.

Открываем оснастку Active Directory Users and Computers. Кликаем правой кнопкой по нашему домену, выбираем св-ва, вкладка групповые политики (групповые политики домена, а не контроллера домена!), выбираем вашу политику, кликаем Edit. В открывшемся Group Policy Object Editor`е -> User Configuration -> Windows Setting -> Scripts -> Logon. Добавляем наш скрипт и все.
Почему именно в User Configuration, а не в Computer Configuration? Возможно, на сетевой папке будет открыт доступ только для определенных групп/пользователей. Скрипт из Computer Configuration выполнится раньше входа в систему пользователя, при этом возникнет ошибка доступа к ресурсу из-за отсутствия соответствующих прав. Именно в этих целях скрипт прописан в User Configuration, т.е. он выполняется при непосредственном входе пользователя в домен.

среда, 18 ноября 2015 г.

GPS+AGPS (обновление альманаха через инженерное меню)

Отсюда: http://4pda.ru/2014/09/25/177874/#comment1887672

1) Включить в настройках Android, в разделе “Мое месторасположение” AGPS, затем открыв верхнюю “шторку” в телефоне активировать GPS.
2) Затем в звонилке, необходимо набрать *#*#3646633#*#* - вход в инженерное меню.
Может быть, на вашем телефоне заработает другой номер для входа в инженерное меню Android:
*#*#4636#*#*
*#*#8255#*#*, *#*#4636#*#* — для Samsung
*#*#3424#*#*, *#*#4636#*#*, *#*#8255#*#* — для HTC
*#*#7378423#*#* — для Sony
*#*#3646633#*#* — для Philips, Fly, Alcatel
*#*#2846579#*#* — для Huawei
Если не получается, поищите информацию о том, как войти в инженерное меню в вашем Android телефоне. Если у вас телефон на базе процессоров MTK (MT6577, MT6589 …), вы можете воспользоваться программой “MobileuncleTools” (необходим ROOT), ее можно скачать из GooglePlay. В ней присутствует раздел EngineerMode. Он нам и нужен.
3) Когда вы попали (любым способом) в инженерное меню телефона, нужно перейти на вкладку YGPS – и посмотреть на закладке “Satellites” – появляются ли шкалы сигнала. Если да, значит спутники телефон пытается искать , но не находит из-за неправильно записанного Альманаха. И это не удивительно, ведь аппарат приехал с другого “конца света” .
4) Следующим шагом будет переход на вкладку “Information”, а затем нажатие по очереди кнопок “full”, “warm”, ”hot”, “cold” (для полного сброса старого Альманаха).
5) После этого, на вкладке NMEA Log, необходимо нажать кнопку start. (начнется запись нового Альманаха)
6) Теперь для правильной работы GPS, необходимо перейти на задку “Satellites” и ожидать в течении 5-15 минут пока будет найдено максимальное кол-во шкал спутников (обычно от 10 до 13 штук) и их шкалы позеленеют .
7) Когда все спутники будут найдены – перейдите снова на закладку Nmea Log и нажмите кнопку “stop”. Поздравляю, новый альманах для вашей местности записан.
Делал эту процедуру на многих китайфонах - в результате процедуры, телефон должен начать быстрее находить спутники.
Напомню, что все вышеописанные действия для улучшения качества GPS, необходимо проводить сугубо на открытой местности, подальше от зданий. И последний совет – рекомендую выставить точно системное время и дату в телефоне.

пятница, 13 ноября 2015 г.

Простые числа

primesieve.org - primesieve is a free software program and C/C++ library that generates primes using a highly optimized sieve of Eratosthenes implementation. It counts the primes below 10^10 in just 0.45 seconds on an Intel Core i7-6700 CPU (4 x 3.4GHz). primesieve can generate primes and prime k-tuplets up to 2^64.

Wheel_factorization

Решето Сундарама

Решето Эратосфена

Решето Аткина

четверг, 5 ноября 2015 г.

Жёсткий диск работает в неправильном режиме: UltraDMA-2/PIO вместо UltraDMA-5

Проблема: Постоянные жалобы пользователя на медленную работу компьютера. Компьютер старый, P-IV-2800/512/80 IDE под Windows XP, однако, рядом стоят еще 2 абсолютно таких же, и работают без проблем.

В диспетчере устройств  - режим работы жесткого диска UltraDMA-2, хотя недавно 100% был UltraDMA-5.

Поиск выдал несколько вариантов:

Програмка Hard Drive Inspector 2.80 пишет, что Ваш диск работает в Ultra DMA mode 2 (33 MB/s), хотя его оптимальный режим передачи данных Ultra DMA mode 5 (100 MB/s). Это может привести к снижению производительности дисковых операций.

HDD Работает в режиме PIO за место Ultra DMA-5 

Как включить режим Ultra DMA, выключить PIO. Hardware Interrupts грузит систему
Причина:
После определенного количества ошибок чтения Windows переводит контроллер на более медленный режим.

Решение:
1. Узнать, в каком режиме винт.
Заходим в диспетчер устройств — IDE/ATAPI контроллеры — первичный(вторичный)  канал и в дополнительных параметрах смотрим режим передачи — если PIO/UltraDMA-2, это он. Пробуем поставить режим «DMA если доступно» (причем это проделать во  всех первичных и вторичных каналах) и перезагрузить систему. Если опять стоит режим PIO, то проверить шлейф винчестера и питание. Если не помогло, то решение — поменять винчестер или вариант 2:

2. Отключить контроль ошибок.
В разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs создайте ключ ErrorControl и установите его значение в 0. Если ключ уже существует, просто измените его значение. Перезагрузитесь. Удалите и заново установите IDE-контpоллеp из "Диспетчера устройств".  

3. Выставить вручную режим UDMA для контроллеров
Заходим в реестр(меню Пуск-выполнить-regedit), далее в раздел
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}.
Где:
0000 – сам контролёр.
0001 – Secondary IDE Chanell.
0002 – Primary IDE Chanell
 В подразделах 0001 и 0002 делаем так:
1. В меню правка Создать, параметр DWORD.
2. Введите строку ResetErrorCountersOnSuccess и нажмите клавишу ВВОД.
3. 2 раза щелкнуть по созданому параметру и ввести значение 1. Нажать Ок.
В этих же разделах проверить
«MasterIdDataCheckSum»=dword:0
«SlaveIdDataCheckSum»=dword:0
Далее, проверьте, чтобы в этих же разделах параметры MasterDeviceTimingModeAllowed и SlaveDeviceTimingModeAllowed у вас имели значеие ffffffff (в шестнадцатиричной системе). И соответствующему параметру MasterDeviceTimingMode или SlaveDeviceTimingMode присвойте требуемое значение:
0×10010 — соответствует режиму UDMA Mode 5 (ATA100).
0×8010 — UDMA Mode 4 (ATA66).
0×2010 — UDMA Mode 2 (ATA33).
0×0410 — Multi-Word DMA Mode 2
Перезагрузиться.

Мне же, увы, помогла только замена шлейфа на новый  и красивый 80-пиновый. :)

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

Firefox: код ошибки: ssl_error_weak_server_ephemeral_dh_key

Проблема: При попытке зайти на сервере DELL Power EDGE в консоль OpenManage Server Administrator (https://*:1311) получаем в Firefox:
"Ошибка при установлении защищенного соединения. При соединении с *** произошла ошибка. SSL получило слабый эфемерный ключ Диффи-Хеллмана в сообщении рукопожатия «Обмен ключами сервера». (Код ошибки: ssl_error_weak_server_ephemeral_dh_key)"


Решение:
Здесь "Код ошибки: ssl_error_weak_server_ephemeral_dh_key"
и здесь: https://support.mozilla.org/ru/questions/1075891


Копия под катом.

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

Установка 1С:Предприятие 7.7 на Microsoft SQL Server 2008 R2

Источник: http://tavalik.ru/ustanovka-1spredpriyatie-7-7-na-microsoft-sql-server-2008-r2/

Официально, платформа 1С:Предприятие 7.7 работает только с MS SQL Server 2000. Но с помощью небольших манипуляций можно организовать стабильную работу и с последней, на момент написания статьи, версий Microsoft SQL Server 2008 R2. Ниже представлена пошаговая настройка связки 1С:Предприятие 7.7 + MS SQL Server 2008 R2 + Microsoft Windows Server 2008 R2 (Справедливо и для других операционных систем семейства Windows). Итак:

0. Оглавление

  1. Установка Windows Server 2008 R2
  2. Установка SQL Server 2008 R2 
  3. Создание новой базы данных в SQL Server 2008 R2
  4. Настройка Windows Server 2008 R2
  5. Установка 1С:Предприятие 7.7
  6. Патч и замена файла BkEnd.dll
  7. Создание представления sksprocesses в MS SQL Server
  8. Добавление информационной базы в 1С:Предприятие 7.7
  9. Настройка безопасности для всех пользователей

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

1C 8.x: Недокументированное использование стандартных обработок из меню "Все функции".


В платформе 1С предприятие есть очень удобные стандартные функции:

1. Активные пользователи;
2. Журнал регистрации;
3. Поиск ссылок на объект;
4. Проведение документов;
5. Удаление помеченных объектов;
6. Управление внешними источниками данных;
7. Управление итогами;
8. Управление полнотекстовым поиском;
9. Управление расширениями конфигурации;

Однако нигде не описаны варианты их использования кроме вызова из пункта "Все функции" главного меню. Поэтому иногда встречается мнение, что эти функции являются чем-то специфичным и сложным, что они вообще написаны не на 1С, а на С++ как и сама платформа.
На самом деле технически эти функции являются самыми обычными 1С обработками, включенными в состав платформы, и ими можно пользоваться полностью аналогично любым другим привычным обработкам.
Рассмотрим несколько способов их использования на примере стандартной обработки "Поиск ссылок на объекты".

Установка прав входа в систему при помощи служебной программы Ntrights.exe

В настоящей статье описывается процедура установки прав входа в систему при помощи служебной программы NTRights (Ntrights.exe). 

Ntrights.exe представляет собой служебную программу из комплекта ресурсов Resource Kit, которая может использоваться для установки прав пользователя из командной строки. Ntrights.exe может использоваться для управления правами как на локальном, так и на удаленном компьютере. В файле справки к Ntrights.exe перечислены не все права входа в систему, которые могут быть изменены.

В следующем списке перечислены права входа в систему, которые могут быть изменены при помощи служебной программы NTRights:

Право пользователяПонятное имя
SeNetworkLogonRightДоступ к компьютеру из сети
SeInteractiveLogonRightЛокальный вход в систему
SeBatchLogonRightВход в качестве пакетного задания
SeServiceLogonRightВход в качестве службы
SeDenyNetworkLogonRightОтказ в доступе к компьютеру из сети
SeDenyInteractiveLogonRightОтказ в локальном входе в систему
SeDenyBatchLogonRightОтказ во входе в качестве пакетного задания
SeDenyServiceLogonRightОтказ во входе в качестве службы


Примечание. При использовании служебной программы NTRights имейте в виду, что право пользователя указывается с учетом регистра.

Следующий текст взят из файла справки Ntrights.exe.

10 критически важных event ID для мониторинга

Копия статьи: http://habrahabr.ru/company/netwrix/blog/148501/

Рэнди Франклин Смит (CISA, SSCP, Security MVP) имеет в своем арсенале очень полезный документ, рассказывающий о том, какие события (event IDs) обязательно должны отслеживаться в рамках обеспечения информационной безопасности Windows. В этом документе изложена крайне полезная информация, которая позволит Вам “выжать” максимум из штатной системы аудита. Мы подготовили перевод этого материала. Заинтересованных приглашаем под кат.

О том, как настроить аудит, мы уже обстоятельно писали в одном из наших постов. Но из всех event id, которые встречаются в журналах событий, необходимо остановить свое внимание на нескольких критических важных. На каких именно – решать каждому. Однако Рэнди Франклин Смит предлагает сосредоточить внимание на 10 важных событиях безопасности в Windows.

пятница, 14 августа 2015 г.

VDI Fails

VDI Fail 1. Никто не понимает как лицензируется Microsoft.
Поговорите с 10 людьми в Microsoft как лицензировать VDI - получите 11 разных ответов.
VDI Fail 2. Не тот продукт по неправильной причине.
На основе чего вы выбираете платформу VDI? Только лишь потому что кто-то дал вам бесплатных лицензий или потому что гипервизор от того же вендора?
VDI Fail 3. Недостаточно экспертизы, чтобы проект взлетел.
Хватит ли у вас экспертизы по всем подсистемам, задействованным в проекте, или он завалится как колосс на глиняных ногах?
VDI Fail 4. VDI как решение проблемы планшетов.
Если планшеты только как почти бесплатная опция вдобавок, то почему бы и нет? Но приложения для мыши и клавиатуры могут очень плохо работать на тач-интерфейсе.
VDI Fail 5. Покупка на будущее.
Будете ли вы покупать мини-вэн на большую семью, если вам 20 лет? К моменту, когда он реально понадобится, может пройти 5, 10 лет. А он может и не понадобиться вовсе.
VDI Fail 6. Плохие привычки из прошлого.
Прошлые привычки в новом окружении способны похоронить весь проект.
VDI Fail 7. Плохое исследование текущей ситуации.
Нет ничего хуже, чем в разгар миграции обнаружить, что половина пользователей не может использовать критически важные приложения, о которых вы были даже не в курсе.
VDI Fail 8. Не знать когда остановиться.
Не всем нужны VDI машины. Они нужны почти любой компании с числом пользователей более 50, но какой доле этих пользователей они нужны, 5%? 10%?

Brian Madden. The VDI Delusion.

Нашел здесь.

среда, 29 июля 2015 г.

Остановка зависшего сервиса в Windows

Чтобы остановить сервис, зависший в состоянии starting или stopping (в этом случае команды net start/stop не работают), делаем следующее:

1. Открываем командную строку:
Пуск -> Выполнить -> вводим cmd.exe и нажимаем Ввод.

2. Узнаем PID (Process ID) сервиса:
В cmd.exe выполняем следующий код:
sc queryex SERVICENAME
где SERVICENAME - имя зависшего процесса, можно посмотреть в списке сервисов. Например для сервиса очереди печати (Print spooler) имя процесса - spooler.

3. Убиваем процесс:
Выполняем в cmd.exe следующий код:
taskkill /PID PROCESS_PID_NNN /F
где PROCESS_PID_NNN - номер процесса для остановки.

upd. Для windows 2003 server встретилась ситуация, когда при установке обновлений индикатор прогресса останавливается насовсем, при этом в процессах присутствует WmiPrvSE.exe (кушает от 25 и выше % процессорного времени).  В этом случае убивать сервис автоматического обновления не надо.
Необходимо удалить процесс WmiPrvSE.exe, и установка обновлений продолжится дальше. 

четверг, 9 июля 2015 г.

1С и 1С++: пометка на удаление документов определенного вида до определенной даты

Необходимо: Пометить 200 тыс. документов вида "кпкЗадание" на удаление. Документ не принадлежит ни к одной из компонент.

Решение:
Все документы 1С хранятся в таблице _1SJourn. Для пометки документа на удаление необходимо модифицировать следующие поля (очистить признак проведения и установить флаг пометки на удаление):

F=CLOSED                |Flag document is clo    |Y   |0     |0
F=ISMARK                |Doc is Marked for De    |L   |0     |0
  
CLOSED - Флаг проведения документа. Для каждого набора компонент свое значение (аналогично полю APPCODE). Значение последнего бита отвечает за флаг проведения документа. Тип - Число(1). 
ISMARK - Флаг пометки на удаление. 0 - не помечен, 1 - помечен. Тип - Число(1,0) (бинарное значение).
 
Источники:
http://www.skalnyy.com/1c-sql-bystroe-udalenie-dokumentov/ 
http://www.script-coding.com/Direct_queries.html#3.
http://www.script-coding.com/v77tables.html#1.2.4.

Текст модуля:

выбДата = Формат(ДобавитьМесяц(РабочаяДата(), -6), "ДГГГГММДД");
ТекстЗапроса = "
    |UPDATE
    |    _1sjourn
    |SET
    |    ismark = 1, closed = 0
    |WHERE
    |    (Date_Time_IDDOC<'"+выбДата+"')

    |AND
    |    IDDocDef=$ВидДокумента.кпкЗадание
    |";
Query = СоздатьОбъект("ODBCRecordSet");  
Возвр = Query.Выполнить(ТекстЗапроса);
Если Возвр = 0 Тогда
    глКомментарий(Query.GetLastError(),0,,"!");
КонецЕсли;
Query.Закрыть();

понедельник, 6 июля 2015 г.

1С++ и 1С 7.7: выборка документов за определенный период

В примере - выборка документов вида "Маршрут доставки" до определенной даты (6 мес.):


выбДата = Формат(ДобавитьМесяц(РабочаяДата(), -6), "ДГГГГММДД");

//
ТекстЗапроса = "
|SELECT
|    Док.IDDOC AS [МаршрутДоставки $Документ.МаршрутДоставки]
|FROM
|    $Документ.МаршрутДоставки AS Док (NOLOCK)
|INNER JOIN
|    _1SJourn AS Журнал ON (Док.IDDOC = Журнал.IDDOC)
|WHERE
|    Журнал.DATE_TIME_IDDOC < '" + выбДата + "'
|";
   
рс = СоздатьОбъект("ODBCRecordset");
тз = рс.ВыполнитьИнструкцию(ТекстЗапроса);
   
Сообщить(тз.КоличествоСтрок());


P.S. Для таких простых прямых запросов выигрыша в скорости по сравнению со стандартными методами 1С практически нет.

* Полная документация по прямым запросам здесь: http://www.script-coding.com/Direct_queries.html

пятница, 3 июля 2015 г.

Заполнение шаблонов Excel из 1С

Требуется: Заполнить готовую книгу Excel с кучей формул и форматированием из 1С.

Решение: Просматриваем из 1С все листы, и в ячейки с примечаниями (комментариями)  записываем результат формулы, указанные в этих же ячейках.

Т.е. нашли ячейку с примечанием - прочитали в ней выражение, вычислили с помощью 1С, и записали обратно в ячейку.


Перебор ячеек с примечаниями - только чтобы ускорить просмотр книги, не перебирать все ячейки в ней.

Идея: http://infostart.ru/public/16466/

Текст примера под катом, функция ЗначениеПоказателя() и переменная ФайлШаблона - в фрагменте не описаны.

четверг, 18 июня 2015 г.

Firefox: проблемы с видео (проблема с flash)

Проблема: Mozilla FireFox 38, при проигрывании видео с YouTube черный экран, звук есть

Решение:
Рекомендации отсюда и отсюда результата не принесли.
(проверка на вирусы, новый профиль, удаление плагинов, сброс браузера, переустановка adobe flash player)

Помогла установка дополнения HTML5 PlayerYouTube™ - появился переключатель

P.S. Судя по количеству плагинов со словами "Youtube" и "HTML5" - проблема  встречается у многих.

Коротко о плагине:

среда, 17 июня 2015 г.

1Cv7.7: получение строки соединения с SQL-сервером из файла .dba

Дано: База 1С 7.7 крутится на SQL, необходимо из самой 1С получить имя сервера, чтобы не спрашивать пользователя/заподить константы и т.п.

Решение: дешифровать файл .DBA, в нём хранится как имя сервера и рабочей базы, так и логин-пароль пользователя, под которым подключается 1С.

Под катом 3 ссылки, все утащено на память из указанных источников. В работе используется первый, как самый компактный, хотя и требующий 1С++

FAQ по администрированию 1С и MS SQL Server





Постоянно теряется, поэтому утаскиваю на память. Пригодится.
(http://myscrapbook.narod.ru/sb/Archive/data/20090515074631/index.html если и отсюда уйдет - искать по названию статьи)
 
2. Что такое QA?
3. Что такое BOL?
4. Какие особенности 1С при доступе к MS SQL Server 2000?
5. Как установить или конвертировать конфигурацию с dbf версии в SQL версию базы данных?
6. Как изменить тип авторизации доступа к SQL Server?
7. Как создать базу для 1С на SQL Server?
8. Как поменять владельца базы SQL?
9. Как переиндексировать базу на MS SQL Server?
10. Как проверить (восстановить) базу на MS SQL Server средствами сервера
11. Как упаковать (зашринковать) базу на MS SQL Server?
12. Как упаковать (дефрагментировать) индексы базы на MS SQL Server?
13. Как уменьшить рост журнала транзакций базы на MS SQL Server?
14. Как скопировать базу 1С, работающую с базой БД в формате MS SQL Server?
15. Как изменить место размещения файлов базы tempdb MS SQL Server?
16. Как узнать логин и пароль подключения 1С к MS SQL Server?
17. Как узнать размер таблиц в базе данных MS SQL Server
18. При старте 1С, или при попытке открытия конфигурации выдается сообщение "SQL State: 24000 Native: 0 Message: [Microsoft] [ODBC SQL Server Driver] Invalid cursor state"
19. При попытке монопольно войти в 1С или при записи конфигурации выдается сообщние "База данных не может быть открыта в однопользовательском режиме"
20. Как узнать какой сервис-пак установлен на SQL Server 2000 или SQL Server 2005
21. Как решить проблемы с памьятью. 1 - Windows Server не видит больше 4 GB ОЗУ, 2 SQL Server не может использовать больше 2 GB.
22. Медленно работает 1С по сети с базой на SQL Server
23. После установки на SQL Server 2000 Service Pack 4 SQL стал медленне работать и меньше загружать память
24. После установки на SQL Server 2000 проведение документов замедлилось
25. Не могу подключиться к SQL серверу
26. По каким то причина SQL Server очень медленно работает
27. При попытке подключения к SQL2005 выдается сообщение "Требуется ms sql server версии 6.5 + service pack 5a или более старшая версия"
28. Как подключиться к SQL2005 по IP адресу а не по имени сервера
29. Как получить имя пользователя, который занимает много процессорного времени SQL-Server
30. Как сделать чтобы 1С подключался к SQL не под одним логином (SQL аутентификация), а под логинами Windows (Windows аутотентификация)
31. Работа 1С v77 под Vista и MS SQL 2005
32. При подключении 1С возникате ошибка "SQL State 42000. Native 7202. ... SQL Server Could not find serve 'ServerName' ..."
33. Как создать дополнительные индексы для таблиц
34. Резервная копия базы SQL и MD-файла
35. Как разрешить в SQL Server 2005 использование xp_cmdshell
36. Если вы не нашли желаемого ответа

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

Узнать размеры таблиц 1С в базе MS SQL

Дано: База 1С SQL, надо разобраться, отчего она растет, как на дрожжах.
Поскольку это 1С - имеются сотни таблиц, перебирать которые вручную никакого желания нет.
 
Решение 1.
http://blog.imageofyou.ru/2011/11/09/all-tables-size/ 
Понадобилось мне тут давеча оценить размер таблиц в базе данных одного из наших клиентов. Еще со времен SQL Server 2000 я знаю про процедуру sp_spaceused, но она хороша только для случая, когда нужен размер лишь одного объекта – конкретной таблицы или же всей БД целиком. А для того, чтобы посмотреть размер каждого объекта (например, для того, чтобы найти аномально большие таблицы) приходилось извращаться с курсором и сохранением результата выполнения процедуры во временной таблице. Не самый изящный способ.
С появлением в SQL Server 2005 data management views эту задачу стало возможно решить с помощью всего одного запроса (без курсоров, временных таблиц и прочей “экзотики”).

 
select  t.name as TableName, Min(t.create_date) as CreateDate, ds.name as FileGroupName, SUM(u.total_pages) * 8 / 1024 as SizeMB 
from sys.tables as t
inner join sys.partitions as p on t.object_id = p.object_id
inner join sys.allocation_units as u on p.partition_id = u.container_id
inner join sys.data_spaces as ds on u.data_space_id = ds.data_space_id
group by t.name, ds.name
order by SizeMB desc
 

Решение 2
http://mainview.ru/raznoe/sql-mysql/kak-najti-samye-bolshie-tablicy-v-baze-dannyx-ms-sql 

USE [DatabaseName]
GO
CREATE TABLE #temp (
table_name sysname ,
row_count INT,
reserved_size VARCHAR(50),
data_size VARCHAR(50),
index_size VARCHAR(50),
unused_size VARCHAR(50))
SET NOCOUNT ON
INSERT #temp
EXEC sp_msforeachtable 'sp_spaceused ''?'''
SELECT a.table_name,
a.row_count,
COUNT(*) AS col_count,
a.data_size
FROM #temp a
INNER JOIN information_schema.columns b
ON a.table_name collate database_default
= b.table_name collate database_default
GROUP BY a.table_name, a.row_count, a.data_size
ORDER BY CAST(REPLACE(a.data_size, ' KB', '') AS integer) DESC
DROP TABLE #temp
 
Альтернативные варианты: искать обработки с инфостарта, писать самому, получить демонстрационный доступ на сервисе gilev.ru

понедельник, 8 июня 2015 г.

Решение проблемы с громкостью на Android для Skype и Viber

Проблема: На китайском устройстве Magic W800, в Viber и Skype очень тихий звук как в микрофоне, так и в динамиках - на максимальной громкости абонента еле-еле слышно, а меня не слышно вообще.  В обычном приложении телефона и всех мультимедиа-программах никаких проблем со звуком нет.

Причина: Необходимо настроить уровни чувствительности микрофона через инженерное меню.


Решение:
Здесь Настройка громкости с помощью инженерного меню на Android
и здесь Увеличение громкости аппарата выше максимальных порогов.

Вызов инженерноего меню:
смарты на базе проц. МТК     *#*#54298#*#* или *#*#3646633#*#*
Samsung     *#*#197328640#*#* или *#*#4636#*#* или *#*#8255#*#*
HTC     *#*#3424#*#* или *#*#4636#*#* или *#*#8255#*#*
Huawei     *#*#2846579#*#* или *#*#14789632#*#*
Sony     *#*#7378423#*#* или *#*#3646633#*#* или *#*#3649547#*#*
Fly, Alcatel, Philips     *#*#3646633#*#*
Prestigio     *#*#3646633#*#*
ZTE     *#*#4636#*#*
Philips     *#*#3338613#*#* или *#*#13411#*#*
TEXET     *#*#3646633#*#*
Acer     *#*#2237332846633#*#*


Альтернатива: утилита Mobile Uncle Tools из маркета

Разделы в меню Audio:
— Normal Mode (раздел настроек в нормальном или обычном режиме) – такой режим активный, когда к смартфону ничего не подключено;
— Headset Mode (режим гарнитуры) – такой режим активируется после подключения наушников или внешних колонок;
— LoudSpeaker Mode (режим громкоговорителя) – он активируется, когда к смарту ничего не подключено, и Вы включаете громкую связь во время разговора по телефону;
— Headset_LoudSpeaker Mode (режим громкоговорителя при подключенной гарнитуре) – такой режим активируется, когда к смарту подключить наушники или внешние колонки, и Вы включаете громкую связь во время разговора по телефону;
— Speech Enhancement (режим разговоров по телефону) – такой режим активируется в обычном режиме разговоров по телефону, причем к нему ни чего не подключено (гарнитура, внешние колонки) и не включена громкая связь.


Под катом копия статьи:

среда, 3 июня 2015 г.

MD Office: Как перенести базу на другой ПК / Как сохранить базу при переустановке Windows

Вариант 1.

Вручную создать копию БД можно следующим способом:
  1. Открыть программу для создания резервных копий BackUpDeclaration, которая находится в папке ...\MasterD\MD-Declaration\BackUpDeclaration.exe. 
  2. Открыть вкладку "Создание архива".
  3. Указать папку, в которую будет произведено резервное копирование.
  4. Указать, что создается "резервная копию базы данных", и нажать кнопку "Поместить в архив" .
  5. Дождаться окончания процесса создания резервной копии базы деклараций. 

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

У меня вариант 1 не сработал! Долго шли сообщения от FireBird о выполнении сохранения, однако файл в результируещей папке не создавался (права пользователя были проверены-перепроверены несколько раз).

Вариант 2.
Работает метод отсюда: http://www.mdoffice.com.ua/ruser/help/md03_001.htm

Сохраняем файлы данных
Перед копированием - отключаем службы FireBird !!!

1. База ГТД и документов (эл.копии которых "привязывались" в 44 графу ГТД) - файлы Declaration.gdb и DECLDOCUMENT.GDB, которые по умолчанию находятся в папке C:\ProgramFiles\MasterD\MD-Declaration\Base
Для корректного запуска программы после переноса её на другой ПК необходимо сохранить всю папку MD-Declaration.
2. База писем до 100 евро, международным экспресс отправлениям и данные по ведению складов СВХ (ТЛС) - файл MDExplorer.fdb, по умолчанию находится в папке C:\Program Files\MasterD\local\db
3. База программы MD Form - файл MDPRINT.GDB, по умолчанию находится в папке C:\Program Files\MasterD\MDForm\DB
4. Базу данных программы Info (нормативные документы) ( C:\Program Files\MasterD\MDInfo\DB\Masterd.gdb ) сохранять не обязательно, она практически не содержит пользовательских данных, только список избранных документов и пользовательские подборки.

После установки программы на новый ПК
До регистрации программы копируем "старые" базы (MDExplorer.fdb, Declaration.gdb и DECLDOCUMENT.GDB) в соответствующие папки на новом ПК.
Обязательно отключаем службы FireBird перед заменой файлов.

После замены файлов, запускаем сервер FireBird, выполняем регистрацию и работаем.

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

DCPromo. Что внутри?

Копия статьи отсюда: https://fromreallife.wordpress.com/2012/04/30/dcpromo/

Чтобы добавить дополнительный контроллер домена для существующего домена, нужно использовать мастер DCPromo, о котором так небрежно говорят администраторы и о тайном знании всех параметров которого мечтают все специалисты техподдержки. Что же происходит во время этого процесса? В интернете конечно, имеется огромное количество статей-комиксов с картинками, «как поднять DC с нуля», поэтому мы сосредоточимся на самом главном — деталях установки. Итак, начнем.