Как заполнить формы любого справочника/документа в 1с8.2, Как заполнить формы любого справочника/документа в 1с8.2

1. compmir 88 08.08.11 11:07 Сейчас в теме
Столкнулся с такой задачей: есть УПП с кучей справочников и документов. Хотелось бы при открытии документа чтобы реквизиты и табличные части любого документа заполнялись бы из файла или регистра а не из самой базы и также записывались бы туда при записи. Понимаю что можно вставить обработчик в каждый справочник и документ, но выглядит очень трудоёмко.

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

Кто поможет буду благодарен (материально), в долгу не останусь
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. mbreaker 1416 08.08.11 17:05 Сейчас в теме
(1)(3) Так и не понял для чего весь этот бред нужен в конечном итоге? Формулируйте чётче свои желания, и перед тем, как просить технический совет, оформите в адекватный вид свои цели/задачи.
2. darkinitr0 34 08.08.11 11:17 Сейчас в теме
Это обработка "ОбработкаЗаполнения" вызывается когда вводишь на основании, а не при открытии.
На сколько я помню подписки на "ПриОткрытии" нет.
Необходимо написать универсальную функцию в общем модуле, и вызывать ее при открытии необходимого справочника/документа.
Обязательно проверять новый ли это объект - что бы не модифицировать существующие(заполнение ведь для новых - я так понял).
Наверно лучше что бы данные заполнялись из регистра, а не из файла, потому что читать файл каждый раз при открытии медленее чем из регистра.

А для записи использовать подписку.
3. compmir 88 08.08.11 11:47 Сейчас в теме
При открытии как раз и надо заполнять часть реквизитов из справочника/файла. Есть также задумка записывать какие формы у каких пользователей открыты. А в общий модуль может как-нибудь через обработку оповещения? Без внедрения функции при открытии в каждый справочник/документ я так понял не обойтись? Может есть тогда автоматизированный вариант внедрения кода во все необходимые объекты конфигуратора в обработчик при открытии?
5. compmir 88 08.08.11 17:09 Сейчас в теме
Надо при открытии любой формы знать что открыто, заполнить её другими данными и мониторить кто и что вводит в данный момент формы а после записи данных сдублировать их в регист (файл). При этом лень менять исходный код во всех справочниках и документах чтобы вставить обработчик в процедуру приоткрытии(). Ищу другой способ (если есть).
7. cool.vlad4 2 08.08.11 17:23 Сейчас в теме
(5) Т.е. если я правильно понял, - открыто несколько форм, пользователь заполняет одну из них (в случайном порядке) и данные должны получать другие формы? В принципе ничего невозможного нет, но вам стоит подумать - А правильно ли продуман пользовательский интерфейс.
6. mbreaker 1416 08.08.11 17:17 Сейчас в теме
Вот вы себя сами послушайте, уважаемый:
compmir пишет:
Надо при открытии любой формы знать что открыто

ЧТО открыто? Дверь в комнате, где работает пользователь? Форточка в кабинете главного бухгалтера?
compmir пишет:
заполнить её другими данными

Давайте заполним текстом лицензионного соглашения Microsoft? Кросс-платформенное решение! На любой винде будет работать!!!
compmir пишет:
и мониторить кто и что вводит в данный момент формы а после записи данных сдублировать их в регист (файл)

Пишем капчу с экрана в видеофайл?

Может всё-таки стоило над ответом подумать больше 4-х минут?
8. compmir 88 08.08.11 17:31 Сейчас в теме
Конфигурация - стандартная УПП. Пользователь открывает форму например существующего контрагента "Вася" а программа должна все реквизиты (ИНН, телефоны и адреса) либо создав клон формы "контрагенты" либо в уже существующую форму вытащить из другого места а при записи записать их туда а не в базу. (Нужно для шифрования - данные в базе ЗАШИФРОВАНЫ) они должны при открытии формы проходить расшифровку и только потом попадать в форму.
9. compmir 88 08.08.11 17:44 Сейчас в теме
Пишем капчу с экрана в видеофайл?

а средствами 1с это можно сделать?
10. cool.vlad4 2 08.08.11 17:47 Сейчас в теме
Ну после такого (9) тебе никто серьезно отвечать скорее всего не захочет.
11. mbreaker 1416 08.08.11 17:51 Сейчас в теме
compmir пишет:
Конфигурация - стандартная УПП. Пользователь открывает форму например существующего контрагента "Вася" а программа должна все реквизиты (ИНН, телефоны и адреса) либо создав клон формы "контрагенты" либо в уже существующую форму вытащить из другого места а при записи записать их туда а не в базу. (Нужно для шифрования - данные в базе ЗАШИФРОВАНЫ) они должны при открытии формы проходить расшифровку и только потом попадать в форму.
Мсье знает толк в извращениях...

compmir пишет:
Пишем капчу с экрана в видеофайл?
а средствами 1с это можно сделать?
Вообще, это была шутка... Но если хочется камасутры, то ActiveX (через COMОбъект) в помощь...
12. compmir 88 08.08.11 17:54 Сейчас в теме
Плиз скинь образец а то не знаю с какой стороны подобраться
13. mbreaker 1416 08.08.11 18:28 Сейчас в теме
как пользоваться в 1С-е COMОбъектом: забей в гугле "Новый COMОбъект"... а дальше MSDN в помощь...
больше советов не дам - я не любитель садомазо...
14. darkinitr0 34 09.08.11 23:30 Сейчас в теме
compmir пишет:

Конфигурация - стандартная УПП. Пользователь открывает форму например существующего контрагента "Вася" а программа должна все реквизиты (ИНН, телефоны и адреса) либо создав клон формы "контрагенты" либо в уже существующую форму вытащить из другого места а при записи записать их туда а не в базу. (Нужно для шифрования - данные в базе ЗАШИФРОВАНЫ) они должны при открытии формы проходить расшифровку и только потом попадать в форму.


а это случай не в честь нашего закона о защите персональных данных?
Это же надо такое придумать :)
Мне кажется тут неверный подход к решению проблемы.
15. isn 15 11.11.11 16:59 Сейчас в теме
получение реквизитов не столь сложно:
вот пример получение всех реквизитов табличной части документа
передаёшь в функцию, название документа и название табличной части

&НаСервере
Функция СформироватьСтруктуруТабличнойЧастиДокумента(Документ, ИмяТабличнойЧасти) Экспорт

СтруктураТабличнойЧастиДокумента = Новый Структура;
Для Каждого Реквизит из Документ.Метаданные().ТабличныеЧасти[ИмяТабличнойЧасти].Реквизиты Цикл
СтруктураТабличнойЧастиДокумента.Вставить(Реквизит.Имя, Реквизит.Имя);
КонецЦикла;

Возврат СтруктураТабличнойЧастиДокумента;

КонецФункции

но я согласен с другими- защиту ваших данных можно и нужно решать другими способами - их тьма с высокой степенью защиты - не взломать, в 1С ничего переделывать не надо. Можно по отключать видимость у части реквизитов документа, и закрыть доступ на важные части данных.
16. $tark 19.01.12 12:38 Сейчас в теме
На сомом деле автор если бы написал цель защиты, от кого и при каких условиях надо защитится, понятнее было какое решение нужно, возможно достаточно иметь базу зашифрованную на носителе. Если нужно опять же брать с другого места, я бы написал собственный журнал (справочников\документов) для которых необходимы подобные действия, данные по заполнению журнала брал бы из шифрованной базы (COMОбъект), и писал бы их туда же.
Если интересно могу описать куда рыть.
Оставьте свое сообщение

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