К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Печ.формы документа. Как узнать программно какая именно указана по умолчанию?

Гость
0 - 03.06.2012 - 19:45
Торговля 7.7
У документа несколько печатных форм.
Мне надо добавить туда еще одну и присвоить ее кнопке по умолчанию.
Добавить то я добавлю))
но вот вопрос: Как ПРОГРАММНО установить новую печ.форму по умолчанию?

стандартный вариант с действиями юзера
"открыть док, выбрать нужную печ.форму и закрыть" - не устраивает.



1 - 03.06.2012 - 19:51
"По умолчанию" - всегда какое-то значение ОТКУДА-ТО.
Поэтому, если хочешь при открытии формы какую-либо печформу сделать по умолчанию - ОПРЕДЕЛИСЬ - например - по умолчанию = 1 первая в списке или В открытой печформе д.б. кнопочка типа "сделать по умолчанию" - сохраняется наименование файла печформы куда-то в значение (например СохранитьЗначение) - при открытии формы - читаем это значение (ВосстановитьЗначение) - ищем его в списке печформ...
.
как-то вот так мне навскидку в голову приходит
2 - 03.06.2012 - 19:52
ПРОГРАММНО возможны два вариант:
- вызвать на исполнение нужную форму;
- присвоить кнопке (НомерПечатнойФормы - вроде как-то так называется)
Гость
3 - 03.06.2012 - 20:07
при просмотре файла CFG нашел такое:

**"UserValuesProfile","**
и дальше перечислены все запоминаемые значения для юзера...
к примеру:
**""Документ.ЗаявкаПокупателяПечФорма"",""**""""S""" ",""""0"""",""""0"""",""""0"""",""""0"""",""""0""" ",""""Печатная форма счета""""**""**,
...
вот хочу сделать архив sfx
он автоматом положит нужную новую печ.форму в каталог prnForms
зная каталог с профилем юзера - получу файл CFG

получается нужен какой то скрипт/батник по добавлению нужной мне строчки в этот текстовый файл...

Щас буду конечно гуглить в поиске,
но мало ли.. вдруг кто такое делал?
а остальным думаю будет интересен результат, если получится ;-)

понимаю что основная проблема будет скорее всего именно в том что добавить мою строку надо не в конец файла, а в середину%), строго в определенное место((

или может есть более простой путь?)))
4 - 03.06.2012 - 21:10
(3) кривое непрозрачное решение.
как только будет дан внятный ответ "что такое печатная форма по умолчанию" для кокнретного вида документа - можно думать дальше...
Гость
5 - 03.06.2012 - 21:23
в ГМ есть глПолучитьТекущуюПечФорму, где используется ВосстановитьЗначение(ВидОбъекта + "ПечФорма")...
но это не суть важно, ибо мне надо проделать свою "операцию" без вмешательства пользователя, без запуска внешней обработки и проч из 1С...
т.к. если бы юзер мог бы открыть внешнюю обработку, которая сделает "СохранитьЗначение(*моеЗначение*)"
то уж и стандартный механизм выбора печ.формы не был бы проблемой...
а так, к сожалению имеется куча розн.точек, которым надо подключить новую печ.форму и установить ее "по умолчанию", чтобы никто голову не ломал, а тупо жмакали кнопку ПЕЧАТЬ и все...
сталкиваюсь регулярно с тем, что не все продавцы видят слева от кнопки печать кнопку выбора печ.формы :-! и приходится лезть удаленно все делать.
хочется автоматизировать сие элементарное действие, вот и решил заморочиться))
6 - 03.06.2012 - 23:54
(5) я так думаю, что следует пойти по такому пути:
- механизм ВПФ - для вменяемых людей;
- если надо сделать ТУПУЮ ГЛАВНУЮ КНОПКУ ДЛЯ ЧЕГОТОУМОЛЧАЛЬНОГО - следует ее повесить ОТДЕЛЬНО на форму - вызывать ВСТРОЕННУЮ печатную форму, кнопку назвать большими крансыми буквами типа "ЧЕК" и не морочиться.
Гость
7 - 04.06.2012 - 00:01
Чу... ты может немного меня не понял..(
я юзаю ВПФ, ибо менять конфигу ради того чтобы изменить стандартную печ.форму (которая стоит "по умолчанию") при УРБД с 40 периферийками - не есть красиво((
вешать отдельную дополнительную кнопку для моей печатной формы - это ваще уже изврат, имхо )))
на форуме ру-борда задал свой вопрос, скоро будет у меня готовое решение...
чего тока оказывается не делается с помощью батников и скриптов vbs... o_O
спасибо большое за участие, но думаю скоро я выложу сюда решение, авось кому то пригодится))
Гость
8 - 04.06.2012 - 01:12
пока еще сырое, но уже хоть какое-то решение вопроса:
создаем батник, рядом с ним кладем sed без зависимостей - http://sed.sourceforge.net/grabbag/ssed/

сам батник:
chcp 1251
for /f "tokens=*" %%i in ('dir /b /s /a-d d:\base\*.cfg') do ssed "%%i" -e "/UserValuesProfile/{s/\x22Печатная форма счета\x22/\x22новый счет\x22/ ; /Документ.ЗаявкаПокупателяПечФорма/!{s/UserValuesProfile\x22,/\0{\x22\x22Документ.ЗаявкаПокупателяПечФорма\x22\x 22,\x22\x22{\x22\x22\x22\x22S\x22\x22\x22 \x22,\x22\x22\x22\x220\x22\x22\x22\x22,\x22\x22\x2 2\x220\x22\x22\x22\x22,\x22\x22\x22\x220\x22\x22\x 22\x22,\x22\x22\x22\x220\x22\x22\x22\x22,\x22\x22\ x22\x220\x22\x22\x22 \x22,\x22\x22\x22\x22новый счет\x22\x22\x22\x22**,/****" > "%%~i.tmp" && move "%%i.tmp" "%%i"
////
что делает:
во всех файлах CFG внутри каталога и всех подкаталогов d:\base меняет
"Печатная форма счета" на "новый счет"
если не находит "Документ.ЗаявкаПокупателяПечФорма" - то добавляется нужная строчка.

...
решение сырое тока потому что не отрабатывается, когда в настройках сохранен вариант с другой печ.формой, к примеру вместо "Печатная форма счета" там указан "старый счет"...
в этом случае в файле ничего не меняется...
...
но в моем случае - этого будет достаточно))) вот такие вот пироги ;-)
Гость
9 - 04.06.2012 - 05:57
бред какой то
Гость
10 - 04.06.2012 - 07:42
ну а теперь окончательно готовое решение!!! с учетом всех вариантов: когда у пользователя нет сохраненной настройки ПФ данного документа, есть настройка (и пофиг какая именно там форма сохранена по умолчанию))

итак, для тех, кому не захотелось вникать во все МноГаБукафф выше...)))

у каждого юзера 7.7 есть файл 1Cv7.cfg (либо в каталоге профиля юзера, либо в каталоге ИБ), в который после печати документа сохраняется настройка - какая именно печ.форма использовалась последней, чтобы при след.открытии юзер не думал какую именно ему надо выбирать - она становится на кнопку ПЕЧАТЬ формой по умолчанию...
так вот... у меня есть задача - создать новую ВПФ и установить ее в более чем 40 удаленных ИБ...
половина юзеров - мягко говоря, *тяжелые*...
поэтому все обновления делаю в архивах sfx - где от юзера требуется максимум тыкнуть кнопку "извлечь"
было решено попробовать кроме копирования файла ВПФ в PrnForms - еще и поменять/установить значение ПФ по умолчанию для нужного мне документа.
создается текстовый документ, переименовывается в *.bat с содержанием:
@chcp 1251
@for /f "tokens=*" %%i in ('dir /b /s /a-d d:\downloads\1Cv7.txt') do ssed "%%i" -e "/UserValuesProfile/{s/\(Документ.ЗаявкаПокупателяПечФорма[^**]***[^**]*\x22\)[^\x22]*\(\x22\x22\x22\x22**\)/\1новый счет\2/ ; /Документ.ЗаявкаПокупателяПечФорма/!{s/UserValuesProfile\x22,\x22{/\0{\x22\x22Документ.ЗаявкаПокупателяПечФорма\x22\x 22,\x22\x22{\x22\x22\x22\x22S\x22\x22\x22 \x22,\x22\x22\x22\x220\x22\x22\x22\x22,\x22\x22\x2 2\x220\x22\x22\x22\x22,\x22\x22\x22\x220\x22\x22\x 22\x22,\x22\x22\x22\x220\x22\x22\x22\x22,\x22\x22\ x22\x220\x22\x22\x22 \x22,\x22\x22\x22\x22новый счет\x22\x22\x22\x22**,/****" > "%%~i.tmp" && move "%%i.tmp" "%%i"

рядом с батником должен лежать файл из архива http://sed.sourceforge.net/grabbag/ssed/sed-3.62.zip

теперь главное чтобы у вас была зарегистрирована ВПФ с именем "новый счет"
так что, берем на заметку!
Гость
11 - 04.06.2012 - 07:48
вместо
d:\downloads\1Cv7.txt
пишем каталог своей ИБ и не забудьте поменять расширение с txt на cfg ;-)
Гость
12 - 04.06.2012 - 08:05
а кто мешает ?

Документ.ЗаявкаПокупателяПечФорма="новый счет";
Гость
13 - 04.06.2012 - 08:06
+ использовать сед в виндузе для адинес, это какой вывих мозга нужно иметь
Гость
14 - 04.06.2012 - 08:09
12-Гинзбург > учимся сначала читать, а потом уже писать всякий бред в комменты ;-)
Гость
15 - 04.06.2012 - 08:12
я повторюсь: надо автоматизировать процесс добавления новой ВПФ
при условии что юзер максимум что умеет - подобрать товар, нажать провести, и потом печать...
притом что НЕДайБоГ кнопка печати будет называться как нить по другому... - не найдут(((
и уж объяснять такому контингенту про кнопку выбора ВПФ... - это вынос мозга 1Снику!!!
Гость
16 - 04.06.2012 - 08:13
(14)(15) Вы бредите
Гость
17 - 04.06.2012 - 08:15
ок! это значит мой бред! но он работает! спасибо спецам-полуночникам на ru-board)))

а Вы (16) пожалста, предложите тогда свое решение данной задачи?
PS. всем пиис))
Гость
18 - 04.06.2012 - 08:19
+ если чо в 77 нормально вызывается любая функция при старте системы без изменения конфигурации, а уж ТиС позволит и черта лысова засунуть
Гость
19 - 04.06.2012 - 08:22
ну а нету вот у юзера прав вызова внешних обработок!
нецелесообразно из-за установки одной ВПФ ковырять конфигу...

(18) Ваш пример решения приведете?
Гость
20 - 04.06.2012 - 09:36
(19) правдо нету ? как запретить без изменения конфигурации ТиС программное открытие обработок ?

в ТиС у вас есть прекрасный механизм работы с оборудованием в него можно засунуть любые обработки
Гость
21 - 04.06.2012 - 09:38
+ всего то добавится/исправится один текстовый файл и добавится нужная Вам обработка.
Думаю это не так много для передачи по УРБД ?
Гость
22 - 04.06.2012 - 09:43
=)) продолжим дискуссию...
хороший вариант конечно - обход интерактивного открытия внешней обработки...

НО! для использования механизма работы с ТО ...
чтобы открылась обработка нужного ТО - надо его подключить! соответственно нужны опять действия юзера((
Гость
23 - 04.06.2012 - 09:54
(22) не нужны никакие действия юсера, нужен только файл описания ккмофлайн или ккмонлайн и сама обработка

в тис в приначалеработысистемы имеется

открытьформумодально(обработкаторговоеоборудование , подключить)
Гость
24 - 04.06.2012 - 09:55
ккм на одном месте может быть хоть миллион - думай
25 - 04.06.2012 - 16:21
10-Kolunya >Не взлетит твое готовое решение. Потому как если нужно изменить cfg пользователя, нужно чтобы пользователь вышел из 1С. Если ты в cfg внесешь изменение, пока пользователь "сидит" в 1С, то он твоих изменений не почувствует, т.к. cfg читается в память при открытии конфы. Более того, он этих изменений не "почувствует" и при повторном входе в базу, ибо при выходе cfg из памяти переписывается в файл, "накрывая" тем самым твои изменения.
Получается, прежде чем запустить твой батник нужно сначала "выгнать" пользователя.
Ну и нафига твои скрипты, ведь если приходится выгонять пользователя, все можно решить куда прозрачнее: добавь в гл. модуль ЦБ в ПриНачалеРаботыСистемы запуск внешней обработки "КаталогИБ()+"\Extforms\start.ert", УРБД это изменение перенесет во все твои ПБ. Затем на точки раскидываешь start.ert и свою ВПФ, start.ert при повторном запуске базы прописывает штатно в cfg (через СохранитьЗначение) твою умолчальную форму и удаляет после этого start.ert (через РасположениеФайла узнаешь где это ерт находится на ПБ).
вызов start.ert из конфы не убирай, если файла нет, то он не вызывается и ошибка не выдается. Затем в дальнейшем можешь организовать логику добавления новых ВПФ (трансляцией нового start.ert и новой ВПФ) либо для других инсталлирующих действий на точках.
Гость
26 - 04.06.2012 - 22:14
(25) про "метод со start.ert" в курсе, в другом месте у меня именно так и реализовано, все нужные действия происходят через изменение этого файла...

но в данный момент надо было быстро-срочно решить вопрос...
чтобы с утра начали печатать по новой ВПФ
поэтому и такой кипеш поднялся что и как делать((

а про выгон юзера - это ж ессесно ))
всем просто было разослано сообщение по мессенджеру
"Всем ТТ!
Закрываем 1С (ОБЯЗАТЕЛЬНО!!!)
Копируем файл по ссылке (ССЫЛКА ВНИЗУ), открываем его,
дожидаемся когда в черном окне будет написано
"Для продолжения нажмите любую клавишу..."
жмем любую клавишу, окно закроется.
все, можно открывать 1С.
ССЫЛКА: ftp://*****"

и юзеры подтвердили все мои мысли насчет их адекватности: порядка 1/3 скачали изапустили мой файл не закрывая 1С...
И ПОЛДНЯ ВСЕ РАВНО УШЛО НА ОБЪЯСНЕНИЯ по телефону...
...
и понеслась.. следующая рассылка...
"...левее кнопки ОК - кнопка печати, - еще левее маленькая кнопка (со стрелочкой/треугольником)- выбор печатной формы
тыкните туда и выберите ..."
...
и опять звонки %)... "а где? а как? куда левее? а, здесь левее..." ...
...
а вы говорите... про работников в мелких населенных пунктах и их сообразительность на работе можно анекдоты собирать :-!
как ни пиши, как ни разжевывай... все равно тупят сволачи((
Гость
27 - 04.06.2012 - 22:29
26-Kolunya > оне же не знают как закрывать 1С! У мну половина искренне считает, что если на экране не маячит, значит закрыто:) уже лет 10 бьюсь с обучением настройки печати, так сегодня, после свертки базы, половина прискакало с просьбой сделать как было на одном листе, а то за границы вылазит. сказала, что даже подходить ни к кому не буду - сами: параметры страницы - по ширине листа. справились однако через часок и слезно благодарили за полученные знания:) (в который раз уже? пальцы даже на ногах все загнуты... надолго-ли?)
Гость
28 - 04.06.2012 - 22:32
вот-вот))))
как я вас понимаааааааююююююююююю)))))))
Гость
29 - 04.06.2012 - 22:34
ну думаю тему можно закрыть)
кому надо - заберет на заметку, кому не надо - идите дальше ... это всего лишь бред 1С-ника)))
Гость
30 - 04.06.2012 - 22:39
29-Kolunya > лишнее это - подобные танцы с бубном:) просто надо за утирание соплей (а не за программирование) денег в разы больше брать...
31 - 04.06.2012 - 22:42
(28) Лучше бы тебе понять, что бухи должны чувствовать зависимость от программиста. Но! При этом у них ни в коем случае не должно возникать ощущение, что зависимость эту создал сам программист. Наоборот, должно быть ощущение, что прог из кожи вон лезет, лишь бы облегчить им жизнь, да вот незадача, не получается это никак: то думаки новый закон приняли, то бухи его не прочитали, а если и прочитали, то не поняли.

Тогда программист не будет забыт при распределении денег на оплату перво- и второстепенных нужд.

А твоя автоматика - за что тут платить (с точки зрения буха)? Всё же "само сделалось"!

В-общем, решение твое может и правильное, но вредное. Для тебя же самого.

Типа, как изобретение автоматической мышеловки котом, которого держат не из большой любви, а чтобы мыши не донимали.
Гость
32 - 04.06.2012 - 23:54
не путай решение вопросов бухов... и решение своей головной боли по инструктажу обычных операторов-продавцов... в данном конкретном случае - салоны сотовой связи... зачастую девочки в возрасте 18-22 года, ЗП масенькая у них, требования по отношению к знанию 1С и техники также масенькие, весь геморр кладется на плечи 1Сника, админа, менеджера и бухгалтера в центр.офисе...
так шо тут я сэкономил сам себе время, хоть и не на все 100%, но все равно удачно)
да и нового опыта приобрести никогда не мешает;-)
33 - 05.06.2012 - 01:07
(26) мой мелкий опыт показывает: "..чтобы с утра начали печатать по новой ВПФ" - означает что задача совершеннго споскойно терпит как минимум неделю, а то и другую - до этого же как-то обходились? - обойдутся и дальше? а если не обойдутся - следующий раз "виновные" лиуа будут думать заранее...
34 - 05.06.2012 - 01:08
> порядка 1/3 скачали изапустили мой файл не закрывая 1С...
- ну вообщем-то можно через скрипты отследить, что 1Ска не закрыта и послать всех на экран большими букавами! ;_)
35 - 05.06.2012 - 01:12
(32) успешно будет тогда, когда проблемы будут решать те, кому нужно решение этих проблем. не скопипастилась печформа - ну так манагер в репу получит если что-то там по старой форме сделает.. и к тебе прилезе, ответ один: читатйе инструкцию.. ;-) я сейчас так стараюсь делать ;-) - появляется больше времени на действительно нужные дела, а не на обучаловку компьютерной грамотности (это - за отдельные деньги!). у меня все заведены в группы/проекты на www.worksection.com - публикую там видеоинструкции, объявы, люли раздаю за всякие промахи/нестыковки - и громко ОРУ - почему эти промахи обнаруживает программист а не булгахтерия..?? ;-)
36 - 05.06.2012 - 01:25
хотя, конечно, юзвери - они такие юзвери... всю оперативную работу приходится "админить" так, чтобы оставалось как можно меньше альтернатив. идеал - 1 (ОДНА!) возможность. Ибо при наличии двух - выбирают хз по каким критериям - у меня вообще мнение - выбирают нездумываюсь лишь бы куда-то тыкнуть... ;-)
.
37 - 05.06.2012 - 03:49
А у меня всё давно на автомате делается - без всяких инструкций. Хороший программист - программист, умеющий писать с минимальным объемом инструкций.
Например по сабжу, я юзаю URBDmaster.com, который при УРБД-обмене умеет дополнительно транслировать отдельные файлы. Инструкция для юзеров не нужна вообще, делается очередной обмен, и, к примеру, новая ВПФ прописывается сама (по сценарию в (25)).
38 - 05.06.2012 - 03:50
Ессно, при изменении мд, пользователи выходят из 1С автоматом, просить никого и не приходится.


К списку вопросов






Copyright ©, Все права защищены