Внешняя обработка для с 1с 7.7 бухия

1. superket_12 29.11.12 18:11 Сейчас в теме
Добрый день!
Возникла необходимость во внешней обработке для 1 с 7.7 бухия.Здесь есть обработки,но хотелось бы расширенную.
1.Групповая печать документов (акты,торг-12,счета-фактуры,ПКО,РКО,авансовые отчеты и так далее).
2.Автокоррекция строк в ТОРГ-12 по высоте(много символов в номенклатуре,авто не помогает) с максимальным размещением номенклатурных позиций на листе с подитогом на каждой странице и печатью в "портрете" по умолчанию.
Подскажите,на какую сумму мы должны рассчитывать по деньгам? Сколько по времени займет эта работа? Заранее благодарны!!!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. Timesoft 271 30.11.12 14:08 Сейчас в теме
(1) superket_12, Групповая печать- имеется в виду печать встроенных форм массовым порядком ?
Ну здесь действительно есть такие обработки и не одна, что конкретно надо "расширить"?
5. CheBurator 3122 01.12.12 03:56 Сейчас в теме
(1) автокоррекция строк по высоте - с автоподсчетом итогов и прочего - это можно. но будет стоить для вас очень дорого (очень дорого - значит пару сотен баксов) - если вас такая сумма не пугает - стучитесь в личку.
6. Gotcha 5 14.12.12 17:48 Сейчас в теме
(1) superket_12,
1) У себя в компании вкрячивал групповую автопечать документов. Пришлось слегка допиливать модули формы документов и процедуры для печати. Методикой готов поделиться. По затратам на доработку - около получаса на 1 документ. При групповой печати будут проблемы, если включен режим двухсторонней печати.

2) Задача утопичная, потребует подгонки под конкретный принтер. Стандартная обработка переноса страниц сделана с двойным запасом, которого хватает почти всегда, но в случае, если наименования в документе компактные - оставляет по поллиста незаполненными. В теории, при одновременной установке автоподбора высоты с переносом по словам, лист может не помещаться даже при стандартных настройках печати накладных. Что мешает решению задачи? -Отсутствие инструментария для определения высоты уже выведенных, но не показанных секций. Я штатного средства не знаю, да и нештатное мне не ведомо. Это задача скорее для издательских систем уровня Кваркс Пресс и т.п.
7. CheBurator 3122 14.12.12 20:08 Сейчас в теме
(6) если не задаваться вопросом про двухстороннюю печать, то на портале присутсвуют как минимум 3 разработки, которые позволяют проводить групповую печать документов по принципу "запустил и получил", одной из них вот надысь я использовал для массовой печати ПКО и ТОРГ13 в буххи. Прошло успешно.
.
В теории, при одновременной установке автоподбора высоты с переносом по словам, лист может не помещаться даже при стандартных настройках печати накладных. Что мешает решению задачи? -Отсутствие инструментария для определения высоты уже выведенных, но не показанных секций. Я штатного средства не знаю, да и нештатное мне не ведомо.

- из правильной констатации факта выставлются неверные исходные данные и, как следствие, неверный вывод.
Кто сказал что для того, чтобы определить "лист может не помещаться" - нужно знать высоту строк..?
Timesoft; +1 Ответить
9. deniseek77 86 14.12.12 23:38 Сейчас в теме
(7) CheBurator, (8) Timesoft, Добавлю к вашему: внешние печатные формы, без внешних функций через сторонние dll не получится.
10. Timesoft 271 14.12.12 23:44 Сейчас в теме
(9) deniseek77, почему ? См.2 вариант в (8)
11. deniseek77 86 16.12.12 11:00 Сейчас в теме
(10), timesoft , Нет, не в вкурсе. Вы хотите сообщить мне приятную новость, что в 1с 7.7 есть возможность (как то так ухитриться, не используя внешниее функции/ использование сторонних dll) групповой печати внешних печатных форм, которые лежат отдельно от БД, а не как в 8- внутри? Можно пыжить папку принтформз, потом анализировать файлики с регистрацией их в документах и тому подобное, но это не скорость и не универсальность... но выглядит это, как гланды, скажем через ухо, удалять...Очень интересно, есть ссылка на полезную статью?
12. Timesoft 271 16.12.12 11:09 Сейчас в теме
(11) deniseek77, Нет, я про автокоррекцию высоты строк и корректный переход на следующую страницу (не отрывая подвал и т.д.) :)
14. CheBurator 3122 16.12.12 23:33 Сейчас в теме
(11) скорость и универсальность - понятия несовместимые.
- скорость: для нужной групповой печати сделать выборку доков и выборке написать локальный код для печати.
- универсальность: формекс и использование заложенных механизмов в типовые конфиги.
.
если требуется групповая печать доков в таком количестве что на первый план выходят одновременные требования и универсальности, и скорости - тут не в консерватории надо править, а дирижера менять.. ;-)
8. Timesoft 271 14.12.12 23:31 Сейчас в теме
(1),(6) полностью поддерживаю (7)
Обработки есть и работают...
По поводу высоты строк и помещается/не помещается - как минимум два варианта
1) с использованием FormEx
2) штатными методами - когда в 27 релизе появился метод КоличествоСтраниц() - это реализовано например в типовой бюджетке 7.7 (теперь уже покинувшей нас)
13. CheBurator 3122 16.12.12 23:30 Сейчас в теме
(8)
штатными методами - когда в 27 релизе появился метод КоличествоСтраниц() - это реализовано например в типовой бюджетке 7.7 (теперь уже покинувшей нас)

.
можешь кинуть пример такой реализации? (можно в личку или на мыло e.meil@mail.ru)
15. Timesoft 271 17.12.12 11:17 Сейчас в теме
(13) CheBurator, Пример кода отправил на мыло.
Может, ещё кому будет интересно - поэтому в двух словах какая там идея.

Заводится две таблицы Черновик и Чистовик.
При выводе секций их сначала выводят в черновик и смотрят что получилось -

БылоСтраниц = Черновик.КоличествоСтраниц();
Черновик.ВывестиСекцию(НоваяСекция);

Если (БылоСтраниц <> Черновик.КоличествоСтраниц()) Тогда
...........
значит, вывод этой секции приведёт к переходу на новую страницу. Принимаем решение - Вывести её в Чистовик или начать новую страницу в нём до вывода...
16. falcon 17.12.12 12:05 Сейчас в теме
(15) Timesoft,
я бы сделал по другому....
последняяСтрокаТаб = Чистовик.ВысотаТаблицы();
БылоСтраниц = Чистовик.КоличествоСтраниц();
Чистовик.ВывестиСекцию(НоваяСекция);
Если (БылоСтраниц <> Чистовик.КоличествоСтраниц()) Тогда
Чистовик.ВывестиСекцию(НоваяСекция);
таб.Область(1,последняяСтрокоаТаб,ХХ,последняяСтрокоаТаб) - обнуляем все...
17. Timesoft 271 17.12.12 13:47 Сейчас в теме
(16) falcon, И что это даст...если мы обнуляем всё ?
18. falcon 17.12.12 14:28 Сейчас в теме
(17) Timesoft,
мы не городим огород с двумя таблицами...
19. Timesoft 271 17.12.12 14:57 Сейчас в теме
(18) falcon, не городим.... А работать оно как будет ?
20. falcon 17.12.12 15:08 Сейчас в теме
(19) Timesoft,
ээээ..... вжик.... видимо так?

наверное надо внести ясность.... я абсолютно не против реализации с двумя таблицами... каждый делает так как ему удобнее... и если тебе удобнее делать это двумя таблицами - велкам....
но мне проще забелить одну строчку на предыдущей странице... чем выводить в два раза больше секций.... а потом еще и фиксировать смещение чистовика относительно черновика.... если страниц не 2,3 а 20 например....
21. Timesoft 271 17.12.12 15:26 Сейчас в теме
(20) falcon, приведённый кусочек кода - из типовой 7ки (см.(8)) Проблема фиксации смещения там решена просто - после перехода чистовика на новую страницу, черновик создаётся заново и в него выводится то, что в чистовике на новой странице.
Я просто не пойму, как код в (16) будет работать...
Вывели секцию
Убедились, что началась новая страница.
Вывели ещё раз её и на предыдущей что делаем с таб.Область(1,последняяСтрокоаТаб,ХХ,последняяСтрокоаТаб) ?
А если надо было, увидев переход вставить на предыдущую подвал той страницы ?
22. falcon 17.12.12 15:49 Сейчас в теме
(21) Timesoft,
очищаем значение ячеек таблицы.... или забеляем их... зависит от контекста... и от подвала естественно то-же
если надо вставить подвал, то вставляем подвал, по сути не меняется ничего...
в твоем варианте мы сначала выводим в черновик, узнаем улезло или нет.. если нет, то выводим в чистовик, если да... то..... начинаем выводить подвал... который в принципе тоже может улезть....
в моем варианте мы выводим сразу в чистовик и если улезло, то работая с областями просто переписываем последнюю выведенную секцию текущей страницы....
28. nysysimara 25 07.02.13 14:54 Сейчас в теме
(15)Timesoft, (16)falcon,
вопрос: есть ли у вас работающий алгоритм с использованием метода .КоличествоСтраниц()?
если Да, то как обстоят дела со скоростью?
из собственного опыта - это жууутчайший тормоз, отказалась от него сразу
приспособила алгоритм из класса "Табл" 1С++, не используя dll
29. falcon 07.02.13 15:11 Сейчас в теме
(28) я давно не пишу, поэтому все примеры в истории уже...
а в чем тормоза?
31. Ёпрст 1063 07.02.13 15:22 Сейчас в теме
(29) КоличествоСтраниц() -это мегатормоз. И метод , предложенный в (15) не рабочий, если вы только не собираетесь на перекур каждый раз, когда нажимаете на кнопку печать в документе.
33. Timesoft 271 07.02.13 15:28 Сейчас в теме
(28) nysysimara, Типовая ББУ 6.2,там это реализовано, не сказал бы, что заметно тормозит !
36. nysysimara 25 07.02.13 15:38 Сейчас в теме
(33) будет время посмотрю типовую реализацию
2. superket_12 29.11.12 18:17 Сейчас в теме
Очень ждем ответа от спецов!
3. dusha0020 1107 29.11.12 19:18 Сейчас в теме
акты,торг-12,счета-фактуры,ПКО,РКО,авансовые отчетыи так далее
Сумму Вы тоже хотите услышать типа Х рублей и так далее?:)
Но не вполне понятно что же Вы хотите. Рискну предположить.
1. Вы выбираете вид документа, период и нужные реквизиты, а обработка вам выводит содержимое выбранных реквизитов этих документов на печать?
2. Небольшой допил ТОРГ-12 в стандартной конфигурации чтобы все помещалось по высоте в строки. Это где-то думаю 800.
23. Timesoft 271 17.12.12 16:04 Сейчас в теме
Угу, понял...
То есть попределяя таб.Область(1,последняяСтрокоаТаб,ХХ,последняяСтрокоаТаб),
мы фактически уже выведенные ниже последняяСтрокоаТаб секции удаляем и следующая секция будет со следующей строки... так ?
В принципе мы тут можем откатить назад хоть полтаблицы (ну если тот же подвал не лезет)
25. falcon 17.12.12 16:12 Сейчас в теме
(23) Timesoft,
почему удаляем.... что угодно с ней делаем... хотим подвал выводим, если он умещается...
хотим удаляем... но при этом помним, что при удалении остальное вверх сместится, если не используем НоваяСтраница()..
хотим весь шрифт белым делаем....
вариантов куча... от контекста зависит.....
24. Timesoft 271 17.12.12 16:04 Сейчас в теме
попределяя => определяя
26. superket_12 18.12.12 19:53 Сейчас в теме
Создала тему,но никак не получалось зайти на форум,чтобы отписаться.Заказали эту обработку.Специально обученные люди её написали.
В ТОРГ-12 все равно вылезают косяки.Например,если в накладной одна позиция,то она переносится сразу на второй лист.Переписали.Просили,чтобы независимо от количества символов в наименовании номенклатуры производилась автокорреция высоты строки.Т.е.,если 1 строка,то высота строки под неё корректируется,если 7 строк,то корректируется под 7 строк.Сделали так,что либо у всех 7 строк,либо ни у кого.
Ну и,соответственно,нужно чтобы на каждой странице был подитог.Чтобы было размещено макс.кол-во номенклатуры на листе.И чтобы,все это работало и в ландшафте и в портрете.
Сразу скажу,что общение с тем,кто делает,происходит со скрипом.Насколько я понимаю,7.7 не настолько гибкая,чтобы вносить такие изменения.....Завтра еще отпишусь.Всем гигантсткое спасибо за внимание к теме!!
27. falcon 18.12.12 21:14 Сейчас в теме
(26) superket_12,
ну у 7.7 есть конечно ограничения... но то что вы хотите, с некоторыми допущениями можно реализовать...

зы. кстати, можно пойти третьим путем ))) можно уменьшать шрифт в ячейке с названием если не умещается )) выглядеть правда смешно будет )
30. Ёпрст 1063 07.02.13 15:20 Сейчас в теме
32. Ёпрст 1063 07.02.13 15:23 Сейчас в теме
Был добавлен писателями 1с-ины, начиная с 26 релиза.. на от@ебись
34. nysysimara 25 07.02.13 15:34 Сейчас в теме
если после вывода каждой новой секции определять количество страниц,
вывод печатной формы происходит очень долго, точно по времени не скажу, не могу найти старый вариант алгоритма,
но это не приемлемо для документов, которые печатают несколько десятков раз за день
35. superket_12 07.02.13 15:37 Сейчас в теме
Еще раз приветствую,уважаемые мужИ ПРОГРАММИРОВАНИЯ!Обработку нам написали,все работает.Т.е. нам предоставили как саму обработку,так и внешнюю форму ТОРГ-12 для длинных наименований.Печатаем оптом пока только ТОРГ-12 и счета-фактуры.Все вроде более менее.Так что,"вымучили" эту тему.
37. Мать Тереза 07.02.13 15:43 Сейчас в теме
В ТОРГ-12 все равно вылезают косяки.Например,если в накладной одна позиция,то она переносится сразу на второй лист.Переписали.Просили,чтобы независимо от количества символов в наименовании номенклатуры производилась автокорреция высоты строки.Т.е.,если 1 строка,то высота строки под неё корректируется,если 7 строк,то корректируется под 7 строк.Сделали так,что либо у всех 7 строк,либо ни у кого.
Ну и,соответственно,нужно чтобы на каждой странице был подитог.Чтобы было размещено макс.кол-во номенклатуры на листе.И чтобы,все это работало и в ландшафте и в портрете.
Сразу скажу,что общение с тем,кто делает,происходит со скрипом.Насколько я понимаю,7.7 не настолько гибкая,чтобы вносить такие изменения.....Завтра еще отпишусь.Всем гигантсткое спасибо за внимание к теме!!
38. superket_12 07.02.13 15:48 Сейчас в теме
Единственное,что не удалось решить,так это размещать в ТОРГ-12 максимальное кол-во номенклатуры с автокоррекцией высоты строк с подитогами в портрете.Бумаги много уходит,хотели сэкономить.Но потом решили,что не будем заморачиваться.Денег больше никто не дал на дописки.Поэтому сейчас печатаем в портрете:))
39. Кошки рулят 07.02.13 16:52 Сейчас в теме
Решение проблемы "строк на странице" в ТОРГ-12 и сопутствующая ей "необходимость" вывода подвала целиком на одной странице есть.
Для этого можно использовать малоизвестную опцию секции таблицы "Положение на странице..."
з.ы. Никаких формексов и прочих корявых приблуд ...
40. CheBurator 3122 10.02.13 15:50 Сейчас в теме
(39) уточню, не "подвала целиком на странице". а подвала как минимум с однйо строкой табличной части.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот