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

16.11.12

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
РКОСоСканЛистами.epf
.epf 12,23Kb
42
42 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

 

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

 

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

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

Настройки

 

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

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

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

См. также

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

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

29400 руб.

29.06.2023    5677    14    5    

24

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

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

7200 руб.

02.08.2023    3926    11    0    

29

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

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

2 стартмани

22.04.2024    5104    dimanich70    15    

21

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

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

01.03.2024    5572    dimanich70    9    

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