Пример создания внешней печатной формы АКТа для Бухгалтерии 3.0
1. В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя.
2. В модуле обработки пишем код. Постараюсь его максимально комментировать. Главное должно быть:
функция ПечатьВнешнейПечатнойФормы табличного документа - которая выведет данные в макет
функция Печать - вызывается из конфигурации! в нее передается массив печатаемых объектов
и функция СведенияОВнешнейОбработке(). Она необходима для регистрации печатной формы в справочнике ДополнительныеОтчетыИОбработки, в ней собирается структура с данными для подключения формы. Эта функция, а также ряд сопутствующих ей, практически одинаковы для всех печатных форм, поэтому их можно просто копировать в новую печатную форму ничего не меняя.
3. Добавляем макет вывода печатной формы:
4. Сохраняем и добавляем в конфигурацию:
Подключается через Администрирование - Печатные формы, отчеты и обработки:
Создаете новую обработку, записывайте и при открытии документа Реализация, нажав на Печать - появляются доступные печатные формы с разными подписывающими.
Инструкция создания одностороннего обмена данными между конфигурациями "Источник" и "Приемник" с нуля:
1 Скачиваем последнюю версию конфигурации "Конвертация данных". Сейчас на сайте ИТС перестали почему-то публиковать полные дистрибутивы, поэтому находим где-нибудь изначальный релиз и накатываем обновления с сайта.
2 В процессе установки обновлений у вас в папке с шаблонами конфигураций (смотрите её расположение в настройках окна запуска 1С) появится папка Conversion с вложенными папками версий конвертации данных. Заходите в последнюю версию на которую обновились и берите оттуда следующие файлы:
MD80Exp.epf, MD81Exp.epf, MD82Exp.epf, V8Exchan.epf, V8Exchan81.epf, V8Exchan82.epf.
3 Отдельно обращаю ваше внимание. Для успеха операции крайне важно использовать эти файлы из той версии конфигурации "Конвертация данных" в которой вы создаете правила обмена.
4 Следующий этап: выгрузка метаданных Источника и Приемника в xml файлы. Для этого предназначена обработка MD**Exp.epf. Галки выгружать регистры и прочее снимаете. Используйте нужную в зависимости от платформы. Опять же, повторюсь, - из одного и того же комплекта конвертации данных. Иначе ничего не получится.
5 Теперь открывайте базу "Конвертация данных".
6 Заходите в "Справочники"-"Конфигурации". Добавить новый элемент. В качестве файла загрузки указываете выгруженные метаданные. Выбираете "Загрузить в новую конфигурацию". Таким образом создаете две конфигурации с именами, например, Источник и Приемник.
7 Теперь заходите в "Справочники"->"Конвертации". Добавить новый элемент. Указываете в качестве конфигураций источника и приемника наши созданные конфигурации.
8 Конвертация данных предложит вам создать правила конвертации объектов и выгрузки автоматически. Соглашайтесь. Тут я подробностей писать не буду. Об этом в интернете много уже есть.
9 Теперь выгрузите созданный файл правил обмена на диск.
10 И, наконец, крайне важно для выгрузки и загрузки данных по созданным нами правилам обмена использовать не встроенный универсальный обмен в формате XML из самих конфигураций, а использовать наши V8Exchan**.epf, упомянутые выше.
Итак, главное правило: MD**Exp.epf и V8Exchan**.epf должны быть из одного комплекта, прилагающегося к версии Конвертация данных. Причем той же версии, в которой создавались правила обмена. И никаких встроенных обработок для универсального обмена в формате XML, только V8Exchan**.epf.
Для начала давайте установим сервер 1С:Предприятия. Запустите файл 1CEnterprise 8.2.msi из дистрибутива 1С:Предприятия.
Предполагается, что 1С:Предприятие 8 уже установлено, если нет, то вместе с установкой платформы выберите нужный компонент, о котором речь пойдет ниже.
Следуйте указаниям мастера установки. На первом этапе выберите пункт "Изменить". Затем выберите компонент: Сервер 1С:Предприятия, как показано на рисунке ниже.
В том случае, если у Вас установлен 1С:Предприятие 8.1 в серверном варианте и Вам необходимо, чтобы он работал и дальше, Вам нужно узнать, как запустить агента сервера 1С:Предприятие 8.1 и агента сервера 1С:Предприятие 8.2 одновременно на одном компьютере.
На следующем этапе нужно указать, что Вы хотите установить Сервер 1С:Предприятия как сервис Windows.
Установка сервера 1С:Предприятия как сервис Windows
Важно! Если Вы создаете нового пользователя или используете уже созданного, тогда убедитесь, что этот пользователь имеет права (Роль сервера) sysadmin на MS SQL сервере. Как это сделать можно прочитать в подзаголовке Среда SQL Server Management Studio, но лучше это сделать после установки Microsoft SQL Server 2008 R2 Express.
Если Вы создаете нового пользователя, а у Вас для этого недостаточно прав, тогда возникнет ошибка и пользователь не будет создан.
Установка Microsoft SQL Server 2008 R2 Express
Скачайте Microsoft SQL Server 2008 R2 Express (файл SQLEXPRWT_x86_RUS.exe) с официального сайта Microsoft. В этот дистрибутив входит приложение SQL Server Management Studio.
Возможно придётся установить обновление для Windows XP (WindowsXP-KB968930-x86-RUS.exe), содержащий компонент Windows PowerShell 2.0 (мастер установки сообщит, если Windows PowerShell 2.0 отсутствует).
Теперь установите MS SQL Server 2008 со следующими параметрами, которые указаны ниже.
Параметр сортировки должен быть Cyrillic_General_CI_AS.
Режим проверки подлинности должен быть смешанный (mixed).
Добавление серверной базы в 1С
Итак, мы всё подготовили для добавления базы в 1С:Предприятие.
Теперь запустим 1С:Предприятие и в появившемся списке баз нажмём кнопку "Добавить".
Выберите "Создание новой информационной базы". Далее.
В следующем окне выберите второй пункт "Создание информационной базы без конфигурации...". Далее.
В третьем окне укажите название, например: "Серверная база".
Выберите пункт "На сервере 1С:Предприятие". Далее.
В пункте "Сервер базы данных:" сначала укажите название компьютера, на котором установлен Microsoft SQL Server 2008 R2 Express (в моём случае HOMEPC), затем через символ обратный слэш, название сервера SQLEXPRESS, если в процессе установки Вы не изменяли его. Остальные пункты можно оставить без изменений.
Нажмите кнопку "Готово". Если всё было установлено правильно, то 1С сама создаст базу в Microsoft SQL Server 2008 R2 Express. Если нет, тогда проверьте имеет ли достаточно прав пользователь на сервере Microsoft SQL Server 2008 R2 Express, которого Вы выбрали при установке сервера 1С:Предприятия. Как это сделать можно прочитать в подзаголовке Среда SQL Server Management Studio.
Теперь, чтобы загрузить Вашу базу необходимо открыть Конфигуратор и в пункте "Администрирование-Загрузить информационную базу..." указать путь к Вашей ранее выгруженной базе. Чтобы иметь файл ранее выгруженной базы, нужно знать, как сделать резервную копию информационной базы.
Среда SQL Server Management Studio
Чтобы проверить права пользователя (Роль сервера) нужно открыть приложение "Среда SQL Server Management Studio".
Затем соединиться с сервером с помощью этого приложения.
Соединение с сервером с помощью среды SQL Server Management Studio:
В пункте "Имя сервера:" сначала укажите название компьютера, на котором установлен Microsoft SQL Server 2008 R2 Express (в моём случае HOMEPC), затем через символ обратный слэш, название сервера SQLEXPRESS, если в процессе установки Вы не изменяли его. Остальные пункты можно оставить без изменений. Нажмите кнопку "Соединить".
В Обозревателе объектов выделите нужного пользователя (в моём случае HOMEPCUSR1CV82) и нажав правой кнопкой мыши на нём, вызовите контекстное меню. Выберите "Свойства". Если в списке нет Вашего пользователя, создайте его и присвойте ему роль сервера sysadmin.
Открылся диалог свойства имени входа - HOMEPCUSR1CV82. Выберите в левом окне пункт "Роли сервера". Теперь в правом окне видно какие роли присвоены данному пользователю. Вашему пользователю необходимо иметь роль sysadmin, чтобы беспрепятственно создать базу.
Когда программно создаете таблицу значений на основании каких-либо данных, то приходится создавать колонки этой ТЗ и назвать колонки наименованиями этих же данных.
Если в строке наименования для колонки присутствуют недопустимые символы, то вылетит ошибка Ошибка при вызове метода контекста (Добавить) или ТЗ.Колонки.Добавить(ИмяКолонки); по причине: Неверное имя колонки, данная функция поможет избавиться от всех недопустимых символов в названии колонки: