Архив рубрики: Работа с конфигуратором

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

Использование драйвера MySQL ODBC

Для обращения из 1С к базе данных сайта, использующего MySQL, необходимо на компьютере установить драйвер ODBC, 32-разрядную версию. Здесь приведены примеры кода для версии драйвера 5.1 (ссылка на драйвер).

Для инициализации объекта драйвера используется строка, в которой указаны параметры подключения – адрес сервера, имя и пароль для авторизации, имя базы данных и прочее. При работе из 1С 7.7 важный параметр этой строки CharSet – кодировка текста, с которой работает база данных сайта, если параметр не указан, весь текст будет передаваться в кодировке Windows-1251. Ниже пример функции для инициализации драйвера (здесь и далее код для 1С 7.7):

Читать далее

Имя принтера в табличном документе

В 1С восьмой версии, при формировании табличного документа, есть возможность программно указать имя принтера, на который будет отправлено задание для печати. Это удобно для случаев печати на специальные принтеры, например печать чека на чековый принтер, печать чеков на разные принтеры – на склад или на кухню, печать на принтер этикеток. Такое программное указание принтера не переопределяет принтер, используемый по умолчанию и если пользователь потом печатает отчет или другой документ, то печать отправляется на обычно используемый принтер.

Читать далее

Не работает горячая клавиша

В 1С версии 7.7, при назначении горячей клавиши кнопке на форме, иногда никаких явных ошибок в настройках нет и все вроде бы должно работать, но клавиша или сочетание клавиш не работает. Если так случилось, нужно открыть конструктор формы в конфигураторе и через меню Диалог – Настройка порядка обхода – поднять элемент на верх списка.

Назначение горячей клавиши элементу диалога
Читать далее

Расчет алиментов

В последней версии конфигурации “Бухгалтерский учет для Украины” 1.2.48.1 для получения в расчете суммы уже рассчитанного НДФЛ пришлось немного сложнее поправить запрос – нужно убрать инструкцию ИНДЕКСИРОВАТЬ. Полный текст запроса ниже, полное описание правок тут: ссылка.

Читать далее

Пример функции для вычисления MD5 hash

Вычисление хеша понадобилось для обработки обслуживания кассового аппарата. Функция возвращает MD5 хеш переданной ей строки. Используется MSScriptControl, по этому будет работать только на Windows-платформах.

Читать далее

Ошибка обмена: конфигурация не соответствует ожидаемой

Возможно, это связано с какими-то особенностями новых версий платформ, но вот на версии 8.3.12 столкнулся с ошибкой в распределенной базе – при обмене загрузка данных в периферийную базу проходит без проблем, а центральная база при получении данных от периферийной сообщает: “Конфигурация не соответствует ожидаемой”.

Манипуляции с файлом конфигурации на периферийной базе проблему не решили. В сети нашел варианты с подменой или редактированием поля Digest непосредственно в файле XML, но это обычно помогает для одной загрузки, а при следующем обмене ошибка повторяется.

Читать далее

REST сервис для 1С 7.7

Обычно все современные приложения, так или иначе, способны общаться с внешним миром, а особо продвинутые могут общаться через веб-технологии. Как оказалось, даже такую, устаревшую по современным меркам платформу, как 1С:Предприятие 7.7 возможно научить работать с полноценными Http запросами. Здесь я приведу пример внедрения максимально простого варианта REST сервиса для того чтобы понять сам принцип его запуска и работы. В целом система состоит из следующих компонент:

  • сервер приложений Apache-Tomcat, он принимает http запрос и запускает сервлет
  • сервлет, написанный на Java, который при получении http запроса запускает 1С через COM-объект, получает выборку данных, форматирует ответ в формате JSON и отправляет назад
  • Java-библиотека для обращения сервлета к 1С – Jawin
  • 1С:Предприятие 7.7, в конфигурацию необходимо внести дополнения – функции, через которые сервлет будет получать данные и выполнять нужные операции

Постараюсь описать по шагам, как заставить всё это работать вместе.

Читать далее

Подключение MG-T707TS к 1С 7.7

Отличительной особенностью кассового аппарата MG-T707TS является его способность работать без использования специального OLE драйвера, как это обычно делается в 1С. Вместо драйвера можно использовать протокол Http – внутри кассового аппарата работает Web-сервер, к которому можно обращаться через локальную сеть с помощью Get и Post запросов. В 1С версий 8.х можно все операции провести встроенными средствами, а вот в “семерке” встроенных средств не хватает, но это легко обходится компонентами, доступными в Windows-среде.

Читать далее

Отправка PUSH сообщений

Это заметка о том, как отправить PUSH сообщение из 1С на Андроид-устойство с использованием сервиса Firebase Cloud Messaging.

  • если нужно отправить сообщение на определенное устройство, понадобится его токен – он формируется сервисом FirebaseMessagingService, его нужно прочитать в приложении и передать на сервер для последующего использования
  • понадобится ключ API приложения, его можно найти в параметрах проекта в Firebase Console, на вкладке Cloud Messaging
  • используя токен и ключ нужно составить и отправить на сервер службы сообщений POST-запрос.
Читать далее

Расчет алиментов

В типовой конфигурации “Бухгалтерия для Украины” есть возможность настроить автоматический расчет и удержание алиментов. Если способ расчета указан “Процентом”, то в качестве базы для расчета берется начисленный доход, в то время как правильным было-бы облагать процентом фактический доход, т.е. начисленный минус удержания. Что нужно сделать:

  1. В общем модуле ПроведениеРасчетов в процедуре РассчитатьЗаписиРегистраРасчета, перед вызовом функции получения исходных данных для расчета ПолучитьДанныеДляРасчета, добавить в структуру НеобходимыеДанные параметр ИсчисленныйНДФЛ. НеобходимыеДанные.Вставить(“ИсчисленныйНДФЛ”,Истина);
  2. В теле функции ПолучитьДанныеДляРасчета пришлось исправить текст запроса ИсчисленныйНДФЛТекст, в нем просто все обращения к реквизиту ФизЛицо нужно заменить на Сотрудник.
  3. В процедуре РасчитатьЗаписьРегистраРасчета, в структуре ИсходныеДанные теперь будет доступна сумма рассчитанного НДФЛ с военным сбором, а в Переменной ВидРасчета есть признак того, что наш расчет является именно алиментами – ВидРасчета.ЭтоАлименты. Остается только вычесть из базы начисленные налоги перед применением процента.