Столкнулся с интересной задачей реализации генерации QR-кода в 1С 8.2 ( QR-код — матричный код (двухмерный штрихкод) ) Для генерации было использовано api от google (http://chart.apis.google.com/chart). Вот сайт, который работает с ним. После того, как вы вводите все параметры кода и нажимаете кнопку генерировать, получаем что-то вроде такой ссылки. По сути эта ссылка нам и нужна. Создав необходимый url можно скачать картинку, которая генерируется с помощью api.
И так в чем заключается подход:
1. Генерируем текст, который надо прописать в qr-коде.
2. Используя ссылку «http://chart.apis.google.com/chart?cht=qr&chs=230?230&chl=» +»Наш текст» скачиваем картинку.
3. Размещаем картинку в нашем табличном документе.
Код реализации:
С задачей получения среза последних на каждую дату рано или поздно сталкиваются все. Безусловно, это задача достаточно просто решается запросом с соединением по максимальной дате из меньших или равных дат. Но эту же задачу можно решить и с помощью компоновки данных. Не будем рассуждать о том, какой из способов более производителен, все может зависеть от конкретной задачи.
Первый набор данных:
В качестве примера, создадим отчет по продажам, в котором отдельной колонкой будем выводить цену из прайса на дату продажи.
Создадим набор данных-запрос «ПродажиОбороты»:
Рис. 1 Вкладка ресурсы набора данных ПродажиОбороты
Рис. 2 Настройки отчета
Сейчас наш отчет будет иметь следующий вид:
Рис. 3 Формирование отчета с одним набором данных
Теперь необходимо добавить в отчет колонку «Цена по прайсу», которая будет подтягиваться из регистра сведений «Цены номенклатуры» на дату продажи.
Второй набор данных:
Добавим второй набор данных-запрос «Цены», цены будем брать для фиксированного типа цен:
В данном наборе данных три параметра: Дата, Номенклатура и тип цен. Из низ самые интересные Дата и Номенклатура. Они будут использованы при соединении наборов данных, причем параметр данных присутствует как в параметрах виртуальной таблицы, так и в выбранных полях.
Соединения наборов:
Приступим к основной «фишке» данного метода – соединениям наборов:
Рис. 4 Соединение наборов данных
Здесь самое основное правильно настроить параметры. Если указан параметр,то СКД передает в приемник связи параметры, указанные в соединении. Значениями этих параметров будут значения соответствующих полей источника связи.
Далее добавим поле цена в ресурсы и в выбранные поля.
Рис. 5 Вкладка ресурсы
Рис. 6 Выбранные поля
Результат:
Теперь можно формировать отчет. Проверим правильность работы отчета на примере «Дивана для отдыха».
Столкнулся с задачей отправки sms из 1С. Спасибо Якову за напутствие в решении данной задачи и указание сервиса avisosms.ru.
На сайте сервиса предоставлена документация по работе с ним. В частности сервис предлагает следующие варианты работы:
* JSON протокол
* email2SMS протокол
* HTTP GET протокол
* Удаленный доступ к телефонной книге
* XML протокол
После проб и ошибок с протоколом email2sms (ну не любит мой провайдер через smtp слать письма на не очень красивые адреса относя их к спаму и блокируя) был выбран вариант решения с JSON протоколом. Для краткой демонстрации работы сервера приведена небольшая конфигурация. Конфигурация написана на 1С Предприятие 8.2 с поддержкой работы веб-клиента. Для работы конфигурации необходимо заполнить константы:
* ПользовательСМС – Ваш логин в систему;
* ПарольСМС – Ваш пароль в систему;
* ПодписьСМС – Ваш адрес отправителя, который был создан в личном кабинете.
Конфигурация позволяет:
* Отправлять смс контрагенту, номер которого записан в соответствующем реквизите (номер пишем в формате 380ХХХХХХХХХХ);
* Получать статусы отправленных смс.
Ниже приведу код формирования запроса на отправку смс
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было решено использовать геокодирование сервиса Google и Google Visualization для отображение элементов на карте.
Геокодирование – процесс преобразования адресов·(Украина, Киевская область, Киев, Крещатик 20) в географические координаты (широта 37.423021 и долгота -122.083739), которые можно использовать для размещения маркеров или расположения карты. Подробно про геокодирование можно почитать тут.
Важный момент: если у вас программа работает в локальной сети и в Internet, то вам необходимо регистрировать два ключа. В зависимости от того, с какого места подключается пользователь к базе подставлять тот или иной ключ.
И так, собственно программная реализация.
В конфигурации есть две общих формы:
* Форма подбора координат. Данная форма формирует запрос на геокодирование и обрабатывает результат.
* Форма отображения объектов. Данная форма использует API визуализации Google. В частности данная форма использует визуализацию Map.
Запрос и обработка результата геокодирования.
Формирование запроса происходит с ключом output=csv, для вывода результата запроса в csv файл. После выполнения запроса проверяется код результата запроса и разбор csv файла на широту и долготу.
Формирование карты отображения
При формировании отображения объекта на карте к стандартному коду визуализации добавлен следующий:
Это связано с тем, что платформа не хочет сразу обновлять фрейм поля html документа.
Столкнулся с вопросом печати счета на оплату сразу в pdf.
Решение: установка виртуального принтера bioPDF скачать можно тут. И прописывание в 1с следующего кода:
Как выяснилось во время печати в pdf есть проблема с передачей прозрачности картинки. Если вставлять прозрачную печать в счет поверх подписи, то в pdf-документе печать будет непрозрачной и затрет все собой. У меня был частный случай, когда печать находилась на одном и том же месте документа и за ней постоянно было одно и то же. Решением в данном случае стала генерация картинки печати с фоном, на котором она должна быть и вставка её в макет.
Обработка демонстрирует простейший пример работы с 2-мя текстовыми процессорами - OpenOffice.org Writer и Microsoft Office Word. Нужно запустить файл обработки, в качестве шаблона она будет использовать файл "Primer.doc", который находится в одном каталоге с обработкой: Скачивать файлы может только зарегистрированный пользователь!
Файл Шаблона - Primer.doc:
От: {Организация}
Кому: {Контрагент}
Ждем акт сверки взаиморасчетов!
Директор /{Директор}/
Необходимо заменить в шаблоне ключевые слова в скобках {}, на указанные значения, вот примерный код обработки:
Задача: Ноутбук с Windows 7 (Домашняя версия) должен работать с офисной ИБ 1С8. В офисе компьютеры объединены в домен, соответственно контроллер домена не пускает «чужой» компьютер к своим ресурсам.
Переустанавливать ОС крайне нежелательно, всевозможные попытки изменения настроек домена результатов не дали. Выход достаточно прост.
Для нормальной работы необходимо:
1. На контроллере домена создать VPN соединение;
2. На ноутбуке настроить подключение к этому VPN соединению;
3. На ноутбуке изменить файл маршрутизации к сетевому ключу 1С8.
После установки платформы 1С, до подключения VPN, при запуске программа выдает сообщение: «Ошибка при выполнении файловой операции …»
После подключения к сети через VPN при стандартном файле netstart.ini выдается сообщение: «Не обнаружен ключ защиты программы»
Для поиска ключа в сети необходимо изменить этот файл (он находится в папке “C:\Prorgam Files\1cv81\bin\conf”). Для его изменения нужно обладать правами администратора на ноутбуке.
Файл nethasp.ini должен содержать строки:
При этом HASP драйвер ноутбука напрямую через порт 475 обращается к компьютеру с установленным ключем. Компьютер с адресом 192.168.0.10 (где находится ключ 1С) должен иметь постоянный (статический) адрес в сети, иначе этот файл придется постоянно редактировать.
Лишние настройки в файле nethasp.ini сбивают нормальную работу программы. Все эти настройки также работают с ОС Vista.
Автор: daulberg
Функция осуществляет сортировку числового ряда (в массиве) от малого к большему http://ru.wikipedia.org/wiki/Сортировка_пузырьком методом "пузырька"[/url] Область применения достаточно широка.
Оптимальным решением является установка Bullzip PDF Printer . После установки в системе появляется виртуальный принтер, с помощью которого можно "печатать" в файл pdf из любого приложения. Программа бесплатная, работает в терминале и имеет поддержку русского языка.
После установки, можно печатать напрямую используя код:
Здесь функция ПолучитьПринтерПоУмолчанию() нужна для того чтобы вернуть печатной форме принтер по умолчанию, т.к. если напечатать без предварительного просмотра то печать пойдет на виртуальный PDF принтер BullzipPDFPrinter.
Для 1С 8 в настоящий момент используется 4 типа ключей:
- Однопользовательский. Это HASP HL Basic. Ключ синего цвета, не имеет внутренней памяти и персонального номера.
- Сетевой. HASP HL Net. Ключ красного цвета, имеет персональный номер и внутреннюю память в которой записано количество лицензий.
- Ключ на 32х битный сервер 1С:Предприятие. HASP HL Pro.У ключа есть маркировка ENSR8 Ключ фиолетового цвета, с внутренней памятью (фактически не используется) и уникальным идентификатором.
- Ключ на 64х битный сервер 1С:Предприятие. HASP HL Max. Ключ зеленого цвета. У ключа есть маркировка EN8SA, при этом данный ключи поддерживает 32-битный сервер (если у клиента есть лицензия на 64-битный сервер, он может, не меняя ключа, использовать также и 32-битную версию). C внутренней памятью (фактически не используется) и уникальным идентификатором.
Разобрались с цветами, попытаемся понять буковки:
В первой строчке ключа его тип и максимальное количество лицензий. Hasp4 или Н4 - тип ключа. М1 - локальный с памятью 112 байт NetXX - сетевой, где ХХ - количество лицензий.
Других 1С пока не использует.
Во второй строчке первые пять знаков - код разработчика (заказчика) ключа.
В приложении к 1С - это назначение ключа. ORGL8 - пользовательский от восьмерки. ENSR8 - сервер предприятия восьмерки 32x. EN8SA - сервер предприятия восьмерки 64x.
Остальные знаки никакого интереса не представляют.
Подробнее: Серверные ключи:
1С:Предприятие 8.0 (8.1, 8.2) Лицензия на сервер (х32) маркируется "H4 M1 Pro ENSR8" (фиолетовый цвет ключа)
1С:Предприятие 8.0 (8.1, 8.2) Лицензия на сервер (x64) маркируется "H4 M1 Max EN8SA" (зеленый цвет ключа)
Однопользовательские ключи: (синий цвет ключа)
Ключи для всех версий программ маркируются "H4 M1 ORGL8"
Сетевые (многопользовательские) ключи: (красный цвет ключа)
Ключи маркируются в зависимости от числа клиентских лицензий:
Программы группы "1С:Бухгалтерия 8" маркируются "H4 NET5 ORGL8"
Ключи на 5 пользователей маркируются "H4 NET5 ORGL8"
Ключи на 10 пользователей маркируются "H4 NET10 ORGL8"
Ключи на 20 пользователей маркируются "H4 NET20 ORGL8"
Ключи на 50 пользователей маркируются "H4 NET50 ORGL8"
Ключи на 100 пользователей маркируются "H4 NET100 ORGL8"
Ключи на 300 пользователей маркируются "NET250+ ORG8A"
Ключи на 500 пользователей маркируются "NET250+ ORG8B"
Комплекты ключей:
Комплект из 2 ключей "1С:Предприятие 8 Управление производственным предприятием" на 10 пользователй + сервер, а так же комплект из 2 ключей "1С:Предприятие 8 Комплексная автоматизация" на 10 пользователей + сервер, ключи маркируются "H4 NET10 ORGL8" и "H4 M1 ENSR8"
Комплект из 2 ключей "1С:Предприятие 8 Учебный комлект" на 20 пользователей + сервер, ключи маркируются "H4 NET20 ORGL8" и "H4 M1 ENSR8"
Данная система маркировки была введена для удобства идентификации ключа разработчиками и пользователями программного обеспечения.
Для установки однопользовательского и серверного ключей достаточно установить драйвер ключа защиты и вставить ключ защиты в порт.
Для установки многопользовательского ключа защиты требуется определить, какая из машин в сети будет являться сервером. Далее нужно установить на этот компьютер драйвер ключа защиты (HASP4_driver_setup.zip) и службу ключа защиты (HASP_LM_setup.zip), после чего вставить ключ защиты в порт.
Для 1С 7
Сетевые ключи - Красные
Локальные - Серые
+ на ключе шла расшифровка ACC- Бухгалтерия, TRD- Торговля, SAL - Зарплата
Программы однопользовательской группы:
Программы группы "1С:Бухгалтерия 7.7" маркируются "H4 M1 ACCNT"
Программы группы "1С:Зарплата и кадры 7.7" маркируются "H4 M1 QXDXD"
Программы группы "1С:Торговля и склад 7.7" маркируются "H4 M1 WRBQB"
Программы группы "1С:Предприятие 7.7 Комплексная" маркируются "H4 M1 WRBQB"
Программы сетевой (многопользовательской) группы:
Программы группы "1С:Предприятие 7.7 Бухгалтерский учет" маркируются "H4 Net5 ACCNT"
Программы группы "1С:Предприятие 7.7 Зарплата + Кадры" маркируются "H4 Net5 QXDXD"
Программы группы "1С:Предприятие 7.7 Торговля + Склад" маркируются "H4 Net5 WRBQB"
Программы группы "1С:Предприятие 7.7 Комплексная поставка" маркируются "H4 Net5 WRBQB"
Программы группы "1С:Предприятие 7.7 Налогоплательщик" маркируются "H4 Net5 TAXPR"
Программы группы "1С:Предприятие 7.7 Небольшая фирма" маркируются "ACCNT" / "WRBQB" / "QXDXD"
Программы группы "1С:Предприятие 7.7 Управление распределенными информационными базами" маркируются "H4 Net5 DISTR"
Программы группы "1С:Предприятие 7.7 Web-расширение" маркируются "H4 Net5 W31CK"