Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Не удается записать значение в поле формы , Выдает: Поле объекта недоступно для записи          
SV71 Подменю пользователя
сообщение 25.09.14, 14:57
Сообщение #1

Говорящий
***
Группа: Пользователи
Сообщений: 80
Спасибо сказали: 3 раз
Рейтинг: 0

Всем здравия!

1С 8.2, режим "Управляемое приложение", самописная конфигурация.

На "Форму документа" добавлен реквизит "ПереводИсточник", тип "ПланСчетовСсылка.НИС_Учт_Сч_Счета".

Производится подмена "Формы выбора".
Выбор производится из более удобного интерфейса "Справочник.НИС_Учт_Сч_Счета", в котором есть атрибут "Счет", того же типа "ПланСчетовСсылка.НИС_Учт_Сч_Счета".

Через функцию "ОбщиеМеханизмыКлиента.ПолучитьЗначение" получаю "ПланСчетовСсылка.НИС_Учт_Сч_Счета.Ссылка".

При попытке записи в поле формы "ПереводИсточник" возникает ошибка:
Цитата
Поле объекта недоступно для записи (ПереводИсточник)



Код "Формы документа"
// *********************
// * Переменные модуля *
// *********************

///////////////////////////////////////////////////
//
// Назначение: Поле для занесения выбранного счета
//
// Использование:
// - устанавливается: Процедура ПереводИсточникНачалоВыбора
// - считывается для адресации значения: Процедура ОбработкаВыбора
//
&НаКлиенте
Перем мВыборСчета;


// ****************
// * Подпрограммы *
// ****************
//////////////////////////////////////////////////////////////////////////////
//
// Процедура ПереводИсточникНачалоВыбора
//
// Назначение: Вызывает интерфейс выбора "ПереводИсточник"
//
// Вызов: При нажатии кнопки выбора или нажатии клавиши F4 на атрибуте "ПереводИсточник"
//
&НаКлиенте
Процедура ПереводИсточникНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    // ====================================================================
    // = Зафиксировать заненсение результата в "Элементы.ПереводИсточник" =
    // ====================================================================
    мВыборСчета = Новый Массив;
    мВыборСчета.Добавить("ПереводИсточник");
    
    // ==========================================================
    // = Создадим форму выбора из "Справочник.НИС_Учт_Сч_Счета" =
    // ==========================================================
    фВыборСчета = ОткрытьФорму("Справочник.НИС_Учт_Сч_Счета.Форма.ФормаВыбора");
    фВыборСчета.ВладелецФормы = ЭтаФорма;
    фВыборСчета.Открыть();
    
    // ===================================
    // = Запретить стандартную обработку =
    // ===================================
    СтандартнаяОбработка = Ложь;
    
    
    // =========================================================================
    // = Результат выбора обрабатывается в процедуре события "ОбработкаВыбора" =
    // =========================================================================
КонецПроцедуры // ПереводИсточникНачалоВыбора


//////////////////////////////////////////////////////////////////////////////
//
// Процедура ОбработкаВыбора
//
// Назначение: Заполняет выбранный "СчетДТ"
//
// Вызов: При выборе значения в подчиненной форме
//
&НаКлиенте
Процедура ОбработкаВыбора(пВыбранноеЗначение, пИсточникВыбора)
    // =============================
    // = Проверить источник выбора =
    // =============================
    Если пИсточникВыбора.ИмяФормы = "Справочник.НИС_Учт_Сч_Счета.Форма.ФормаВыбора" Тогда
        // = Произведен выбор из "Справочник.НИС_Учт_Сч_Счета"
        // ===================================================
        
        // ============================
        // = Занести выбранный "Счет" =
        // ============================
        Если мВыборСчета[0] = "ПереводИсточник" Тогда
            Элементы.ПереводИсточник =
            ОбщиеМеханизмыКлиента.ПолучитьЗначение(
                    "Справочник.НИС_Учт_Сч_Счета",
                    пВыбранноеЗначение,
                    "Счет"
                    );
            
        КонецЕсли;
        

    КонецЕсли; // пИсточникВыбора.ИмяФормы = "Справочник.НИС_Учт_Сч_Счета.Форма.ФормаВыбора"
    
КонецПроцедуры // ОбработкаВыбора



Код общего модуля "ОбщиеМеханизмыКлиента"
Установлены свойства модуля: Сервер, Вызов сервера
////////////////////////////////////////////////////////////////////////////////
//
// Функция ПолучитьЗначение
//
// Описание: Формирует запрос к объекту на сервере
//
// Возвращаемое значение: Значение поля, название которого в "пПолеЗначения" в первой записи запроса
//
Функция ПолучитьЗначение(
    пОбъект                        ,        // Объект из которого производится отбор
    пЗапись                        ,        // Запись для отбора
    Знач пПолеЗначения = Неопределено    // Название поля для возврата
    ) Экспорт
    
    // ====================================
    // = Установить значения по умолчанию =
    // ====================================
    Если пПолеЗначения = Неопределено Тогда
        пПолеЗначения = "Наименование";
    КонецЕсли;
    
    
    // =======================
    // = Сформировать запрос =
    // =======================
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |" + пПолеЗначения + "  
    |  ИЗ " + пОбъект + "
    |  ГДЕ Ссылка = &Ссылка
    |";
    
        
    // ====================
    // = Выполнить запрос =
    // ====================
    Запрос.УстановитьПараметр("Ссылка", пЗапись["Ссылка"]);
    РезультатЗапроса = Запрос.Выполнить();
        
    
    // ==============================
    // = Получить результат запроса =
    // ==============================
    Выборка = РезультатЗапроса.Выбрать();
    Выборка.Следующий();
    
    Возврат Выборка[пПолеЗначения];
    
КонецФункции //ПолучитьЗначение


Помогите разобраться как правильно записать значение в поле формы "ПереводИсточник".

Всех благ!!!

Vofka Подменю пользователя
сообщение 25.09.14, 15:09
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4519 раз
Рейтинг: 3641.2

А так:

//...
Если мВыборСчета[0] = "ПереводИсточник" Тогда
            ПереводИсточник =
            ОбщиеМеханизмыКлиента.ПолучитьЗначение(
                    "Справочник.НИС_Учт_Сч_Счета",
                    пВыбранноеЗначение,
                    "Счет"
                    );
            
        КонецЕсли;
//...


?

Спасибо сказали: SV71,

Petre Подменю пользователя
сообщение 25.09.14, 15:12
Сообщение #3

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Какой путь к данным у этого поля формы?


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

SV71 Подменю пользователя
сообщение 26.09.14, 11:10
Сообщение #4

Говорящий
***
Группа: Пользователи
Сообщений: 80
Спасибо сказали: 3 раз
Рейтинг: 0

Цитата(Vofka @ 25.09.14, 17:09) *
А так:

//...
Если мВыборСчета[0] = "ПереводИсточник" Тогда
            ПереводИсточник =
            ОбщиеМеханизмыКлиента.ПолучитьЗначение(
                    "Справочник.НИС_Учт_Сч_Счета",
                    пВыбранноеЗначение,
                    "Счет"
                    );
            
        КонецЕсли;
//...


?


Заработало, огромное спасибо!

Что-то я не разобрался сразу с объектной моделью.
Надо поискать описание чем отличаются обращения: "Элементы.РеквизитФормы" от "РеквизитФормы".

Тема закрыта.

logist Подменю пользователя
сообщение 26.09.14, 12:18
Сообщение #5

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Цитата(SV71 @ 26.09.14, 11:10) *
чем отличаются обращения: "Элементы.РеквизитФормы" от "РеквизитФормы".

Тем, что Элементы это обращение к элементу формы, т.е. управление тем, что отображается на форме (визуализация), а реквизит формы (объекта) это уже непосредственная работа с данными.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Petre Подменю пользователя
сообщение 26.09.14, 13:33
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2905
Из: Київ, Україна
Спасибо сказали: 1147 раз
Рейтинг: 1228.9

Цитата(SV71 @ 26.09.14, 12:10) *
"Элементы.РеквизитФормы"

Такого нет. Есть "Элементы.ЭлементФормы".


Signature
Допрацьовую:
- "Бухгалтерія для України 2.1";
- "Альфа-Авто: Автосалон+Автосервіс+Автозапчастини, українська версія".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.04.24, 8:50
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!