Пакетная печать табличных документов в 1С 8.3

Здравствуйте, дорогие читатели.

В данной заметке хочу поделиться одной интересной возможностью, которая есть в платформе «1С предприятие 8.3», а именно «пакетная печать табличных документов». Для использования данной возможности используются объекты
встроенного языка: ПакетОтображаемыхДокументов, ЭлементыПакетаОтображаемыхДокументов, ЭлементПакетаОтображаемыхДокументов.

ПакетОтображаемыхДокументов – это сам пакет, который содержит документы, которые надо напечатать или сохранить в файл, также содержит настройки печати. Для помещения документов в пакет предназначено свойство Состав, представляющее собой объект ЭлементыПакетаОтображаемыхДокументов – коллекцию
объектов ЭлементПакетаОтображаемыхДокументов.

ЭлементПакетаОтображаемыхДокументов – объект, который содержит либо адрес временного хранилища, в котором расположен табличный документ, либо объект ПакетОтображаемыхДокументов, обозначающий вложенный пакет
документов.

Настройки печати устанавливаются для всего пакета, индивидуальные настройки печати документов игнорируются.
Для доступны следующие настройки КоличествоЭкземпляров, РазборПоКопиям, ИмяПринтера, ДвусторонняяПечать, ТочностьПечати, Вывод.

Чтобы получить возможность установить индивидуальные параметры печати для конкретного документа, следует добавить вложенный пакет,поместить документ в него и установить параметры печати для этого вложенного пакета.

Рассмотрим пример:

Необходимо распечатать 2 табличных документа, причем первого 3 экземпляра, а второго 2.


Пакет = Новый ПакетОтображаемыхДокументов;
// Документы, находящиеся в этом пакете, печатаются в 3 экземплярах
Пакет.КоличествоЭкземпляров = 3;
// Добавляем документы в пакет
ЭлементПакета1 = Пакет.Состав.Добавить();
ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент, УникальныйИдентификатор);

// Добавляем вложенный пакет для третьего документа
ВложенныйПакет = Новый ПакетОтображаемыхДокументов;
// Документ во вложенном пакете печатается в 2 экземплярах
ВложенныйПакет.КоличествоЭкземпляров = 2;
// Добавляем документ во вложенный пакет
ЭлементВложенногоПакета1 = ВложенныйПакет.Состав.Добавить();
ЭлементВложенногоПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор);

ЭлементПакета2 = Пакет.Состав.Добавить();
ЭлементПакета2.Данные = ВложенныйПакет;

// Печатаем пакет сразу на принтер
Пакет.Напечатать();

//сохраняем в файл
Пакет.ЗаписатьФайлДляПечати("D:\ПакетнаяПечать.pdf");

Обработку (на управляемых формах) для демонстрации пакетного режима печати можно скачать здесь.

Популярность: 38%

Рубрика: Особенности работы управляемого интерфейса, Платформа 1С | Метки: | Оставить комментарий

Запуск внешней обработки по расписанию в конфигурации «Управление торговлей 11»

Всем привет.

В комментариях к статье был задан в вопрос «Как пользоваться в УТ11 запуском СВОИХ обработок по расписанию«.

Постараюсь все подробно объяснить. Начнем.

1. Скачать шаблон обработки.

2. Отредактировать процедуру «СведенияОВнешнейОбработке» в модуле обработке. Все выделенные параметры на рисунке заменить на свои значения

Сведения о внешней обработке

3. Описать код команды для выполнения. Для этого необходимо отредактировать процедуру «ВыполнитьКоманду«.

Выполнение команды

4. Добавить обработку для выполнения и настроить расписание.

  • Перейти в раздел «Администрирование» и выбрать пункт в панели навигации «Печатные формы, отчеты и обработки». Выполнить пункт «Дополнительные отчеты и обработки».

Открыть доп. обработки

  • В форме списка обработок и печатных форм по кнопке «Создать» добавить нашу обработку

Обработка с расписанием

  • В колонке «Расписание» настраиваем наш регламент.
  • После всех настроек необходимо выполнить команду «Записать и закрыть»

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

Обработка в списке рег. заданий

Популярность: 86%

Рубрика: Торговля 3.0 для РБ | Метки: | 45 комментариев

Организация тестового стенда для мобильного приложения 1С 8.3 под Android.

Приветствую Вас, читатели моего блога.

В сегодняшней статье хочу описать свой опыт в подготовке тестового стенда для тестирования мобильного приложения под Android. Как оказалось написать приложение — это лишь пол дела, необходимо его протестировать. А как протестировать не выкладывая на GooglePlay и не закачивая на смартфон? На этот вопрос я попытаюсь ответить.

Начну с того что я попробовал 2 способа:

  1. Связка VirtualBox + Android 4.2.2.
  2. Сборка Android SDK.

Начну VirtualBox + Android 4.2.2.

Для того, чтобы установить Android на VirtualBox я воспользовался советами из статьи на эту тему. После завершения установки и настройки интернета мне необходимо было найти возможность установки приложений минуя  google play и интернет. Можно конечно воспользоваться файловыми ресурсами в виде DropBox, Яндекс.Диск и другие, но хотелось больше независимости в данном вопросе. Я нашел приложение для Android чтобы можно было работать с USB-накопителями как с обычной папкой, для этого необходимо установить программу «paragonmounter-1.10» (после установки она попросит обновится до более последней версии 1.11 с чем и согласился). Данная программа монтирует флешку как папку Android c которой можно копировать любые файлы (монтирование флешки на виртуальную ОС настраивается в специальных настройках VirtualBox). Для удобства работы с файлами я установил программу «ES_File_Explorer» (проводник для Android). Вот так будет выглядеть USB-флешка в проводнике «ES_File_Explorer»:

Отображение флешки в Андроид

Открыв папку «paragonNTFS» мы получим доступ ко всем файлам нашей USB-флешки.

Две эти программы я закачал на Android через интернет используя DropBox, но так же можно использовать любые другие файловые хранилища. Если будут трудности с поиском и скачиванием названных программ, пишите  в комментарий.

Чтобы устанавливать не подписанные приложения на Android необходимо в настройках включить признак «Неизвестные источники».

Настройка для установки приложений Android

С установленными данными программами интернет уже был не нужен чтобы протестировать мобильное приложение 1С, достаточно было на флешку закачать установочный файл и запустить Android на VirtualBox.

Сборка Android SDK.

Саму сборку я скачал отсюда. Сборку рекомендую устанавливать в корень диска, например C:\Android.

После установки, запустив «SDK Manager», установил модули, выделенные на рисунке желтым цветом. Данные модули затем также понадобятся для сборки самого мобильного приложения 1С.

Установка компонент Android SDK

Затем скачал и установил Java SDK 1.7.45, устанавливать рекомендую в корень диска, например C:\Java.

Чтобы создать и запустить виртуальное мобильное устройство с Android, необходимо запустить программу «AVD Manager», которая находится в папке установки Android SDK. В открывшемся меню по кнопке «New» создается виртуальное устройство, а по кнопке «Start» данное устройство будет запущено.
Новое виртуальное устройство
Виртуальное устройство

После того как все запустилось и заработало, необходимо в настройках установить 2 признака «Неизвестные источники» и «Отладка по USB».

Настройка для отладки приложений на мобильном устройстве Настройка для установки приложений на мобильное устройство

Теперь поговорим как установить приложение на наше виртуальное мобильное устройство. Для этого неоходимо сделать следующее:

  1. Запустить виртуальное мобильное устройство через AVD Manager
  2. Отключить на время фаерволы, если такие имеются.
  3. С помощью интерпретатора командной строки ОС Windows выполнить команду %ANDROID_SDK%\platform-tools\adb.exe install «<Каталог платформы>\com.e1c.UTMob.apk» , где %ANDROID_SDK% — это каталог куда установлен Android, а <Каталог платформы> — это каталог где расположен файл «com.e1c.UTMob.apk».

Установка приложения на мобильное устройство

Когда установка завершиться на мобильном устройстве появится ярлык нашего приложения, которое можно запускать и работать.

Мобильное приложение 1С

Для тестирования веб-сервисов на виртуальном мобильном устройстве, опубликованных на локальном компьютере, вместо адреса http://Localhost я использовал адрес http://10.0.2.2

Пару слов о том, как собрать мобильное приложение 1С.

Для сборки мобильного приложения 1С используется обработка «MobileAppWizard.epf», которая поставляется вместе с мобильной платформой. Как заполнять поля описано в справке обработки, которую можно получить по кнопке «?».

Обработка по сборке мобильного приложения

На этом все, будут вопросы спрашиваете, буду рад помочь.

Популярность: 12%

Рубрика: Платформа 1С | Метки: , | 3 комментария

Заметки о СКД. Оптимизация выбора данных

Здравствуйте, дорогие читатели.

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

Пример.
Необходимо вывести остаток, резерв и количество заказанного товара в конфигурации УТ 11.1

В нашем примере получается простой запрос с выбором из нескольких таблиц с левым соединением.

Заметки о СКД.Запрос

Сделаем самую простую настройку: вывод детальных записей.

Заметки о СКД.Настройка

При настройке, которая указана на рисунке, будут выводится все поля. Когда выбираются все поля, то будут задействованы все таблицы запроса. Но допустим пользователю не нужен вывод колонки «Заказано».

Заметки о СКД.Настройка пользователя

При настройках по умолчанию также будет выполняться соединение с таблицей «ЗаказыПоставщикаОстатки», хотя нам этого не нужна. Чтобы СКД помочь выбросить из запроса лишнюю таблицу, необходимо дополнительная настройка. Данная настройка выполняется на закладке «Компоновка данных» в конструкторе запроса.

Заметки о СКД.Настройка оптимизация

На закладке «Таблицы» необходимо в колонке «Обязательная» снять флажки на против таблиц, выводом данных которых, может управлять пользователь. Номер группы ВСЕГДА ДОЛЖЕН БЫТЬ РАЗНЫМ.

После такой настройки запрос примет следующий вид:

Заметки о СКД.Запрос оптимизация

Все левые соединения будут заключены в фигурные скобки.

Вот при такой настройки СКД будет формировать запрос только с теми таблицами, данные которых захотел видеть пользователь, т.е. если поле «Заказано» не выбрано, то и левого соединения с таблицей «ЗаказыПоставщикамОстатки» не будет.

Популярность: 12%

Рубрика: Отчеты (работа СКД) | Метки: | 3 комментария

Восстановление базы данных MS SQL Server из копии на сетевом диске

Здравствуйте, дорогие читатели.
В одной из своих заметок я рассказывал как сделать копию базы данных MS SQL на сетевой диск. Сегодня я хочу рассказать как восстановить базу из копии, которая находится на сетевом диске. Скрипты, приведенные ниже, актуальны для MS SQL 2008R2 и MS SQL 2012, также необходимым условием является запуск Microsoft SQL Server с использованием доменной учетной записи.
Пример.
Резервное копирование ведется по схеме: полная копия делается 1 раз в неделю и каждый день делается разностная копия. Необходимо восстановить базу данных  в новую базу и в текущую.
1. Восстановление в новую базу, т.е. базы еще нет и она будет создана из копии.
USE master
go
exec sp_addumpdevice ‘disk’, ‘BaseBackup1’ ,‘\\IP-Адрес или имя компьютера\папка с копией\TestFULL_backup_201310130530.bak’ ;
go
exec sp_addumpdevice ‘disk’, ‘BaseBackup2’ ,‘\\IP-Адрес или имя компьютера\папка с копией\TestDay_backup_201310160030.bak’ ;
go
RESTORE DATABASE [TestForTest]
FILE = N’Test’ —указывается логическое имя файла БД, из которой были созданы копии
FROM   BaseBackup1
WITH   FILE = 1 ,  
MOVE N’Test’ TO N’K:\DATA\TestForTest.mdf’ , —Первый параметр — это логическое имя файла БД из которой была создана копия, второй параметр — путь, где будет находиться файл БД на диске новой базы
MOVE N’Test_log’ TO N’M:\LOG\TestForTest_log.ldf’, —Первый параметр — это логическое имя файла лога БД из которой была создана копия, второй параметр — путь, где будет находиться файл лога на диске новой базы
NORECOVERY ,  NOUNLOAD ,  REPLACE , STATS = 10
GO
RESTORE DATABASE [TestForTest]
FILE = N’Test’ —указывается логическое имя файла БД, из которой были созданы копии
FROM   BaseBackup2
WITH   FILE = 1 ,   RECOVERY , NOUNLOAD ,   STATS = 10
GO
exec sp_dropdevice ‘BaseBackup1’
GO
exec sp_dropdevice ‘BaseBackup2’
GO
2. Восстановление в существующую базу.
 
USE master
go
exec sp_addumpdevice ‘disk’, ‘BaseBackup1’ ,‘\\IP-Адрес или имя компьютера\папка с копией\TestFULL_backup_201310130530.bak’ ;
go
exec sp_addumpdevice ‘disk’, ‘BaseBackup2’ ,‘\\IP-Адрес или имя компьютера\папка с копией\TestDay_backup_201310160030.bak’ ;
go
RESTORE DATABASE [TestForTest]
FILE = N’Test’ —указывается логическое имя файла БД, из которой были созданы копии
FROM   BaseBackup1
WITH   FILE = 1 ,  
NORECOVERY ,  NOUNLOAD ,  REPLACE , STATS = 10
GO
RESTORE DATABASE [TestForTest]
FILE = N’Test’ —указывается логическое имя файла БД, из которой были созданы копии
FROM   BaseBackup2
WITH   FILE = 1 ,   RECOVERY , NOUNLOAD ,   STATS = 10
GO
exec sp_dropdevice ‘BaseBackup1’
GO
exec sp_dropdevice ‘BaseBackup2’
GO
Сами скрипты можно скачать здесь.
Как посмотреть логические имена файлов БД и лога. Необходим в Management Studio открыть свойства БД из которой была сделана копия и перейти на вкладу File.
СвойстваБД

Популярность: 11%

Рубрика: Настройка и оптимизация | Метки: | 9 комментариев