Сканируем без сканера или MXL to JPG

Публикация № 128404

Разработка - Печать - Печатные формы документов

137
Хотите конвертировать документы в формат изображения менее чем за минуту, не имея сканера? Тогда эта статья для вас.

Предисловие.

Многим компаниям, продающим, в основном, через интернет-магазин, приходится высылать своим клиентам счета на оплату по электронной почте. Для этого они печатают счет, несут его на подпись, ставят печать и, наконец, сканируют готовый к отправке документ.

Весь процесс в среднем занимает около 5 минут, что при обороте компании в 8000 счетов в год с отделом продаж из 4 человек и 8 часовом рабочем дне, путем нехитрых вычислений может обернуться в месяц работы. То есть, если бы менеджеры занимались только сканированием счетов, то у них на это ушел бы почти месяц! Теперь посчитайте, сколько компания платит за месяц работы четырем менеджерам.

Рождение идеи.

После всего вышесказанного приходит только одна мысль - как ускорить этот процесс. Сначала мы просто сохраняли документ в формат Excel с вшитыми внутрь изображениями печатей и подписей. Однако, вскоре, стало ясно, что некоторые клиенты не могут открыть столь популярный формат xls. Тогда пришла в голову мысль: JPG - один из самых распространенных форматов изображений в мире - нужно использовать его.

Технология работы.

Ничего нового я не придумал, однако я решил, что стоит об этом написать. Скачиваем и устанавливаем виртуальный принтер "PDFCreator". Чтобы наши отсканированные документы имели печать и подпись, необходимо вставить их оригинал в формате PNG в макеты нужных документов, и самое главное, установите свойство "Выводить на печать=ЛОЖЬ", чтобы простой вывод на принтер был без лишнего мусора. Теперь, чтобы все заработало, открываем Конфигуратор -> Общие формы -> ПечатьДокументов. Создаем кнопку "Сканировать". Далее в обработке события по нажатию пишем следующий код:  

//Разрешаем вывод печатей и подписей
ЭлементыФормы.ПолеТабличногоДокумента.Защита = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмотр = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(1).ВыводитьНаПечать = Истина; //Печать
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(0).ВыводитьНаПечать = Истина; //Подпись 1
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(2).ВыводитьНаПечать = Истина; //Подпись 2

Попытка
 PDFCreator = Новый ComОбъект("PDFCreator.clsPDFCreator");
 PDFCreator.cStart("/NoProcessingAtStartup" );
 PDFCreator.cClearcache();
 PDFCreator.cPrinterStop = false;
 
//PDFCreator.cDefaultprinter = "PDFCreator";
 Если Не PDFCreator.cProfileExists("Печать 1С") Тогда
  
PDFCreator.cAddProfile("Печать 1С", PDFCreator.cStandardOptions);
 КонецЕсли;
 ///Настройки
 PDFCreatorOptions = PDFCreator.cReadOptions("Печать 1С");
 //PDFCreatorOptions.NoConfirmMessageSwitchingDefaultprinter = Истина;
 PDFCreatorOptions.UseAutosave = 1;
 PDFCreatorOptions.UseAutosaveDirectory = 1;
 PDFCreatorOptions.AutosaveFormat = 2;
 PDFCreatorOptions.AutosaveDirectory = "С:\Temp_1C\";
 PDFCreatorOptions.AutosaveFilename = "document";
 PDFCreatorOptions.JPEGResolution = 200; //dpi
 PDFCreatorOptions.JPEGQuality = 100; //коэффициэнт качества


 PDFCreatorOptions.AutosaveStartStandardProgram = 0;
 PDFCreator.cSaveOptions(PDFCreatorOptions,"Печать 1С");
 PDFCreator.cOptionsProfile = "Печать 1С";
 PDFCreator.cOptions = PDFCreatorOptions;
 //процесс "сканирования"
 ЭлементыФормы.ПолеТабличногоДокумента.ИмяПринтера = Принтер.Item(1);
 ЭлементыФормы.ПолеТабличногоДокумента.Напечатать();
 //*********************
Исключение
 
Сообщить("Ошибка");
КонецПопытки;

//Снова запрещаем вывод на печать рисунков
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(1).ВыводитьНаПечать = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(0).ВыводитьНаПечать = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(2).ВыводитьНаПечать = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Защита = Истина;
ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмотр = Истина;

Готово. Наш документ отсканирован и сохранен по адресу C:\Temp_1C\document.jpg. Можем его смело отправлять по почте.

Бонус.

Вообще говоря, я немного усовершенствовал эту систему, добавив функцию автоматической отправки почты уже с вложенным "сканом" документа. Для этого вам нужно воспользоваться вот этой обработкой - ее необходимо вставить в конфигурацию и назвать СоздатьПисьмо. Теперь немного добавим к вышеописанному коду:

Форма = Обработки.СоздатьПисьмо.Создать().ПолучитьФорму();
Подпись = "Стандартная подпись".

Форма.ЭлементыФормы.ПолеТекст.УстановитьТекст(Подпись);
Форма.Тема = "Счет на оплату.";
Форма.ОткрытьМодально();

Теперь, в коде основной формы обработки "СоздатьПисьмо" пишем:

Процедура ПриОткрытии()
 
Сообщ = Новый ПочтовоеСообщение;
 
Предупреждение("Сканируем... Не закрывайте это окно!",15);  //Даем время чтобы PDFCreator успел отсканировать
 
Строка = Вложения.Добавить();
 
Строка.ИмяФайла = "document.jpg";
 
Строка.Путь = "C:\Temp_1C\document.jpg";
КонецПроцедуры

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

Надеюсь, кому-то статья пригодится.

137

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Трактор 1191 24.05.12 12:38 Сейчас в теме
А если web клиент и сервер на линуксе?
4. xzorkiix 32 25.05.12 14:26 Сейчас в теме
(1) Трактор,

А если web клиент и сервер на линуксе?


Сохранять в pdf ТабличныйДокумент на стороне сервера средствами платформы.
http://www.forum.mista.ru/topic.php?id=593294

В случае серверной стороны на Win, то предложенный здесь метод будет работать - выполнять, повторюсь, на стороне сервера.
Азбука Морзе; +1 Ответить
33. Lyas 04.02.13 14:13 Сейчас в теме
Что за переменная Принтер здесь -
ЭлементыФормы.ПолеТабличногоДокумента.ИмяПринтера = Принтер.Item(1);
у меня не работает.
34. shakmaev 339 13.02.13 17:13 Сейчас в теме
(33) Lyas, пишу по памяти потому как модуль уже переделал. Переменная принтер тут отвечает за список установленных принтеров в системе, а Item(1) в свою очередь указывает на конкретный принтер этого списка. Такова была специфика.
2. shakmaev 24.05.12 12:50 Сейчас в теме
Обращаю внимание что в статье я пишу о использовании PDFCreator, или эта программа кроссплатформенная?
jONES1979; +1 Ответить
3. ediks 329 24.05.12 13:28 Сейчас в теме
(0)
1) Можно не создавать профиль в реестре. Все равно все настройки в коде устанавливаются. Я, по крайней мере, так делаю.
2) Можно сделать выбор в каком формате сохранять, например, .PDF. Тогда конвертация будет более универсальной.

Что-нибудь вроде этого:

		ОбъектПринтер.cVisible = ЛОЖЬ;
		Опции = ОбъектПринтер.cReadOptions();
		Опции.ShowAnimation = 0;
		Опции.UseAutosave=1; // автосохранение
		Опции.StartStandardProgram = 0;	// все равно программа не запускается (работает только в случае, если установить этот флаг непосредственно в PDFCreator)
		Опции.UseAutosaveDirectory = 1; // сохранять в
		Опции.AutosaveDirectory = Каталог;  // путь автосохранеия
		Опции.AutosaveFilename = ФайлПечати; // имя файла
		Опции.AutosaveFormat = 0;    // формат - PDF
		Опции.PDFUseSecurity = 1; // защита PDF
		Опции.PDFAes128Encryption = 1;
		Опции.PDFOwnerPass = 1;
		Опции.PDFOwnerPasswordString = Строка(Новый УникальныйИдентификатор);//значение пароля 
		Опции.PDFDisallowCopy = 1; // защита PDF
		Опции.PDFDisallowModifyContents = 1; // защита PDF
		Опции.DisableEmail = 1;
		Опции.PDFDisallowModifyAnnotations = 1;
		Опции.PDFDisallowPrinting = 1;
		ОбъектПринтер.cOptions = Опции;
		ОбъектПринтер.cDefaultprinter = PDFCreator;
		ОбъектПринтер.cClearcache();
		ОбъектПринтер.cPrinterStop = Истина;//остановим, пока не получены все задания на печать
Показать
5. IamAlexy 492 27.05.12 00:39 Сейчас в теме
Хорошо что у меня платформа 8.2 а не 8.2 которая у автора стоит и про которую автор пишет
я могу штатно все печатные формы в PDF сохранять...
30. JohnyDeath 294 20.07.12 13:47 Сейчас в теме
(5), (26), (27)
Родная сохранялка в PDF работает не всегда правильно. Если кто не верит - могу показать.
Вирт. принтер тоже не могу использовать, т.к. его надо устанавливать.
Пока остановился на Yoksel-е, но там тоже проблема нарисовалась.

Неужели не существует ВК, которая преобразовывает MXL в jpg/png/pdf? (pdf хотя бы как картинка)
6. shakmaev 27.05.12 18:38 Сейчас в теме
Хочу обратить внимание что JPG гораздо популярнее PDF, в связи с этим пользователю не нужно скачивать Adobe Reader или иное ПО для чтения PDF.
7. IamAlexy 492 27.05.12 22:16 Сейчас в теме
(6) где джипег популярнее?
стандарт де факто - пдф

не говоря уже о том что работая с пдф при решении основной задачи "нередактируемость сохраненного макета" вы получаете
1. стандартный формат
2. выгрузку из любых режимов (толстый тонкий и веб)
3. возможность клиенту копировать куски текста из этого самого ПДФ

а п.3 очень и очень важен.
он означает что ваш клиент получив счет от не матерится на безмозглых дурачков которые ему прислали идиотский скан с которого все реквизиты приходится перебивать с клавиатуры а нормально через копировать/вставить все номера счетов, ИННы и прчие БИКи в свою базу копирует.
Vlad_2008; dkprim; Zebar; echo77; Dimasik2007; vital1c; Slotty; CatMix; Brawler; Varies; Il; savflint; demon642@mail.ru; RayCon; +14 Ответить
8. shakmaev 28.05.12 09:51 Сейчас в теме
(7) IamAlexy, возможно, вы правы, я всего лишь описал еще одну возможность упрастить жизнь менеджера. Дело стоит за малым использовать то, что написано в этой статье, либо в 8.2 сохранить в PDF. Никто никого не заставляет=) Поэтому споры тут нецелесообразны. Еще раз обращаю внимание что статья не о MXL to PDF, а MXL to JPG.
savflint; +1 Ответить
26. Varies 10.07.12 07:45 Сейчас в теме
Помоему самый удобный вариант это сохранить сразу в PDF, поддерживаю (7)
20. Rustig 1194 09.07.12 14:26 Сейчас в теме
(6), (7) я конвертирую счета в формат .png.
потому что в pdf я не смог обойти такую проблему: у меня печать и подпись можно скопировать из создаваемого pdf,
а из png нельзя. И это при установленной защите от копирования текста...
И надо сказать, что база на платформе 8.1.
24. IamAlexy 492 09.07.12 17:13 Сейчас в теме
(20) надо будет взять твою печать и подпись: возьму фотошоп и за 5 минут вырежу...
это вообще не проблема..
38. alexqc 146 15.04.13 19:49 Сейчас в теме
(20) Rustig, А кто помешает желающему печать-подпись скопировать непосредственно из рисунка? Сложнее чем копи-паст, но не недоступно. ИМХО, тут разве что наложение "водяного знака" через весь документ с печатью поможет, либо надпись на печати некоего уникального кода именно этого документа.
9. savflint 29.05.12 12:31 Сейчас в теме
спасибо за труды. очень пригодилось.
10. CheBurator 3399 30.05.12 03:49 Сейчас в теме
все равно все эти решения через виртуальные принтера - через задницу. д.б. тупо и просто, типа как экспорт в пдф в либре или kingoffice
11. 1977 2 30.05.12 11:36 Сейчас в теме
pdf принтером пользуемься 5 лет. Полет нормальный.
savflint; +1 Ответить
12. TitanLuchs 152 08.06.12 10:35 Сейчас в теме
А в "отсканированный" таким образом документ можно вставить печать и подпись в нужное место? Если их прилепить на печатную форму они подхватятся этой обработкой?
13. shakmaev 08.06.12 12:08 Сейчас в теме
(12) TitanLuchs, несомненно! В статье я привожу пример как я использовал реализацию данного метода под себя
ЭлементыФормы.ПолеТабличногоДокумента.Защита = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.ТолькоПросмотр = Ложь;
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(1).ВыводитьНаПечать = Истина; //Печать
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(0).ВыводитьНаПечать = Истина; //Подпись 1
ЭлементыФормы.ПолеТабличногоДокумента.Рисунки.Получить(2).ВыводитьНаПечать = Истина; //Подпись 2


То есть в макете у меня есть 3 картинки, но они не выводятся на печать. Когда я начинаю их "сканировать", то делаю их доступными для печати.
14. Шёпот теней 1754 08.06.12 15:51 Сейчас в теме
... хм ...

в целом идея понравилась ... к тому же: Надо было - СДЕЛАЛ !!!

... а кто мешает использовать HTML тОООже ...

... недооценённый формат и читается "всем чем хочешь"... текстовый формат - хорошо "ужимается" в архив ...

... вот ...
15. shakmaev 09.06.12 12:26 Сейчас в теме
(14) Шёпот теней, к слову о HTML могу отметить небольшой, но очень неудобный минус - печати и подписи будут храниться отдельно в файлах. Это я к тому, что картинки там только в <img>
16. Шёпот теней 1754 09.06.12 15:28 Сейчас в теме
(15) ... сОгласен ...

не вижу в этом большого неудобства ... зато в одном архиве ... ))) ...

... впрочем, о вкусах не спорят ... путей много ... )))

... вотУДАЧИвот ...
shakmaev; +1 Ответить
21. Rustig 1194 09.07.12 14:31 Сейчас в теме
(16) кто ж тебе из клиентов позволит пересылать подписи и печать в готовом виде? это ж подстава...
а ведь речь в большинстве случаев о том, как подписанный счет да с подписью переслать контрагенту... ;)
25. IamAlexy 492 09.07.12 17:15 Сейчас в теме
(21) есть конторы которы НЕ платят по счету даже если это аванс без печати и подписи
подавай им хотя бы сканкопию или по факсу но чтобы была печать и подпись.
Понятное дело - они потом оригинал затребуют всегда, но для оплаты аванса им таких "отсканированных" печати и подписи за глаза хватает
17. cool.vlad4 45 09.06.12 15:39 Сейчас в теме
(15) вообще-то картинки можно внедрить в сам html как base64 данные и не будет никаких файлов отдельных , вот так
<img src="data:image/gif;base64, здесь base64 data>

у html другой минус, с ним затрахаешься, чтобы он нормально отображался так как есть, разные браузеры, разная поддержка html привела к бардаку, с которым не очень хочется связываться, если ты не дизайнер html (я вот не дизайнер), то колонки будут не той ширины, то ячеки будут сдвинуты, ну его нафиг. html хорош для сайтов.
Rustig; orefkov; Шёпот теней; shakmaev; +4 Ответить
18. Шёпот теней 1754 26.06.12 11:28 Сейчас в теме
(17) ... у 1С свой читальщик html ...

п.с. "html хорош для сайтов" ... однако XML пользуемся и ничего (в принципе то же самое) ... ну а браузеры лишь повторяют войну стандартов ...

... вотПРОСТОвот ...

...
47. cool.vlad4 45 16.01.14 20:04 Сейчас в теме
(18) Шёпот теней, прошу прощения за супер поздний ответ (просто у меня в почте письма от ИС в спам попадают, а я не особо парюсь, уж больно много писем от ИС). нет никакой разницы в контексте веба html или xml, xml также будет отображаться по разному, это не от формата зависит, а от поддержки и совместимости браузеров. вон я открывал rsdn, что там такого сложного в верстке сайта? в IE один вид и даже цвет, в хроме другой. Там xml хочу заметить.(в статьях по крайнем мере). А рендеринг шрифтов? Просто имеется в виду наверное xml собственной разметки, не вебовской. Ну тогда о чем речь, html в этом случае ничем не отличается от xml, сделайте достройку дерева в html до xml и отображайте xml так как вам надо.
37. alexqc 146 15.04.13 19:37 Сейчас в теме
(15)
1. Есть формат mht (МСовский "веб-архив") - весь html одним файлом. Сделать его из страницы в принципе не сложно: сам формат соответствует MIME секционному файлу, похожим образом файлы писем формируются (подробнее тут, хотя и замудрено, проще сохранить страницу как mht и посмотреть внутрь - все понятно будет). Поддерживается (естественно!) MSIE, оперой, вроде с недавнего времени - хромом, а лисой - только с соотв. расширением. Если целевой получатель пользуется ИЕ - вполне пойдет.

2. Более интересная вещь: есть протокол "встроенных данных" (data), может быть использован в любом источнике данных (src) html-документа. Выглядит так: "data:<ТипДанных>;<ТипКодировки>,<Данные>", где <ТипДанных> - MIME-тип данных, "<ТипКодировки>,<Данные>" - соответственно текстовое представление данных (в случае двоичных данных - лучше всего в base64) - подробнее тут.

То есть для картинок будет где-то так:
"data:image/jpeg;base64,"+Base64Строка(ДвоичныеДанные_Из_Файла_Картинки) .

Ограничение - встраиваемый объект не может превышать 32К.

Доб.: Увидел (17) после написания поста
19. Para_1987 72 08.07.12 12:49 Сейчас в теме
22. Rustig 1194 09.07.12 14:37 Сейчас в теме
(0) название статьи не соответствует содержимому.
читатель обманывается, хоть и не замечает этого.
Вы не сканируете, вы конвертируете форматы. Это первое замечание.
Второе, неужели вы не использовали следующие статьи?
http://infostart.ru/public/75969/
http://infostart.ru/public/20710/
По-моему, ссылка на первоисточник должна быть.
23. shakmaev 09.07.12 14:46 Сейчас в теме
(22) Rustig, обращаю внимание что сканировать без сканера в принципе невозможно. Первая часть названия статьи передает сущность написанного, а вторая часть после слова "или" раскрывает технический смысл написанного.

Писал статью опираясь исключительно на свой опыт, а найти информацию о технологии можно по всему интернету. В статье я делаю акцент именно на идею использования технологии.
28. marat_n 110 11.07.12 12:38 Сейчас в теме
В (22) правильно сказано, что по сути всё уже было тут на инфостарте. Единственное отличие - jpg, но это как раз не самое удачное, решение. PDF всё-таки правильней. Во-первых, картинки обычно корпоративной почтой режутся чаще, чем PDF-ки (да и шанс под спам-фильтр попасть у клиента с jpg-ом при авторассылке скорее всего выше). Во-вторых, нормальная распечатка PDF-файла гораздо проще, чем jpg, особенно, если документ будет на несколько страниц. Ну и как правильно заметили, текст из jpg не копируется. Да и кстати, jpg для передачи картинок с текстом изначально не предназначен.

А вот по поводу использования виртуальника, а не встроенного конвертора, к сожалению вопрос актуальный для многих. Поддержка pdf появилась насколько я помню только в 8.2.15, а далеко не все на эту платформу перешли из-за того, что необходимо конвертить базу, решать проблемы совместимости и прочее.
27. Stamper 37 10.07.12 17:36 Сейчас в теме
хорошо, что 1С уже из коробки может сохранять табличный документ в PDF
31. CaSH_2004 354 01.02.13 13:55 Сейчас в теме
(0) Статья полезная, вот только не для документов, кстати а почему автор указан как "(shakmaev) Александр Шакмаев" а отписывается как "cruze"? Это конспирация или что?
(30) Любопытно какие проблемы есть, поделитесь?
(21) Дают, и еще и просят. Кто хочет тот и из png все что нужно вырежет как уже сказал (24)
Я тоже больше за PDF в силу его простоы
32. shakmaev 339 01.02.13 14:05 Сейчас в теме
(31) CaSH_2004, это глюк сайта. Я изменил логин, в комментариях почему то он не поменялся.
35. webester 29 11.04.13 14:14 Сейчас в теме
На тему jpg vs pdf, мне тоже кажется что по факту должен быть pdf, pdf в хорошем качестве может быть 100-200 килобайт, jpg никогда.
39. alexqc 146 15.04.13 19:57 Сейчас в теме
(35) webester, это зависит от pdf. Поскольку в pdf может сохраняться текст как текст, такой pdf будет меньше jpg, в котором этот текст будет тем же рсунком (да и полезные возможности типа копирования текста будут). Ну а если в pdf текст как рисунок сохранить - будет и больше jpg. Кстати, jpg как формат рисунка для текстов - не лучший вариант.
41. webester 29 21.04.13 15:00 Сейчас в теме
(39)Сканировали в pdf не распознавая, размер получался меньше в разы, чем в jpg. А в случае с печатью из 1С там вообще текст при любом раскладе, то есть размер гарантировано меньше.
42. shakmaev 339 22.04.13 09:22 Сейчас в теме
(41) webester,
1. На момент написания статьи в платформе 1С еще не был реализован метод сохранения документов в формат pdf.
2. Формат JPG открывается стандартными средствами Windows, Mac, Linux, именно поэтому в моем случае был выбран формат изображения.

p.s. Сейчас уже используем PDF потому как клиентам удобно копировать оттуда реквизиты для оплаты.
36. orehova123 15.04.13 06:36 Сейчас в теме
хых! народ активно продает такие разработки по 1000-2000 (зависит от навороченности), а тут вот вам - открытый код ))))
40. s_uu 20 18.04.13 17:26 Сейчас в теме
Считаю, что pdf самый удобный формат для рассылки счетов. С остальными форматами мороки больше!
43. webester 29 22.04.13 16:31 Сейчас в теме
На момент написания статьи в платформе 1С еще не был реализован метод сохранения документов в формат pdf

Ваш метод сам по себе строится на pdf принтере. О чем вы? То есть возможность печати в файл и в пдф в том числе, это обязательное условие вашего решения.
Формат JPG открывается стандартными средствами Windows, Mac, Linux, именно поэтому в моем случае был выбран формат изображения
Тут вы все таки правы, но я все равно бы выбрал PDF, в силу того что он уже давно стандарт для электронного документа, бесплатные реализации читалок pdf есть для любой ОС. Не надо тормозить прогресс. Так и до блокнота можно докатиться. Когда заходит речь о установке\переустановке ОС, постоянно слышу:
%Name% не забудь программу поставить, что бы счета из электронки открывались ну эту... ну ты понял
:) То есть это норма читалка пдф и уже давно.
44. shakmaev 339 22.04.13 17:01 Сейчас в теме
(43) webester,
А в случае с печатью из 1С там вообще текст при любом раскладе, то есть размер гарантировано меньше.


*я об этом неуместном комментарии

:) То есть это норма читалка пдф и уже давно.


Можем спорить бесконечно о популярности форматов, их хороших и плохих качествах, как было выше в комментариях.
Однако, говоря о нормах, еще есть люди, способные при замене у них монитора задавать вопрос: "А пароль от Виндус сменился?", и это далеко не предел.
45. webester 29 26.04.13 06:06 Сейчас в теме
(44)
Однако, говоря о нормах, еще есть люди, способные при замене у них монитора задавать вопрос: "А пароль от Виндус сменился?", и это далеко не предел.

Так можно и до динозвра за монтором дойти начать решать вопрос, что у него когти к стандартной клавиатуре не подходят. Должны быть рамки разумного.
46. Alfer 16.01.14 19:44 Сейчас в теме
идея - супер - поддерживаю спасибо автору за труд
48. victor_k 26.07.18 04:00 Сейчас в теме
Зачем в pdf, а не в xls? Если, чтобы не подделывали документы, тогда лучше в картинку jpg, tif,.. поскольку есть программы которые умеют корректировать pdf, если там есть текст... хотя и картинку можно отфотошопить, но это уже труднее, если еще картинку документа зашумить... е
а еще лучше использовать электронные подписи
Оставьте свое сообщение

См. также

Полезняшки по СКД и построителям. Просто код 36

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Универсальные функции

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    2173    Yashazz    31       

Полезные процедуры и функции для программиста 107

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования

Все мы пишем программный код и часто используем процедуры, облегчающие его написание. Ниже приведена выборка таких полезных процедур и функций.

07.10.2019    5627    HostHost    21       

Отслеживание выполнения фонового задания 133

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

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

17.08.2019    8036    ids79    14       

Выгрузка данных в таблицу MS SQL SERVER 14

Статья Программист Нет файла v8 MS SQL Бесплатно (free) Внешние источники данных

Процедура по выгрузке данных из 1C (таблица значений) в таблицу MS SQL SERVER через COM.

02.07.2019    1703    EvgenSav    6       

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

Статья Бизнес-аналитик Нет файла v8 1С:Франчайзи, автоматизация бизнеса УУ Розничная торговля Бесплатно (free) Внешние источники данных

Машинное зрение в магазинах и 1С. Как поднять эффективность торгового предприятия (магазин. кафе, шоурум и т.д.) с совершенно неожиданной стороны? Как получить реальные демографические данные покупателей и, самое главное, как это использовать в повседневной работе магазина? Как можно расширить привычные ABC и XYZ анализ, добавив в них пласт данных о трафике и демографии покупателей? Что необходимо для 1С, чтобы использовать данные видеоанализа людского трафика?

20.06.2019    3471    osipov_cvizi    16       

Сохранение запроса со всеми параметрами и временными таблицами 20

Статья Программист Нет файла v8 v8::УФ Россия Бесплатно (free) Универсальные функции

Функция сохранения запроса со всеми параметрами и временными таблицами в формате *.q1c для открытия в консоли запросов с диска ИТС.

13.05.2019    2373    Serge R    5       

Интеграция решений на 1С и сервиса обмена данными RabbitMQ 100

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Внешние источники данных

"Hello world" из 1С на сервер RabbitMQ и обратно. Полностью открытый код 1С! Реализация протестирована на 1С 8.3.12.1714 (x64).

24.04.2019    8196    Eret1k    44       

MS Access и 1С. Что, когда и зачем? 70

Статья Программист Бизнес-аналитик Нет файла v8 Бесплатно (free) Практика программирования Разработка Внешние источники данных

Об использовании MS Access в связке с 1С. Можно ли использовать продукты Office на сервере. Когда Access может быть полезен. Примеры работы и другое.

09.04.2019    14683    YPermitin    31       

Доработка проведения типовых документов в УТ 11.4, КА 2.4, ЕРП 2.4 101

Статья Программист Нет файла v8 v8::УФ ERP2 УТ11 КА2 Россия УУ Бесплатно (free) Практика программирования Универсальные функции Разработка

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

22.03.2019    8669    ids79    14       

RabbitMQ + Конвертация Данных 3.0 178

Статья Системный администратор Программист Бизнес-аналитик Руководитель проекта Нет файла v8 КД Бесплатно (free) Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8

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

21.03.2019    13665    barelpro    82       

Работа со строками: от простого к сложному 25

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Простые примеры работы со строками, в конце более читаемый разбор сложных текстов.

14.01.2019    7385    Evg-Lylyk    17       

Работа с кассой Atol через веб-сервер ДТО-10 54

Статья Программист Нет файла v8 Россия Кассовые операции НДС Бесплатно (free) Внешние источники данных ККМ Фискальный регистратор

Поддержка многопользовательской печати на одном устройстве ККТ. Поддержка изменений в законодательстве (Переход на ФФД 1.05 и НДС 20%).

31.12.2018    16546    medangel    36       

RabbitMQ, Python и Windows. Step By Step 36

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Внешние источники данных

Работа с шиной RabbitMQ, используя Python на Windows. Пошаговый быстрый старт.

13.12.2018    5093    w.r.    7       

Универсальные функции ЗУП 3.1 / ЗКГУ 3.1, которые помогут в разработке 463

Статья Программист Нет файла v8 v8::СПР ЗКГУ3.0 ЗУП3.x БУ Зарплата Управление персоналом (HRM) Бесплатно (free) Универсальные функции

В статье размещен список стандартных процедур и функций с примерами, которые могут помочь при разработке (доработке) конфигураций Зарплата и управление персоналом ред. 3.1 и Зарплата и кадры государственного учреждения 3.1. Иногда бывает довольно сложно правильно получить данные или долго, поэтому лучшим вариантом будет использование стандартных процедур. Буду очень признателен, если Вы поделитесь своим опытом и предложите свои варианты стандартных процедур которые помогают в работе. Или предложите, как дополнить имеющиеся процедуры.

14.11.2018    31456    GeterX    93       

Кадровые данные сотрудников в ЗУП 3.1 в отчетах 38

Статья Программист Нет файла v8 v8::СПР ЗУП3.x Россия Управление персоналом (HRM) Бесплатно (free) Универсальные функции

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

07.11.2018    12804    fromlion    12       

Простой способ программно открыть заполненную форму нового (незаписанного) документа в тонком клиенте 15

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

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

09.06.2018    7345    Serge R    12       

Интеграция Zimbra и 1С 22

Статья Программист Нет файла v8 Россия УУ Управление взаимоотношениями с клиентами (СRM) Бесплатно (free) Внешние источники данных

В публикации описывается способ интеграции 1С с почтовым сервером Zimbra, используя SOAP сервис. Рассматривать вопрос интеграции будем на примере бизнес задачи, из блока CRM. Реализации общей адресной книги(GAL-Global Address List) между сотрудниками. Сотрудники(компания) ведет весь учет в 1С, в том числе и элементы CRM, а Zimbra выступает лишь в роли почтового сервиса. Сделать данную публикация побудило отсутствие в интернете готовых примеров совместной работы 1С и Zimbra. Надеюсь, она поможет кому-либо сократить время на реализацию похожей задачи.

16.04.2018    7240    Гексагон    17       

Минимализмы 3 350

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35404    ildarovich    44       

Таблица значений в Таблицу HTML - функция с возможностью настройки цвета шапки, заголовков, выравнивания и размера колонок 83

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Если вам нужно быстро получить таблицу значений в виде строкового типа 1С в формате HTML, вам поможет эта функция, включена возможность автоматического вывода столбца пункт по порядку.

22.12.2017    18801    rpgshnik    21       

Пример преобразования двоичных данных в строку 26

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Доброго всем времени суток. Хочу поделиться маленьким решением маленькой проблемы. Думаю, будет интересно новичкам. Я не раз встречал на форумах вопрос: как преобразовать двоичные данные в строку? В частности, к примеру, частенько нужно получить хэш файла MD5 в текстовом виде, но как мы знаем 1С возвращает его в виде двоичных данных.

08.12.2017    12338    frkbvfnjh    19       

Определяем контекст сеанса 1С программно (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.) 31

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции

Иногда возникает необходимость программно определить контекст сеанса в 1С. Скажем вам надо понять что этот сеанс запущен и используется HTTP-Сервисом и не регламентным заданием или толстым клиентом. Порывшись в интернете я нашел только два способа которые не позволяли отличить регламентное задание от HTTP-Сервиса, стандартная функция ТекущийРежимЗапуска() тоже не позволяет определить запуск HTTP-Сервиса. Но в 1С есть стандартные средства которые позволяют решить эту задачу.

08.11.2017    15327    azubar    9       

Создание мобильного клиента 1С на Android с использованием HTTP-сервисов 144

Статья Программист Нет файла v8 v8::Mobile Android Бесплатно (free) Внешние источники данных Мобильная разработка

Краткий курс по созданию мобильного приложения на Android, который связывается с сервером 1С через HTTP-сервис. Публикация рассчитана на тех, кто хорошо знаком с программированием на платформе 1С и владеет основами программирования на платформе Android (умеет создавать Activity и знает, как устроена структура проекта).

03.11.2017    26170    cdiamond    15       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Математика и алгоритмы Универсальные функции

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

12.10.2017    14432    for_sale    58       

Добавление команд печати в конфигурациях на БСП 2.4.3 (в частности, в самописных документах в Бухгалтерии 3.0 после релиза 3.0.52.35) 143

Статья Программист Нет файла v8 v8::БУ БП3.0 Россия Бесплатно (free) Печатные формы документов Практика программирования БСП (Библиотека стандартных подсистем)

В статье https://infostart.ru/public/237013/ пользователя nick max рассматривался список действий для подключения команд печати в Бухгалтерии 3.0, работающей на БСП 2.3.6. В новом релизе Бухгалтерии 3.0.52.35 от 15.09.2017г. стала использоваться БСП 2.4.3, из-за чего произошли изменения в процедурах общих модулей, связанных с механизмом печати, и в процедурах их вызова в формах документов и в формах списков. Рассмотрим их.

18.09.2017    46567    bugtester    43       

Как сделать конфигурацию «1С:Предприятие 8» приложением QuickBooks. Проходим авторизацию OAuth 1.0a+OpenID 2.0 52

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Внешние источники данных

Пришло время, когда интеграция со сторонними организациями и их приложениями стала необходимостью для успешного ведения бизнеса. В этой статье будет рассмотрено прохождение авторизации OAuth 1.0a+OpenID 2.0 и превращение конфигурации «1С:Предприятие 8» в приложение QuickBooks.

10.09.2017    17260    pbazeliuk    28       

Разность дат 21

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Иногда требуется получить разность дат в виде типа: 5 дней 6 месяцев 4 года. Это можно сделать с помощью запроса, получив на выходе сразу 3 нужных числа, без последующих вычислений.

11.08.2017    9707    jun-ko    24       

Простой способ преобразовать UNICODE в строку или в структуру 23

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) Практика программирования Универсальные функции

Первая функция получает Строку, которая содержит строчки вида «Ключ=Значение». Вторая функция получает Структуру.

07.07.2017    7140    dimasts    5       

Нагрузочное тестирование сервера 1С при использовании WEB сервисов 51

Статья Системный администратор Программист Нет файла v8 ИТ-компания Бесплатно (free) Производительность и оптимизация (HighLoad) Внешние источники данных WEB

Проведение нагрузочного тестирования WEB-сервисов, развернутых на платформе 1С. Целью тестирования является ознакомление с возможностями платформы 1С при работе с большим количеством запросов через опубликованные WEB сервисы на IIS 7.5

01.02.2017    22947    BraunAlex    34       

Передаем контакты из 1С в Битрикс24 через REST API 117

Статья Программист Нет файла v8 УТ11 Россия Бесплатно (free) Внешние источники данных

Хочу поделиться опытом использования Битрикс24 REST API для экспорта контактов из 1С УТ 11

09.01.2017    42560    user662672_explorer2000    96       

"Распределение в запросе" или "избавляемся от перебора" 182

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Математика и алгоритмы Универсальные функции

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27754    alexandersh    45       

Пример работы с шаблоном Word через ole (клиент - сервер, тонкий клиент) - установка значений и заполнение таблицы 17

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

В примере показывается заполнение строк готовой таблицы, добавление новой таблицы, объединение ячеек, установка значений в "параметр".

09.11.2016    9984    gortrex    8       

Парсер JSON (Штатные средства 1С 8.3.6) 59

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Хочу поделиться функцией чтения json, реализованной с помощью штатных средств платформы.

29.09.2016    46277    dour-dead    21       

Программное создание графических схем (v.2): API для ГрафическойСхемы 73

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Работа с интерфейсом Универсальные функции

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

27.09.2016    16856    serg_infostart    15       

Используем механизмы обмена данными БСП для произвольного обмена 147

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции Внешние источники данных БСП (Библиотека стандартных подсистем)

Механизм БСП заточен на обмен XML по правилам обмена. Чтобы использовать его для любого другого обмена, коих в мире немало, требуются доработки. В статье описан вариант, как из положения выйти.

23.08.2016    27628    Патриот    22       

Склонение числа прописью 25

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

Склоняет число прописью до 999999 Пример: до склонения "Не позднее 3 (Три) дней", после - "Не позднее 3 (Трех) дней"

18.08.2016    15827    maxvcb    27       

Отборы в отчётах. Нюансы работы компоновщика настроек. 132

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Открытие отчёта с предустановленным отбором, показанным пользователю. Изменение любых настроек в процессе работы отчёта. Взаимосвязи настроек.

15.08.2016    59120    Yashazz    23       

Автоматическое добавление новых реквизитов на форму (УФ) 38

Статья Программист Нет файла v8 v8::УФ Бесплатно (free) Работа с интерфейсом Универсальные функции

Идея такая: Программист добавил реквизит в объект. В комментарии этого реквизита прописал некое спец. слово (можно не матерное). На форму объекта новый реквизит далее попадает автоматом в спец. группу "Дополнительно".

03.08.2016    16183    Патриот    23       

HOWTO: создание и отладка HTTP-сервиса в 1С:Предприятие 123

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) WEB Практика программирования Универсальные функции

Статья о том, как можно быстро создать HTTP-сервис в 1С:Предприятие и как выполнять его отладку.

25.07.2016    39362    serg_infostart    19       

Цикл ввода данных, пример решения 41

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Отказ от модальности создает проблему организации последовательного ввода данных в рамках одной пользовательской операции. Цепочки процедур, обрабатывающих введенные данные и вызывающие следующий диалог - головная боль даже для самостоятельной поддержки или изменения логики ввода, не говоря о том уже, чтобы разбираться в чужом коде. Предлагаемое решение является некой заготовкой и может быть любым образом улучшено.

12.07.2016    11150    botokash    7       

Технология проведения миграции данных в крупных проектах 43

Статья Программист Нет файла v8 Windows Бесплатно (free) Внешние источники данных Перенос данных из 1C8 в 1C8

В статье систематизируется проектный опыт проведения миграции данных в крупных проектах, связанных с переходом Заказчиков на работу в конфигурациях «1С:Предприятие 8».

17.05.2016    26782    cinimex    26       

7 причин, почему интеграцию необходимо строить на очередях. Практика RabbitMQ. Отказ от Zato ESB и OData в 1С 164

Статья Программист Нет файла v8 Windows Бесплатно (free) Внешние источники данных

Этот набросок является продолжение предыдущей статьи "7 причин, почему интеграция стала приятной. Не упускайте ряд потрясающих возможностей". В большей части это описание боли, через которую пришлось пройти на практике, используя сервисную шину данных Zato ESB и OData протокол совместно с «1С:Предприятие 8».

18.03.2016    55238    pbazeliuk    125       

Поиск несериализуемых значений при помещении в хранилище 12

Статья Программист Нет файла v8 Windows Бесплатно (free) Инструментарий разработчика Практика программирования Универсальные функции

В статье разобран пример, как найти несериализуемые значения в случае помещения в хранилище коллекций, содержащих вложенные элементы. В качестве хранилищ рассмотрены временное хранилище значений и переменные типа ХранилищеЗначения.

02.03.2016    20017    balanton    2       

Универсальные функции с примерами использования 241

Статья Программист Нет файла v8 Бесплатно (free) Универсальные функции

14 универсальных функций, с примерами использования - для обычного и управляемого интерфейса

26.02.2016    35335    unichkin    36       

Преобразование числа в строку в запросе 1С 8.x 21

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Универсальные функции

В запросах 1С предприятие 8.x есть ограничение: нельзя преобразовывать число в строку.

23.02.2016    32898    lastcontra    19       

Использование классов .Net в 1С для новичков 147

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Практика программирования Разработка внешних компонент Универсальные функции

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    62645    Serginio    104