Добавление сканированных изображений напрямую со сканера в документ «Расход из кассы», для вывода их при печати РКО. Сделано для УНФ 1.4, но аналогичным образом можно сделать и на других типовых конфигурациях.

16.11.12

Задачи пользователя - Адаптация типовых решений

Заказчик попросил сделать в УНФ 1.4. механизм печати сканированных документов в печатной форме РКО. Отсканированные файлы должны сохранятся в ИБ прямо со сканера. Эта статья содержит все материалы для реализации этой задачи.

Скачать исходный код

Наименование Файл Версия Размер
РКОСоСканЛистами.epf
.epf 12,23Kb
42
.epf 12,23Kb 42 Скачать

В УНФ 1.4 есть  встроенный механизм работы с файлами - Справочник «Файлы», который нам подходит для реализации поставленной задачи. У справочника «Файлы» есть реквизит «ВладелецФайла», в Типе этого реквизита указаны те документы, для которых надо сохранять файлы. Добавим в свойстве Тип документ «РасходИзКассы».

Добавление документа в тип реквизита

Теперь нужно добавить документ «РасходИзКассы» в общую команду «ПрисоединенныеФайлы».

Переходим к объекту «Общие команды ->ПрисоединенныеФайлы», открываем свойство «Тип параметра команды» и также ставим галочку напротив нашего документа.

Добавление документа в общую команду

Создаем внешнюю печатную форму. Копируем механизм формирования печатной формы из типовой конфигурации УНФ в нашу печатную форму:Процедура Печать, Функция СформироватьПечатнуюФорму. В функцию СформироватьПечатнуюФорму добавляем код для вывода на печать наших отсканированных файлов:

Запрос.УстановитьПараметр("ВладелецФайла", ТекущийДокумент); 

Расширения = Новый Массив;
Расширения.Добавить("JPG");
Расширения.Добавить("BMP");
Расширения.Добавить("PNG");
Расширения.Добавить("GIF");

Расширения.Добавить("jpg");
Расширения.Добавить("bmp");
Расширения.Добавить("png");
Расширения.Добавить("gif");		

Запрос.УстановитьПараметр("Расширения", Расширения);
Запрос.Текст = "ВЫБРАТЬ 
| Файлы.Наименование КАК Имя, 
| Файлы.ТекущаяВерсияРасширение КАК Расширение, 
| Файлы.ТекущаяВерсия, | Файлы.Ссылка, 
| ХранимыеФайлыВерсий.ХранимыйФайл КАК СканИзображение 
|ИЗ 
| Справочник.Файлы КАК Файлы 
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ХранимыеФайлыВерсий КАК ХранимыеФайлыВерсий 
| ПО Файлы.ТекущаяВерсия = ХранимыеФайлыВерсий.ВерсияФайла 
|ГДЕ 
| Файлы.ВладелецФайла = &ВладелецФайла 
| И Файлы.ТекущаяВерсияРасширение В(&Расширения) 
| И НЕ Файлы.ПометкаУдаления";

Выборка = Запрос.Выполнить().Выбрать();

ОбластьСкана = Макет.ПолучитьОбласть("СканЛист");
Пока Выборка.Следующий() Цикл 	
	// + Это код по выводу изображения из БД 	
        Карт = Выборка.СканИзображение.Получить();
	Если Карт <> Неопределено Тогда 		
		ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
		НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
		
		// Преобразовываем файл в изображение 		
                ОбластьСкана.Рисунки.D1.Картинка = Новый Картинка(Карт, Истина);
		
		ТабличныйДокумент.Вывести(ОбластьСкана);
		
		// + Этот текст необходим для вывода на печать 		
                Элемент = ОбъектыПечати.НайтиПоЗначению(ТекущийДокумент);
		Если Элемент = Неопределено Тогда 			
                        ИмяОбласти = "Документ_" + Формат(ОбъектыПечати.Количество() + 1, "ЧН=; ЧГ=") + Выборка.Имя;
		Иначе 			
                        ИмяОбласти = Элемент.Представление + Выборка.Имя;
		КонецЕсли;
		
		ОбъектыПечати.Добавить(ТекущийДокумент, ИмяОбласти);
		
		НомерСтрокиОкончание = ТабличныйДокумент.ВысотаТаблицы;
		ТабличныйДокумент.Область(НомерСтрокиНачало, , НомерСтрокиОкончание, ).Имя = ИмяОбласти;
		// - Этот текст необходим для вывода на печать 	
 КонецЕсли;
	// - Это код по выводу изображения из БД 
КонецЦикла; 

В УНФ 1.4.2.22 и выше появились проблемы с внешними печатными формами из за кода в общем модуле «ОбщегоНазначения» в функции «ПроверитьПроведенностьДокументов». Там есть такой запрос:

 

ШаблонЗапроса =        
"ВЫБРАТЬ 
| Документ.Ссылка КАК Ссылка 
|ИЗ | &ИмяДокумента КАК Документ 
|ГДЕ 
| Документ.Ссылка В(&МассивДокументов) 
| И (НЕ Документ.Проведен)"; 

Этот запрос работает с ошибкой с документами в которых есть реквизит с именем «Документ». Можно выйти из этой ситуации переименовав в запросе «Документ» например на «Док123». Вот так получится:

 

ШаблонЗапроса =        
"ВЫБРАТЬ 
| Док123.Ссылка КАК Ссылка 
|ИЗ | &ИмяДокумента КАК Док123
|ГДЕ 
| Док123.Ссылка В(&МассивДокументов) 
| И (НЕ Док123.Проведен)";

 

Только так наша печатная форма заработает с нашим документом. Надеюсь в будущем разработчики 1С исправят этот Баг.

В прикрепленном файле лежит полностью рабочая внешняя печатная форма.  Чтобы файлы сохранялись сразу при сканировании, необходимо в «Настройках» -> «Персональные настройки» настроить ваш сканер.

Настройки

 

Выбор настроек сканирования

Настройки сканирования

Добавить внешнюю печатную форму можно в режиме пользователя в меню «Администрирование -> Дополнительные отчеты и обработки».

См. также

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    4698    10    5    

18

Расширение для 1С:УНФ. Автоматическое снятие резервов в Заказах покупателей

Логистика, склад и ТМЦ Адаптация типовых решений Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    3128    4    0    

20

Каждому менеджеру нужен свой Excel

Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Каждый из нас сталкивается с ситуацией, когда какой-нибудь менеджер показывает свой Excel и рассказывает, как он что-то из 1С копирует в него, снабжает пояснениями, выделяет цветом и т.д. и т.п. Заканчивается все просьбой сделать вот чтобы также было в 1С. И оказывается такой человек (почти с гарантией) либо лучшим продажником, либо каким-то важным, за все отвечающим, - на ком все держится.

2 стартмани

22.04.2024    3126    dimanich70    6    

14

Создать на основании - своя кнопка (БСП). Проблема двух подменю Создать на основании

БСП (Библиотека стандартных подсистем) Адаптация типовых решений Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Понадобилось в подменю "Создать на основании" добавить свою команду, которая открывает обработку. В процессе доработок появилась проблема двух подменю "Создать на основании". В статье о том, как решились проблемы.

01.03.2024    1775    dimanich70    8    

14

Доработка отчета "Связанные документы" (структура подчиненности) для вывода объектов из любого расширения

Адаптация типовых решений Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

27.10.2023    2130    19    avmartynov    14    

44
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. One_Assembler 30.12.19 10:55 Сейчас в теме
«Общие команды ->ПрисоединенныеФайлы», открываем свойство «Тип параметра команды»------не активна((((
И как добавить всё это в отдельную доработку УНФ, без изменения типовой конфигурации?
Оставьте свое сообщение