Целое число в запросе

Для округления чисел в запросе необходимо применять функцию ВЫРАЗИТЬ, для отсечения дробной части придется использовать конструкцию ВЫБОР.

Пример округления до целого:

ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))

Пример получения целой части (отсечение дробной):

ВЫБОР
КОГДА (ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))) > ЦеныМагазина.Цена
ТОГДА (ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))) - 1
ИНАЧЕ ВЫРАЗИТЬ(ЦеныМагазина.Цена КАК ЧИСЛО(12, 0))
КОНЕЦ

Конфигурация не соответсвует ожидаемой. Опять

Кроме решения, о котором я писал раньше появилось одно уточнение. Подобная ошибка может появиться в случае использования разных версий платформы на узлах распределенной базы. В моем случае на центральной базе была версия 8.3.4, а периферийную базу обновили до 8.3.6. Решается без каких-либо манипуляций простым обновлением баз до одинаковой версии.

ExellioFP ошибка выполнения команды

Объект: ExellioFP.FiscalPrinter
Оборудование (фискальный регистратор): Екселлио FPU-550

Столкнулся с проблемой при выполнении команды из 1С через ОЛЕ-сервер Exellio FP — тестирование проходит номально, фискальный регистратор отвечает на команды, связь есть, но при попытке выполнить команду, связанную с регистрацией продажи или выполнением отчета, получаю ошибку №7: выполнение операции запрещено для текущего фискального режима. Как оказалось, ошибка была в параметре «Пароль кассира», передаваемом в команде, было числовое значение, а нужно передавать строку. Т.е. 1С передавала пароль «0000» числом и получалось, что регистратор получал «0», а если передать строку с четырьмя нулями, то регистратор, как и ожидает, получит «0000» и ошибка не возникает. Собственно, в документации четко указано — параметр строковый, но кто-ж её читает.

Конфигурация не соответствует ожидаемой

Если во время обмена между распределенными базами на периферийной базе возникает ошибка «Конфигурация не соответствует ожидаемой» и обмен не загружается, нужно выполнить следующие действия:

  • Сделать выгрузку конфигурации на центральной базе, это та конфигурация, которую ожидает периферийная база и которую нужно будет туда загрузить.
  • На периферийной базе — отключить от главного узла обмена. Это возможно программно, для этого нужно написать обработку с одной командой: ПланыОбмена.УстановитьГлавныйУзел(Неопределено);
  • Конфигурацию периферийной базы нужно снять с поддержки, если это включено, затем объединить с конфигурацией из центральной базы, а затем выполнить загрузку конфигурации из этого-же файла. Я делаю так для того чтобы перенести признак поддержки.
  • Вернуть привязку к главному узлу обмена. Это снова можно сделать программно, только теперь нужно будет указать узел, который будет назначен главным: ПланыОбмена.УстановитьГлавныйУзел(ТекущийУзел); В переменную ТекущийУзел нужно передать элемент из плана обмена, его можно сделать полем выбора в форме обработки.
  •  

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

    Экспорт документа в М.Е.Док

    В файловый архив добавлена внешняя обработка для типовой конфигурации «Бухучет для Украины», для платформы 7.7, с помощью которой можно сформировать xml-файл счета или расходной накладной для последующей его загрузки в программу M.E.Doc. Можно использовать обработку как заготовку и переписать под любой доступный в «Медке» шаблон. Главное — точно вписать код шаблона, то что в файле указано в разделе HEADER, ну и точно прописать идентификаторы полей. Все эти данные доступны в самом «Медке» в разделе «Реестр первичных документов» — «Настройка шаблонов». Кстати, приведенная на официальном сайте инструкция по формату экспорта во-первых, имеет неточности, во-вторых, описывает старую форму счета, 1996-го года, тогда как в наборе шаблонов есть формы, копирующие вид счетов из 1С версий 7.7 и 8.2. В моей обработке прописаны шаблоны 1С 7.7.

    Обработка выгрузки документов в М.Е.Док

    Обработка выгрузки документов в М.Е.Док


    Читать далее

    Прошивка OpenWRT для роутера TP-link TL-MR3220

    Эта статья — логическое продолжение первой, в которой речь шла о настройке роутера TL-MR3220 с прошивкой OpenWRT. С тех пор прошивка изменилась и когда я попытался проделать те же операции с её новой версией, ничего не получилось. Причина проста — для всего набора пакетов недостаточно места в памяти роутера. По этому пришлось собрать прошивку самому. Описывать весь процесс подробно нет смысла, в сети очень много примеров и описаний с картинками, всё очень хорошо расписано, остановлюсь только на тех моментах, о которые пришлось споткнуться. Ссылка на готовую прошивку в конце статьи. Читать далее

    Ошибка STOP 0x0000007E после замены материнской платы

    После замены материнской платы на компьютере с установленой Windows XP она перестала запускаться, прерываясь синим экраном с ошибкой 0х000007Е. При этом в безопасном режиме загрузка выполняется нормально. Очевидная проблема в этом случае — изменившийся чипсет, был Intel, установили AMD. И, как правило, в таком случае я рекомендую полностью переустановить систему. Но вот решение для ленивых (т.е. для программистов, админы пошли переустанавливать винду):

    В безопасном режиме зайти в редактор реестра, найти раздел:
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\intelppm
    В этом разделе значение ключа Start нужно изменить на 4.

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

    Копирование таблицы в MS SQL

    Для того чтобы скопировать таблицу из одной базы данных в другую можно воспользоваться простым sql-запросом, вот пример:

    SQL запрос

    SQL запрос


    Здесь из базы с именем torgcopy в базу torg копируется таблица _Reference649. Особенность выполнения инструкции INTO в том, что копирование производится только в новую таблицу. В моем случае в базе torg уже была таблица с таким именем, по этому в запросе я копировал в таблицу с именем _Reference649new. Если нужно заменить таблицу её копией, можно просто переименовать таблицы после копирования.

    Apache для Windows

    Может быть я не умею искать, но ни на официальном сайте, ни на его многочисленных зеркалах у меня не получилось найти установочный пакет для Windows чтобы получить работающий веб-сервер Apache. То что нашлось — набор исполняемых файлов httpd-2.4.16-x86.zip. Как оказалось, можно легко обойтись без установщика и сделать настройки вручную. Распаковать содержимое архива в отдельный каталог, установить сервис, исполняемый файл в каталоге bin:

    httpd -k install

    поправить в файле конфигурации путь — указать каталог в который распакован набор, например я рапаковал в папку httpd в корне диска C:, параметр в файле conf/httpd.conf выглядит так:

    Define SRVROOT «/httpd»

    после этого можно запускать сервис. Вот всё.