#0
by Baloven
делаю в обработке управляемую форму на форме ставлю поле для ввода удостоверения личности (применительно к УПП аналогичная форма но доработанная мной и управляемая это ФормаВводаНового из справочника КонтактныеЛицаКонтрагентов в ней в начале модуля Перем мНаборЗаписейДокументаУдостоверяющегоЛичность; в конце модуля в обычной все работает, а в управляемой - пишет: {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма(133,1)}: Переменная не определена (мНаборЗаписейДокументаУдостоверяющегоЛичность) <<?>>мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить; это она ругается на последнюю строку еще до запуска каких либо процедур
#1
by Baloven
ps замена Перем мНаборЗаписейДокументаУдостоверяющегоЛичность; на Перем мНаборЗаписейДокументаУдостоверяющегоЛичность Экспорт; не помагает :(
#4
by ДенисЧ
РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>) РегистрСведенийНаборЗаписей.<Имя регистра сведений> (InformationRegisterRecordSet.<Имя регистра сведений>) Элементы коллекции: Доступность: Сервер, толстый клиент, внешнее соединение.
#5
by fimanich
кроме того, что сделать реквизит обработки, можно еще объявлять переменную с директивой компиляции
#7
by Baloven
в обычной так и есть после определения, а в упраавляемой - не позволяет назначить вот это не пробовал
#8
by MadHead
По умолчанию она и так на сервере объявляется. в тонко намекнули, чтоданныедействия надо выполнять на сервере, а не на клиенте. Сделай серверную процедуру и вызывай ее при созднаиинасервере или причтинеиинасервере
#10
by Baloven
т.е. на УФ не будет работать? и далать тогда свой аналог обычной формы? я правильно понял?
#13
by Baloven
если так: &НаСервере то все равно: {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма(139,1)}: Переменная не определена (мНаборЗаписейДокументаУдостоверяющегоЛичность) <<?>>мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить; (Проверка: Толстый клиент (обычное приложение))
#14
by MadHead
а в отладчике если посмотрить, что присваиваетсяв эту переменную в строке мНаборЗаписейДокументаУдостоверяющегоЛичность = РегистрыСведений.ПаспортныеДанныеФизЛиц.СоздатьНаборЗаписей;
#15
by Baloven
в а при переходе на строку: мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить; получаю ошибку: {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма(63,28)}: Переменная не определена (мНаборЗаписейДокументаУдостоверяющегоЛичность) ФормаВвода.НаборЗаписей = <<?>>мНаборЗаписейДокументаУдостоверяющегоЛичность; {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма(133,1)}: Переменная не определена (мНаборЗаписейДокументаУдостоверяющегоЛичность) <<?>>мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить;
#16
by ДенисЧ
да блин... а) нету глобальных переменных б) в тонком клиенте не набора записей. Меняй логику. Нафига набор создавать заранее?
#17
by Ksandr
Во временное хранилище клади структуру с нужными значениями. И на клиенте ее получишь и на сервере
#18
by Baloven
вот полный код модуля УФ: &НаКлиенте &НаКлиенте я уже писал что прошу помощи так как с УФ не работал и хочу понять в чем загвоздка, так как эта же логика нормально работает на обычных формах - мне не проблема переписать на обычную, но все же хочется разобраться и понять что не так делаю :( простите за глупые вопросы
#21
by Baloven
мне это не нужно - это попросту форма с пустыми значениями для ввода нового клиента - и она даже не открывается
#22
by Baloven
сделал реквизит формы и сразу указать что это РегистрСведенийНаборЗаписей.ПаспортныеДанныеФизЛиц строку мНаборЗаписейДокументаУдостоверяющегоЛичность = РегистрыСведений.ПаспортныеДанныеФизЛиц.СоздатьНаборЗаписей; закоментировал а теперь на строке мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить выдает ошибку что: {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма}: Метод объекта не обнаружен (Добавить)
#24
by ДенисЧ
Да гипермать!!!!.... Ну нафига тебе _это_ делать на клиенте????? Выноси функцию на сервер, там создавай набор записей и пиши в него!! Зачем ты лепишь на велосипед реактивный двигатель???
#28
by Baloven
наверно я все же что-то недопонял :( я так понимаю Вы имеете ввиду это написать в процедуре вызова УФ? если так, то не работает если это в моей форме о которой речь - то по сути именно это тоже не работает: это не важно ps еще раз, мне не нужно заполнять форму вообще, она у меня не открывается из-за наличия паспортных данных - это пустая форма ввода нового клиента
#29
by zak555
> она у меня не открывается из-за наличия паспортных данных - это пустая форма ввода нового клиента ????
#31
by Baloven
мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить; вот здесь затык при открытии формы - взято из формы добавление нового контактного лица контрагента из УПП
#34
by Baloven
ок... вот новый код модуля формы все остальное фигня ненужная пока он не работает и говорит что: {Обработка.Абоненты_Симбиоз.Форма.ФормаНовогоАбонента.Форма}: Метод объекта не обнаружен (Добавить) мНаборЗаписейДокументаУдостоверяющегоЛичность.Добавить.Добавить;
#35
by fisher
Что за двойное "добавить"? А по существу тебе уже ДенисЧ все рассказал. В твоем конкретном случае реквизит формы не нужен, т.к. нужные тебе типы только на сервере существуют. Поэтому всю работу с ними нужно оформлять через вызовы сервера. Первоначальное заполнение - при создании формы на сервере. Обновление - через серверную процедуру с контекстом формы.
#36
by Baloven
:( вру работает все дело во втором добавить .... буду дальше рыть и включать поочереди процедуры
#37
by vmv
прежде чем создавать переменные или другуие модели данных, нужно задавать себе вопросы И естественно нужно знать как отче наш, что заставить мигрировать менеджеры или наборы записей между клиентом и сервером не удасца. Вывод: нужно ломать психологию привитую 8.1, которая позволяла делать практически все через ж, а к этому быстро привыклы, увы
#38
by Baloven
я -то это прекрасно понимаю :( но я не понимаю этого самого правильного написания кода, т.е. насколько я понял то место где именно он исполняется :( сейчас у меня без комментов код выглядит так: &НаКлиенте и проверка модуля даже говорит что один фиг переменная мНаборЗаписейДокументаУдостоверяющегоЛичность не определена уже и в последней строке :(, блин а без процедур все ок
#39
by fisher
Если ты так все прекрасно понимаешь, то какого хрена обращаешься к мНаборЗаписейДокументаУдостоверяющегоЛичность в клиентской процедуре? Перечитай еще раз все что уже понаписано, но на этот раз вдумчиво.
#40
by Baloven
..... начал писать и увидел сообщение :) вроде хоть что-то начало доходить :) исправил &НаКлиенте на и о чудо УФ наконец-то открылась выдав в поле формы пресловутую надпись "Ввести данные об удостоверении личности" в поле удостоверение всем спасибо огромное буду теперь дальше сам копать :)
#41
by vmv
бесплатный савет в модулях форм используй только переменные для клиента, т.е. с директивой &Клиент. Если в разных серверных методах модуля формы или и серверных и клиентских нужна какая-то постоянная сущность, то для этого используют 1. Добавленные параметры формы 2. Единичные добавленные реквизиты формы 4. Коллекционные реквизиты формы(список значений, таблица значений) 5. Временное хранилище, но оно хранит определенное время В озвученной задаче, если бы так делал я, а я бы так не делал, однако - автор хочет "видеть" мНаборЗаписейДокументаУдостоверяющегоЛичность, кто юзал 8.1 кадровые данные - тому понятно, что это набор записей РС. Так вот, я бы сделал реквизит формы типа "ТаблицаЗначений", Например на закрытой закладке и грузил бы туда этот набор, доступный как данные формы коллекция в любом контестке. но такой подход - дань методике 8.1 и не эффективен. это совершенно разные методы, хоть вы их назвали одинаково, конфликта имен компилятор не дает, так как компилит одельно блок для серва и клиента
#42
by fisher
Нужно один раз понять и дальше все элементарно будет - когда кодишь модуль УФ, ты одновременно кодишь ДВА модуля формы. Серверный и клиентский. Серверный имеет привычный функционал толстого клиента. А клиентский работает только с отдельной специальной предельно упрощенной моделью отображения данных и интерактива (которую даже браузер потянет). По сути - ты одновременно кодишь два разных приложения на разных языках, которые очень плотно взаимодействуют между собой. То, что 1С удалось это сделать настолько прозрачным, что у начинающих прогов оно даже сливается в одну кучу - безусловная их заслуга.
#43
by Baloven
в принципе задачу без проблем решил обычной формой, НО, хочется разобраться с УФ, а посему вопрос: в контексте ТЗ озвученного выше: сделал я реквизит формы мНаборЗаписейДокументаУдостоверяющегоЛичность ТабличноеЗначение, но пока не могу понять что должно быть на сервере а что на клиенте и в том числе передачу данных между ними :( простите за тупость
#44
by vmv
все просто - на сервере должнобыть то, что на нем доступно на клиенте должнобыть то, что на нем доступно в сп пишут контесты для каждого метода или свойства, нужно просто найти денек и пройтись по дереву сп, запоминая ключевые моменты, потом еще раз и еще раз. после трех раз простого листания сп у вас отпадут многие вопросы
#45
by Baloven
собственно как его (мНаборЗаписейДокументаУдостоверяющегоЛичность) увязать теперь с элементом формы и чтобы через него передавать данные между клиентом и сервером? потому как у меня пока что в нем загвоздка
#46
by Baloven
Решение и море примеров по УФ нашел в Документообороте, там и удостоверение и все прочее на УФ реализовано
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Почему вылетает IE 9...
- v8: Отбор по своей колонке с типом "дата" в форме списка
- 1C зависает при формировании баланса
- Как добавить группировку в стандартный отчет (ОСВ) ?
- Ошибка обмена
- Обработка заполнения ТЧ документа Установка цен номенклатуры
- УПП, "Не заполнены счета учета доходов и расходов "
- УПП. Закрытие счета 20. Услуги. Только косвенные затраты.
- Отсутвие возможности сохранения в xls из 1с ТиС 7,7
- reg copy может скопировать только значение конкретного параметра?
- Как создать свой макет для шапки таблицы на СКД?
- Можно ли сохранить отчет в хранилище?
- Периодический и непериодический регистр сведений
- v7: запрос по нулевым остаткам тмц
- В процессе обновления информационной базы произошла критическая ошибка.
- Диаграмма, метод формат значений в подписях
- Перенос настроек 8.2
- СКД: КомпоновщикНастроек.ПолучитьНастройки()
- В платежку встает не тот счет получателя?
- Ошибка запуска опубликованной базы