четверг, 28 июля 2016 г.

PostgreSQL для 1С. Мощный пост

- При установке нужно изменить кодировку на UTF8 (и сервер и клиент).
- Перенос баз PostgreSQL на другой диск Windows
1. Останавливаем сервис postgresql.
Пуск — Выполнить, вводим services.msc и жмём Enter... Находим PostgreSQL Database Server, кликаем правой кнопкой мыши, и нажимаем Остановить.
2. Переносим базы.
Выбираем диск, на который необходимо перенести базы. Например диск E. На этом диске создаём папку PostgreSQL\data. В эту папку копируем содержимое  папки, которая создалась по умолчанию при установке PostgreSQL — C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\data.
3. Меняем путь к базам в реестре Windows.
Пуск — Выполнить, вводим regedit и жмём Enter.
В редакторе реестра переходим к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-9.1.2-1.1C и открываем для изменения строковой параметр  ImagePath.  В нем меняем путь к базам.
Старый путь обычно выглядит так — «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\bin\pg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\data\»
Параметр -D указывает на директорию где хранятся наши базы, поэтому меняем ее на — «E:\PostgreSQL\data\»
То есть полная строка будет выглядеть примерно так — «C:\Program Files (x86)\PostgreSQL\9.1.2-1.1C\bin\pg_ctl.exe» runservice -w -N «pgsql-9.1.2-1.1C» -D «E:\PostgreSQL\data\»
- С предприятием 8.2 "стандартные" версии от 1С работают только до 9.1.9 включительно.
- При использовании 8.2 и Postgre 9.1.9 файл \data\postgresql.conf уже имет правильные настройки.
Если возникает ругань "syntax error at or near "SECOND" at character 227", а при попытке повторного создания "DATABASE не пригоден для использования" то в postgresql.conf нужно заменить соответствующие строки на
escape_string_warning = off
standart_conforming_strings = off
и вероятно (по некоторым источникам) снять коментарий с
backslash_quote = safe_encoding

четверг, 26 мая 2016 г.

вторник, 24 мая 2016 г.

Срез последних регистра сведений на каждую дату (для СКД)


На основе данного кода можно сразу создавать отчет в УТ 10.3 (к примеру ПродажиНижеВыбраннойЦены) !!

ВЫБРАТЬ
Продажи.ДокументПродажи КАК ДокументПродажи,
Продажи.Период,
Продажи.Контрагент,
Продажи.Номенклатура,
Продажи.КоличествоОборот КАК Количество,
Продажи.СтоимостьОборот КАК Стоимость,
ЕСТЬNULL(ВЫБОР
КОГДА Продажи.КоличествоОборот > 0
ТОГДА Продажи.СтоимостьОборот / Продажи.КоличествоОборот
ИНАЧЕ 0
КОНЕЦ, 0) КАК ЦенаДок,
ЦеныНоменклатуры.Цена
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, День, ) КАК Продажи
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ПО Продажи.Номенклатура = ЦеныНоменклатуры.Номенклатура
И (ЦеныНоменклатуры.ТипЦен = &ТипЦен)
И (ЦеныНоменклатуры.Период В
(ВЫБРАТЬ
МАКСИМУМ(Цены.Период)
ИЗ
РегистрСведений.ЦеныНоменклатуры КАК Цены
ГДЕ
Цены.Период <= Продажи.Период
И Цены.Номенклатура = Продажи.Номенклатура
И Цены.ТипЦен = &ТипЦен))
ГДЕ
Продажи.Номенклатура.Услуга = ЛОЖЬ

УПОРЯДОЧИТЬ ПО
ДокументПродажи

ЕСТЬNULL и Если (ВЫБОР...КОНЕЦ) в запросах 1С

Функция языка запросов ЕСТЬNULL имеет два параметра- первый (выражение любого типа) и 
второй (выражение любого типа).
 Функция предназначена для замены (и возврата) значения первого параметра (если он содержит NULL) на значение второго параметра (второй параметр будет преобразован к типу первого в том случае, если тип первого параметра является строкой или числом).
Если первый параметр не содержит значение NULL- возвращается он.

ЕСТЬNULL (ВыражениеЛюбогоТипа, Результат Если ВыражениеЛюбогоТипа=NULL)
Пример:

ЕСТЬNULL(ПеремещениеТоваровТовары.ЕдиницаИзмеренияПартий.Коэффициент, 1)

Является свернутым ВЫБОР…КОНЕЦ (но для исключения null предпочтительнее)

ВЫБОР 
 КОГДА ВыражениеЛюбогоТипа ЕСТЬ NULL <Условие с результатом типа Булево>
 ТОГДА РезультатЕслиВыражениеЛюбогоТипа=NULL  <Результат в случае если Истина> ИНАЧЕ ВыражениеЛюбогоТипа <Результат в случае если Ложь>
КОНЕЦ 

ВЫБОР КОГДА 
  ТОГДА 
  ИНАЧЕ 
КОНЕЦ

четверг, 12 мая 2016 г.

Первоначальная подготовка ubuntu-14.04.4-desktop-amd64+mac и последующая установка на нее клиентской 1С

Остановка графической оболочки (в Ctrl+Alt+F[1-6])
sudo service lighted stop
вызов программы
gnome-session-properties
Включение показа всех автоматически запускаемых программ:
sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
sed -i 's/NoDisplay=true/NoDisplay=false/g' ~/.config/autostart/*.desktop

VDS хостинг (разрешают загрузить со своего ISO)
Десктопная Ubuntu, а тут есть образ ubuntu-14.04.4-desktop-i386.iso (должен использовать меньше ресурсов)
Выход в терминал из Unity- Ctrl+Alt+T (выход в консоли- от Ctrl+Alt+F1 доCtrl+Alt+F6)
Возврат в GUI Ctrl+Alt+F7
Удаление LibreOffice из Ubuntu:
sudo apt-get remove --purge libreoffice*
sudo apt-get clean
sudo apt-get auto remove

Запуск программы в GUI под root
sudo mc а дальше выбираем программу

Руссификация из GUI (заминки):
1. На вкладке «Язык» в поле «Язык для меню и окон» пертащите в самый верх: русский (Российская Федерация)
2. В меню клавиатура нужно добавить источники- английский и русский (иначе будет только английский)

Диспетчер ресурсов Ubuntu (обычно надо ставить)
htop


Свободное место на Ubuntu:
df -h
И собственно RTFM

Дополнительные пакеты (зависимости )

sudo apt-get install imagemagick
sudo apt-get install libwebkitgtk-1.0-0
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer

Нужно три пакета сервера (common, server, ws) и один клиента
Отключение автоматической загрузки службы сервера
sudo update-rc.d -f srv1cv83 remove

Если не установлен Apache
sudo apt-get install apache2

Если нужен HASP то как в "желтой книге":
На момент написания (май 2016) на http://www.safenet-sentinel.ru/helpdesk/download-space/#tabs-1 лежит архив zip. В нем нужно найти ***.tar.gz (наименование также иное чем в примере).
Распаковать архив, воспользовавшись следующей командой:
tar xzf HASP_SRM_LINUX_3.50_Run-time_Installer_script.tar.gz
Перейти в каталог с распакованным драйвером:
cd HASP_SRM_LINUX_3.50_Run-time_Installer_script
Установить драйвер (точка после пробела в конце приведенной командной строки является обязательной):
./dinst .
СОВЕТ. Рекомендуется сначала произвести установку HASP Device Driver, а затем присоединить ключ к USB-порту.

ВНИМАНИЕ! Отсоединение аппаратного ключа защиты от USB-порта во время работы не допускается!
     Для удаления драйвера ключа следует перейти в каталог с распакованным драйвером и
     выполнить там команду:
./dunst

среда, 13 апреля 2016 г.

Есть правила выгрузки, но нет регистрации изменений в плане обмена

Главное. 

Планы обмена - это общие объекты конфигурации. Они используются для реализации механизмов обмена данными.
Объекты конфигурации!
И сообщение из заголовка в моем случае (измененной УТ 10.3) означает, что добавленные мной метаданные, в данном плане обмена (Полный т.к. я делал РИБ), а равно и в остальных, не выбраны в его составе!