Microsoft® SQL Server® 2014 Express &- бесплатная система управления данными, используется для обеспечения хранения данных и организации сетевой работы некоторых программ.
Данный продукт устанавливается на сервере либо на компьютере, выполняющем роль сервера.
Разработчиком продукта Microsoft® SQL Server® 2014 Express является компания Microsoft.
При возникновении вопросов, связанных с работой данного продукта, необходимо обращаться к Вашему системному администратору либо в компанию Microsoft.
Дистрибутив Microsoft® SQL Server® 2014 Express размещен на сайте http://www.microsoft.
Установка Microsoft® SQL Server® 2014 Express
1. Запустите на установку файл дистрибутива RUS\x86\SQLEXPR_x86_RUS.exe либо SQLEXPR_x86_RUS.exe (дважды щелкните по нему мышью). В фоновом режиме будет выполнена распаковка инсталлятора программы. Затем откроется форма Центр установки SQL Server.
В открывшейся форме левой кнопкой мыши нажмите на значении "Новая установка изолированного экземпляра SQL Server или добавление компонентов к существующей установке".
2. Откроется форма Программа установки SQL Server 2014.
При условии принятия Лицензионного соглашения установите флажок в поле «Я принимаю условия лицензионного соглашения» и нажмите на кнопку Далее.
Начнется процесс установки обязательных компонентов SQL Server 2014
Если потребуется обновление продукта – установите обновление.
3. На шаге Выбор компонентов формы Программа установки SQL Server 2014 проверьте, чтобы были установлены флажки по всем значениям раздела Компоненты.
При необходимости нажмите кнопку Выделить все, чтобы установить флажки по всем значениям. Затем нажмите кнопку Далее.
В моем варианте установки Вылетела ошибка .NET Framework 3.5 - не установлен
Устанавливаем .NET Framework 3.5
Если при попытке установить (распаковка, потом идет загрузка компонентов для установки, затем выскакивает сообщение:
Для установки и настройки Microsoft .Net Framework 3.5 SP1 необходимо использовать средство управления ролями)
то нужно:
- открыть "включение или отключение компонентов windows"
- нажать "добавить компоненты"
- выбрать пункт "Возможности .NET Framework 3.5.1'
- нажать кнопку "установить"
После установки Вы увидите сообщение
Установив .NET Framework запускаем проверку заново - Включить заново
4. Если все ОК, то Вы уведите следующем шаге "Настройка экземпляра" в поле "Именованный экземпляр" введите значение SQLExpress или введите другое имя латинскими буквами (например Express2014), если на компьютере уже установлен SQL Server с таким именем (например, установлен SQL Server 2008 с экземпляром SQLExpress). Мы оставим так:
5. На следующем шаге Конфигурация сервера в таблице Учетные записи служб проверьте, чтобы по всем службам в колонке Тип запуска было установлено значение Авто.
Если по службе Обозреватель SQL Server установлено значение Отключено, нажмите левой кнопкой мыши на выпадающей список в поле Тип запуска и выберите значение Авто.
Параметры сортировки Cyrillic_General_CI_AS
В интернете много описаний на эту тему, но чтобы много не запоминать, для правильной работы необходимо в «языке и региональных стандартах» выбрать «русский». в этом случае при установке sql server сам предложит правильную сортировку cyrillic_general_ci_as.
6. На следующем шаге Настройка компонента Database Engine установите переключатель в поле Смешанный режим (проверка подлинности SQL Server и Windows).
В поле Введите пароль группы полей Укажите пароль для учетной записи системного администратора SQL Server (sa) введите необходимый пароль (например, adminpsw).
Также продублируйте введенный пароль в поле Подтвердить пароль.
Обязательно запомните или запишите данный пароль.
Установленный пароль будет использоваться при подключении базы данных к SQL-серверу
На закладке Каталоги данных можете изменить основные каталоги, Нажмите на кнопку Далее.
7. На следующем шаге "Отчет об ошибках" нажмите на кнопку Далее.
8. На следующем шаге "Ход выполнения установки" начнется установка SQL Server 2014.
Дождитесь окончания установки.
9. При завершении установки SQL Server откроется форма "Завершено".
Проверьте, чтобы по всем компонентам в разделе "Сведения об операции установки или возможных следующих шагов" в колонке "Состояние" было приведено значение Выполнено успешно.
Нажмите на кнопку «Закрыть».
Установка MS SQL Server 2014 будет завершена.
Создание базы 1С 8.3 через консоль Администрирования
Думаю что описывать установку сервера 1С нет необходимости, там все банально и просто, перейдем сразу к добавлению баз.
Откройте Администрирование серверов 1С Предприятия и добавьте новую информационную базу
В окне добавления пропишите все параметры
В результате получаем:
В SQL Server Management Studio:
Теперь, чтобы загрузить Вашу базу необходимо добавить эту базу в список, открыть Конфигуратор и в пункте "Администрирование - Загрузить информационную базу..." указать путь к Вашей ранее выгруженной базе. Подробнее - Как загрузить базу из файла DT?
Чтобы иметь файл ранее выгруженной базы, нужно знать, как сделать резервную копию информационной базы.
Кратко суть проблемы можно озвучить цитатой из документации: "Передача параметра из источника в приемник доступна только при обмене между информационными базами на платформе 1С:Предприятие 8".
Ниже излагается способ передачи глобальных параметров при таком обмене без правки выгруженного из КД 2 модуля выгрузки и без правки самой КД 2.
Итак, в обработчике ПередВыгрузкойДанных пишем код:
после этого данные параметры будут абсолютно штатно загружены в стандартной обработке "Универсальный обмен данными в формате XML (2.1.5)".
Ещё хотелось бы заметить, что содержимое обработчика ПослеЗагрузкиПараметров при таком обмене также не выгружается в файл обмена. Исправить данную оплошность можно так же, записав в обработчике ПередВыгрузкойДанных
Нюанс: чтобы иметь параметры на ранних стадиях загрузки, например, в обработчиках ПередЗагрузкойДанных или ПередОбработкой в ПОД (правилах очистки данных), нужно помещать выгружаемые параметры в корень узла с выгружаемыми данными:
Автор: andrewks - Источник
Разработчики в управляемых приложениях применили новый механизм настройки прав доступа, о которых и пойдет речь.
Будут перечислены все те грабли, которые собрал автор, чтобы вы о них знали.
Наверняка, уже все знают, что из себя представляет новая система, поэтому предистория вкрадце:
Как было раньше( в обычном приложении):
Есть документ. Есть Роли - ПолныеПрава, ДокументНетДоступа, ДокументТолькоЧтение, ДокументЧтениеИРедактирование. В конфигураторе(аналогичный механизм в реж предприятия) вы выставляете пользователям эти роли и у них появляются соответствующие права доступа на документ. Все просто и скучно и даже зевать хочется.
С введением управляемого приложения разработчики решили усложнить(читается как расширить) настройки прав доступа.
Теперь:
Вводная та же. Чтобы дать пользователю какие-то права на документ - сначала вам необходимо создать элемент справочника Профили групп доступа. Это некий агрегирующий(суммирующий значения) объект, который объединяет роли в группы ролей. Теоритически таких профилей можно создать сколько угодно много с различным набором ролей( N*(n-1), где N - количество ролей), но на практике количество профилей определяется количеством должностных обязанностей пользователей в организации и их гораздо меньше, чем ролей.
Создаем профили Бесправный(с ролью ДокументНетДоступа), Аудитор(с ролью ДокументТолькоЧтение), Бухгалтер(с ролью ДокументЧтениеИРедактирование).
Чтобы "привязать" эти профили к пользователям - нужно создать элементы справочника ГруппыДоступа. В типовых они создаются автоматически, когда вы отмечаете галочками профили для пользователя. Этот справочник соединяет профиль и пользователя(или нескольких пользователей).
При записи этого элемента справочника система автоматически добавляет роли (из профиля) в роли пользователя. Поэтому не стоит напрямую редактировать роли в конфигураторе, как раньше - при редактировании прав в Предприятии все роли в конфигураторе будут обновлены на роли из профилей пользователя. Кроме того, будет наблюдаться явное противоречение между набором профилей с ролями и ролями, установленными в конфигураторе.
Как хранятся роли в Профиле групп доступа, спросите вы. Ведь роли - это объекты МД, это не ссылочные типы. Отвечаю - для этого(и не только) разработчики создали служебный справочник ИдентификаторыОбъектовМетаданных, в котором хранится( в иерархии!) имена, синонимы, значения пустых ссылок всех объектов МД. Если вы хотите создать Профиль программно и добавить в него роль, то код примерно будет таким:
Но если мы добавили новую роль в конфигурации, то как она попадет в справочник? Хороший вопрос. У справочника ИдентификаторыОбъектовМетаданных есть метод, позволяющий обновлять его данные. это:
Процедуру следует запускать каждый раз, когда вы вносите изменения в метаданные, особенно когда изменяете роли, объекты, связанные с новыми ролями.
Отлично. Роль добавили, идентификаторы обновили.
Но обратная связь не работает - вы в режиме предприятия назначили пользователю профиль( с созданием группы доступа), а роль у пользователя в конфигураторе не добавилась! Что делать?
За синхронизацию ролей/профилей отвечает константа ПараметрыРаботыПользователей. Если роли не обновляются в конфигураторе, следует обновить её значение:
Хорошо, скажите вы. А как быть, если я хочу создать группы доступа программно? Да не вопрос. Единственное ограничение - не допускаются дубли связок Профиль-Пользоваль в группах доступа. Примерный код будет таким:
После выполнения этого кода, если все, что нужно обновлено - типовая конфигурация добавит пользователю роли.
Раз уж пошли по программному пути, вот код, который добавляет пользователя в справочник Пользователи и ПользователяИБ в ПользователиИнформационнойБазы:
Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользовательИБ у вас сам создатся.
И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователемИБ, которого нет в справочнике Пользователи.
Автор: Stim - Источник
Однажды вылетело: "Ошибка СУБД. Превышен максимально допустимый размер внутреннего файла .../1CV8.CD"
И Все! Данных больше ввести никаких нельзя. Размер Файла 1Cv8.1CD 4,5 ГБ.
Ответ: Про ограничения в файловой версии можно прочитать на последнем ИТС. Действительно - 4 Гб.
Решение: Переходить на MS SQL. В серверном варианте размер базы ограничен возможностями MS SQL сервера.
Дополнение от Andy1981:
Столкнулся с проблемой только сейчас. До этого постоянно работал на серваках, даже тестовая база была развернута на собственном скуле, который крутился у меня локально :-)
В общем-то, решение тривиально, переход на клиент-серверный вариант, и всех делов. Но! Меня задело за живое. Даже если решение очевидно, нужно сначала обосновать его, а не слепо следовать предложенному варианту. Прежде чем выносить вердикт, относительно того, как нужно поступить, исполнил элементарный скрипт на SQL, получил табличку в виде ИмяТаблицыБД|РазмерТаблицы. Прекрасно, но это позволит лишь определить, в каком классе объектов метаданных проблема. Далее, используя Enterprise Integrator получил имя справочника (в моем случае), имеющего проблемный размер. Далее дело за малым - всего-то и делов - определиться, каким образом можно оптимизировать хранение данных? В моем случае ответ оказался практически очевиден. Оптимизировать можно и нужно, и использование сервера БД нецелесообразно. Вполне возможно, что таблица распухает вполне обоснованно, тогда переход на SQL (например), является неизбежным.
Скрипт для вычисления объемов таблиц БД:
Именно 13-го июня в первый рабочий день база и слетела. Прямо с утра. При запуске пишет: «Файл базы данных поврежден. 1cv8.1CD» и все тут. Ни в конфигуратор ни в предприятие не пускает.
Последний бэкап понятно как обычно старый, ибо при последнем обновлении 1С рабочую базу перенесли в другую папку, которая соответственно в архив не попадала.
В общем вот исходные данные:
1. 1С 8.2.14.540
2. убитый файл 1Сv8.1CD весом 900 МБ датой от 12.06.2012;
3. рабочий файл 1Сv8.1CD весом 900 МБ датой от 26.04.2012;
На уровне подсознания понятно что из этого что то можно получить но пока не ясно как.
СЛАВА ИНТЕРНЕТУ!!! ИНФОРМАЦИЯ - вот в чем его сила. И пока, но все меньше, свободная (лирическое отступление).
По сути вопроса в Сети достаточно много информации, но все в итоге сводится к махинациям с копированием части исправного файла в убитый. Главный инструмент в данном случае - программка tool_1CD. Огромное спасибо ее автору Валерию (awa)!. Так же очень полезна статья того же автора: Краткое описание формата файлов *.1CD (файловых баз 1Сv8) . Ее пожалуй нужно прочитать перед началом попытки восстановления, тогда понятнее станет что и как делать.
ИТАК:
Первым делом конечно нужно скопировать оба файла (убитый и целый) куда нибудь подальше чтобы не потерять их исходники. Там мы их не трогаем. Затем скопировать их еще раз в папку где будем проводить эксперименты. Вот тут пожалуйста - издеваемся над ними как хотим ).
Еще до поиска в Сети пришла в голову мысль воспользоваться стандартной утилитой 1С CHDBFL.EXE для проверки и исправления файла базы.
После исправления этой утилитой 1С при загрузке стала ругаться на отсутствие таблицы _SYSTEMSETTINGS и кроме того размер файла базы сократился в 2 раза до 450 МБ. Очень странные результаты - хотя по отзывам данная утиль довольно грубая и помогает далеко не всегда, а иногда и усугубляет ситуацию (.
Ладно, заменяем жертву эксперимента файлом из «резервного хранилища».
Теперь читаем статью по формату 1Cv8.1CD и проникаемся. Ага, теперь более-менее понятно для чего и как можно использовать программу tool_1CD. Запускаем 2 экземпляра:
1.с убитым файлом:
2. с целым файлом:
Блин, ну сразу видно что 4-х таблиц не хватает. Каких -легко определить ибо порядок размещения одинаков. Таким образом у меня порушились:
- _SYSTEMSETTINGS;
- _
- _REPSETTINGS;
- _FRMDTSETTINGS.
Тут я понял что дело не так уж плохо - ведь пропали только системные таблицы, которые по логике вещей и не изменились с последнего бэкапа. Ура!!!!!. Но тут конечно кому как повезет(((.
Ну вот теперь мы знаем что файл 1Cv8.1CD структурирован и хранит в себе описание и содержимое всех таблиц, а в начале файла есть основная секция где указано размещение этих таблиц.
Тут нам без HEX-редактора не обойтись. А сейчас что-то мало бесплатных то ((((. А у меня еще с давних темных времен припасена коллекция редакторов и дебаггеров. Уж и не помню для чего)))).
Ну все - запускаем HEX-Assistant и снова открываем в нем оба наших подопытных файла:
Для тех, кто внимательно прочитал статью не секрет, что блок, где хранится размещение таблиц №2 и найти его можно по смещению 0х4000:
Вот она, вот она рыба моей мечты !!! . В tool_1CD таблицы расположены в том же порядке что и в файле пэтому мы легко находим смещения для недостающих у наc таблиц:
_SYSTEMSETTINGS = 0x0000E61C
_
_REPSETTINGS = 0x0000E66F
_FRMDTSETTINGS = 0x0000E683
Так же видим что смещения одинаковы в обоих файлах. Это значит, что все вообще просто:
1. идем по указанному смещению в целом файле;
2. выделяем полностью фрагмент кода с начального смещения данной таблицы до начального смещения следующей;
3. копируем с заменой в убитый файл точно на те же адреса.
4. сохраняем изменения в бывшем убитом файле.
5. проверяем tool_1CD что таблицы появились. Прога ругаться может на индексы, но они после восстановятся.
6. (по своему усмотрению) прогоняем утилитой CHDBFL.EXE (она там поругается немного, можно не обращать внимания).
или
запускаем конфигуратор - тестирование и исправление
или
делаем выгрузку-загрузку.
Я на всякий случай сделал все .
Все. Время принимать поздравления и обещания расцеловать от бухгалтерии и наставления от начальства по поводу необходимости ежедневного архивирования. В который раз ))))).
Автор: Voland - Источник
После выхода «1С Предприятие 8.3.5″ пришлось забыть об использовании Снегопата.
Желание обустроить конфигуратор под себя осталось, в итоге реанимировал свой старый проект основанный на Autohotkey + JScript.
Итогом стал проект на github: v8CfgAddsAhk
Установить Autohotkey (http://www.autohotkey.
Зарегистрировать библиотеки:
v8CfgAddsAhk\system\svcsvc.dll
v8CfgAddsAhk\system\WshExtra.dll
v8CfgAddsAhk\v8CfgAdds.ahk (Основной набор скриптов)
v8CfgAddsAhk\continueRow.ahk (Операции по переносу комментариев, строк). Автор ADirks
Вызов списка процедур: {ctrl +1}
Поиск с регулярными выражениями: {Alt+f}
Поиск с регулярными выражениями (результат последнего поиска): {Alt+r}
Генератор кода для объектов метаданных (требуется предварительная генерация файла структуры обработкой v8CfgAddsAhk\ext\ПолучениеСтруктуры.epf): {Alt+g}
Добавление ссылки на основной реквизит в модуле (преобразование модуля формы из обычных форм в управляемые формы): {Alt+h}
Авторские комментарии:
блок добавлен: {alt+s}
блок изменен: {alt+e}
блок удален: {alt+d}
Закоментировать строку: {ctrl + / (ctrl + .)}
Развернуть модуль: {ctrl+i}
Удаление строки: {Ctrl+y}
Cимвол ‘<‘: {Ctrl-,} - Cимвол ‘>': {Ctrl-.}
Cимвол ‘|': {Ctrl-\}
Копирование текущей строки и вставка в следующей: {ctrl+shift+c}
Переход в процедуру: {ctrl+enter}
Возврат на предыдущую позицию: {Alt,-}
Препроцессор функции: {Alt+7}
Форматирование модуля: {F6} (code_beautifier.pl - ADirks)
Модель XDTO - это универсальный способ представления данных для взаимодействия с внешними системами., которая позволяет манипулировать данными XML довольно просто. При работе с данной моделью используется в техника работы с типами данных, привычная для программистов на встроенном языке 1С:Предприятие 8.
Я уже писал несколько статей:
Настройка и оптимизация сервера, кластера 8.3
Добавление, перезапуск, оптимизация рабочих процессов сервера кластера
теперь немного подробнее:
Первым делом, после установки кластера 1С ранее нужно было создать рабочие процессы. Как оказалось, процессы кластера начали создаваться автоматически в зависимости от нагрузки базы.
Пробный запуск фоновых заданий основной базы заставило кластер 1С бесконечно перегружать rphost.exe и дополнительный rphost.exe никак не хотел создаваться. Покопавшись в настройках все стало понятно.
Максимальный объем памяти рабочих процессов - это объем памяти, который могут использовать рабочие процессы вместе. Нужно быть очень внимательными при установке параметра, измеряется в байтах. Если установить неверное значение (недостаточное для нормальной работы пользователей) пользователям будет выдана ошибка "Недостаточно свободной памяти на сервере 1С". Так же эту ошибку можно получить, когда на сервере 1С закончилась квота по памяти.
Безопасный расход памяти за один вызов - позволяет контролировать расход памяти при серверном вызове, измеряется в байтах. Если вызов использует больше памяти чем положено, этот вызов будет завершен в рамках кластера 1С без перезапуска рабочего процесса (rphost.exe). Соответственно "неудачник", который выполнил вызов сервера, утратит сеанс с базой 1С без влияния на работу других пользователей.
в одном ГБ - 1073741824 Байт, следовательно в 2 ГБ - 2147483648 Байта
Объем памяти рабочих процессов, до которого сервер считается производительным - при превышении этого параметра сервер в кластере 1С перестанет принимать новые соединения.
Количество ИБ на процесс - позволяет изолировать информационные базы по рабочим процессам. По умолчанию у текущего кластера 1С было установлено значение - "8", но на протяжении нескольких часов работы сервер себя очень нестабильно, сеансы пользователей зависали. После изоляции каждой информационной базы (значение - "1") проблемы пропали.
Количество соединений на процесс - по умолчанию значение "128". Так как у текущей базы очень большая нагрузка фоновыми заданиями (расчет логистики, анализ прайсов, анализ конкурентов и прочее) было принято решение уменьшить количество до "25".
Немного изменились настройки и самого кластера 1С:
Уровень отказоустойчивости - это количество рабочих серверов, которые могут одновременно выйти из строя, и это не приведет к аварийному завершению работы пользователей. Резервные сервисы запускаются автоматически в количестве, необходимом для обеспечения заданной отказоустойчивости. В реальном режиме времени выполняется репликация активного сервиса на резервные.
Режим распределения нагрузки - есть два варианта параметра: "Приоритет по производительности" - памяти сервера тратится больше и производительность выше, "Приоритет по памяти" - кластер 1С экономит память сервера.
Сервер 8.3 характеризуется переработанным заново внутренним кодом, хотя «снаружи» может показаться что это слега доработанный 8.2.
Сервер стал более «авто настраиваемым», часть параметров типа количества рабочих процессов теперь не создается вручную, а рассчитывается исходя из описаний требований задач по отказоустойчивости и надежности.
Это снижает вероятность неправильной настройки сервера и понижает требования к квалификации админов.
Получил развитие механизм балансировки нагрузки, который можно использовать либо для повышения производительности системы в целом, либо использовать новый режим «экономии памяти», который позволяет работает «с ограниченной памятью» в случаи если используемая конфигурация «любит отъедать память».
Стабильность работы при использовании больших объемов памяти определятся новыми параметрами рабочего сервера.
Особенно интересен параметр «безопасный расход памяти за один вызов». Для тех кто плохо представляет что это такое - лучше не тренируйтесь на «продуктивной» базе. Параметр «Максимальный объем памяти рабочих процессов» позволяет при «переполнении» не обваливать весь рабочий процесс, а только один сеанс «с неудачником». «Объем памяти рабочих процессов, до которого сервер считается производительным» позволяет заблокировать новые соединения как только будет преодолен этот порог памяти.
Рекомендую изолировать рабочие процессы по информационным базам, к примеру указать параметр «Количество ИБ на процесс = 1″. При нескольких высоконагруженных базах это позволит уменьшить взаимное влияние как по надежности, так и по производительности.
Отдельный вклад в стабильность системы вносит «расходование» лицензий/ключей. В 8.3 появилась возможность использования «менеджера программных лицензий» напоминая менеджер «аладина». Цель - возможность вынести ключ на отдельную машину.
Реализован он в виде еще одного «сервиса» в менеджера кластера. Вы можете использовать к примеру «свободный» ноутбук. Добавьте его в кластер 1с 8.3, создайте на нем отдельный менеджер с сервисом «сервис лицензирования». В ноутбук можно воткнуть аппаратных hasp-ключ, или активировать программные лицензии.
Наибольший интерес для программистов должен представлять «Требования назначения функциональности».
Требования назначенной функциональности 1с
Так на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» - «Не назначать», т.е. запретить рабочим процессам данного сервера обрабатывать клиентские соединения.
Еще больший интерес предоставляет возможность запускать «только фоновые задания» на рабочем сервере кластера без сеансов пользователей. Таким образом можно высоконагруженные задачи (код) вынести на отдельный машины. При чем можно одно фоновое задание «закрытия месяца» через «Значение дополнительного параметра» запускать на одном компьютере, а фоновое задание «Обновление полнотекстового индекса» на другом.Уточнение происходит через указание «Значение дополнительного параметра». Например если указать BackgroundJob.
Сеансы позволяют выполнять балансировку загруженности и отказоустойчивости в управляемом приложении.
Менеджер кластера теперь стал сложнее. Часть функций теперь можно выделить в отдельный процесс и даже разместить на другом рабочем сервере кластера. Это позволяет балансировать загруженность сервера.
Отказоустойчивость сервера 8.2 достигается за счет:
Указывается запасной кластер, при подключении - перечисляются в строке соединения
Это позволяет обеспечить непрерывность работы!
При разрыве физического соединения клиента с кластером (уборщица выдернула кабель, отключилось питание сетевого оборудования, неполадки у провайдера) не приходится заново подключаться к информационной базе и начинать всю работу сначала. После восстановления физического соединения пользователь может продолжить работу с того места, на котором она была прервана.
Если требуется техническое обслуживание компьютеров кластера, их можно выключать прямо во время работы, не останавливая работу пользователей с информационной базой.
При выходе из строя любого сервера кластера работа пользователей не остановится она будет автоматически переведена на резервный кластер и/или на резервные рабочие процессы. Для пользователей такой переход будет незаметным.
Если один из рабочих процессов кластера завершится аварийно, подключенные к нему пользователи будут автоматически переведены на другие или резервные рабочие процессы. Такой переход также будет незаметен для пользователей.
Клиенты частенько просят настроить отображение маршрутов перемещения по разным адресам в 1С, например для курьеров и т.д.
В примере описан способ отражения карт GoogleMaps в 1С:
Скрипт отображения из макета Карта (выделила как VBS, но по факту это HTML):
Файл отображающий пример работы GoogleMaps API V3 - Прокладываем маршрут в 1С
Скрин это обработки
Речь ниже пойдет о usb-ключах, а программные лицензии > Если необходимо активировать многопользовательскую клиентскую лицензию 1С, так чтобы лицензии раздавал сервер приложений 1С, то это необходимо делать где угодно, только не на самом сервере приложений 1С. При этом в окне активации выбирать опцию «Дополнительно», поставить птичку на сервер 1С и указать параметры подключения к серверу.
Как показал опыт, чтобы клиенты 1С могли нормально получить лицензию с сервера, необходимо выполнить ряд условий:
1. Раздача лицензий сервером приложений 1С:- Тут все просто, ставим сервер приложений 1С, втыкаем ключ и в свойствах зарегистрированной в кластере 1С базы выставляем параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» в позицию «Да». При такой конфигурации раздавать пользовательские лицензии будет сам сервер приложений 1С, но есть один неприятный момент, каждая открытая копия 1С на пользовательском компьютере будет съедать по одной лицензии, т. е. если открыть с одного компа 10 раз одну и ту же базу, то будет съедено 10 лицензий!
2. Раздача лицензий Hasp License Manager: - Ставим Hasp License Manager в качестве сервиса и запускаем. - Как правило при установке он сам добавляет разрешающие правила во встроенный в винду брандмауэр, если этого не произошло, то добавляем вручную правило разрешающее подключения по протоколам TCP и UDP на порт 475. - Если сеть побита на VLAN-ы и используются различные ACL, то необходимо прописать везде где это нужно правила доступа, как в пункте выше. - Настраиваем файл конфигурации Hasp License Manager, который называется nhsrv.ini и лежит по умолчанию в C:\Program Files (x86)\Aladdin\HASP LM . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня закоментировано:NHS_USERLIST = 250 ; максимальное количество обслуживаемых клиентов, по умолчанию 250NHS_SERVERNAMES = ; имя сервера на котором установлен ключ с лицензиями и запущен Hasp LMNHS_USE_UDP = disabled ; включить или выключить использование протокола UDP, по умолчанию включенNHS_USE_TCP = enabled ; включить или выключить использование протокола TCPNHS_IP_portnum = 475 ; номер порта на котором принимает запросы Hasp LMNHS_IP_LIMIT = ; номера подсетей с которых разрешено подключение к Hasp LMNHS_USE_IPX = disabled ; включить или выключить использование IPXNHS_USE_NETBIOS = disabled ; включить или выключить использование NETBIOS - Настраиваем файл nethasp.ini на пользовательских компьютерах, по умолчанию лежит вC:\Program Files (x86)\1cv82\conf . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня удалено:[NH_
[NH_IPX]
[NH_NETBIOS]
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1, 192.168.0.2, 192.168.0.3 ; указываем где искать свободные лицензии, т. е. сервера на которых установлены многопользовательские клиентские ключи и настроенный Hasp LMNH_TCPIP_METHOD= TCPNH_SESSION = 5NH_SEND_RCV = 4NH_USE_BROADCAST = Disabled ; выключаем широковещание
- Стоит заметить, что когда раздача ключей настроена через Hasp LM, то пользователь занимает только одну лицензию, независимо от того сколько баз 1С он открыл, т. е. такой способ более выгоден экономически, но сложнее в реализации, особенно в больших организациях, где могут быть несколько сотен пользователей 1С.
- Если ключей много и доступ пользователей к ним делится по какому-то признаку (например по разным проектам), то хорошей практикой будет вести точный учет того, какие пользователи к каким ключам имеют доступ и настраивать их файлы nethasp.ini соотвественно. Это позволит администратору системы более полно владеть информацией и может очень помочь в решении проблем с нехваткой лицензий.
В инфраструктурах, активно использующих возможности web-сервисов 1С, нередко возникает потребность получения не только массивов данных из базы, но и различных файлов. Сам файл через веб-сервис так просто не передашь, но на его основе можно создать объект ДвоичныеДанные, который, в свою очередь, уже сериализуется в base64Binary. После такой операции наш веб-сервис без проблем передает данные и получателю остается только выполнить на своей стороне обратное преобразование и сохранить файл.
В качестве примера такого механизма я буду создавать в 1С счет на оплату на основании переданных через сервис ИНН контрагента и суммы, и возвращать PDF печатной формы. На этот раз, кроме примеров кода, дополнительно был записан скринкаст разработки.
Для начала создадим в пустой конфигурации справочник "Контрагенты" с реквизитом "ИНН" и документ "Счет" с реквизитами "Контрагент" и "СуммаДокумента".
Теперь добавим пакет XDTO "test_ws"с пространством имен "http://www.test-ws.org", в котором опишем тип объекта "File". Он будет содержать свойства:
binaryData - (base64Binary (http://www.w3.org/2001/XMLSchema));
ext - string (http://www.w3.org/2001/XMLSchema);
message - string (http://www.w3.org/2001/XMLSchema).
Создаем web-сервис "DocWork", пространство имен "http://www.test-ws.org", выбираем пакет "http://www.test-ws.org". Добавляем в сервис операцию "CreateBill", возвращаемый тип File (http://www.test-ws.org), входные параметры:
INN - string (http://www.w3.org/2001/XMLSchema);
Summ - decimal (http://www.w3.org/2001/XMLSchema).
Код web-сервиса:
Тестовая обработка
А так же обещанное видео, как есть, без купюр
В 8.3.4 в свойствах объекта "Внешний источник данных" появилась вкладка "Функции". Для внешних таблиц MSSQL данный функционал позволяет подключить к 1С хранимые процедуры и функции на стороне SQL. В том числе и процедуры, содержащие запросы SQL на добавление и обновление данных внешней таблицы.
По сравнению с прошлым примером количество кода 1С уменьшится, поскольку подключение через
Для начала создадим тестовую таблицу с помощью скрипта в панели управления сервером SQL:
Скрипт создания процедуры insert_tovar:
Скрипт создания процедуры update_tovar:
Теперь переходим в 1С и добавляем внешний источник данных. Подключаем таблицу SQL:
Подключаем процедуры:
Далее, для таблицы dbo_tovar создаем формы списка и объекта. На форму списка вешаем команду "ДобавитьТовар" и обработку оповещения:
На форме объекта на командной панели размещаем команду "ЗаписатьТовар", для кнопки выставляем свойство "Кнопка по умолчанию":
Для свойства реквизита "Объект" снимаем свойство "Сохраняемые данные", для поля "id" устанавливаем свойство "Только просмотр".
Готово, запускаем, тестируем. Для тестов использовался сервер MSSQL Server 2008 R2.
Начиная с платформы 8.2.14 в 1С появилась коллекция "Внешние источники данных". Использование объектов этой коллекции позволяет работать с внешними данными через ODBC. Стандартные механизмы платформы позволяют просматривать данные и использовать их в запросах. Тем не менее, на примере взаимодействия с SQL покажу возможность работы с внешними источниками на прямое добавление/изменение данных SQL из 1С.
Создадим для начала через консоль сервера SQL базу "test" с таблицей "assortment", строковые поля id, name, price. Сделаем ключевым поле id и внесем пару строк в таблицу. Потом создадим пустую базу 1С, в конфигураторе добавим внешний источник данных "ВнешнийSQL". На вкладке "Данные" добавим нашу таблицу. Можно ввести строку соединения, либо воспользоваться конструктором строки. В моей строке указаны явно учетная запись суперадминистратора (sa) и пароль к ней. Поскольку это сервер для тестов, вопросом безопасности можно пренебречь. Для реальной базы такого делать не стоит, либо можно завести отдельного пользователя с правами чтения/записи только на эту базу и хранить его данные.
После подключения находим в списке таблиц нашу, выбираем необходимые поля, в нашем случае все.
После добавляем формы для объекта и списка.
Если запустить нашу конфигурацию сейчас, то элементы формы списка будут открываться только на просмотр.
Теперь начинаем вносить изменения в формы, начнем с формы объекта. В свойствах реквизита "Объект" убираем галку "Сохраняемые данные", после этого реквизиты формы будут доступны для редактирования. Так же добавляем команду "ЗаписатьДанные" и прописываем код сохранения данных.
Теперь в форме списка на панель вешаем команду "Добавить" и добавляем обработку оповещения.
Вот и все, теперь мы можем как добавлять, так и редактировать данные таблицы. При необходимости можно добавить дополнительный контроль ввода, автонумерацию, удаление и прочие механизмы.
Настройка интерфейса в Такси
несколько советов для удобной и качественной работы в новом интерфейсе Такси