Поле объекта недоступно для записи

Поле объекта недоступно для записи (ЭтотОбъект)

Я
   kalinin Объясните, почему выскакивает ошибка?
8.2.13.219, клиент-серверный вариант Есть кнопка на форме с командой (про директиву пока молчу), код:
д = Документы.Документ1.СоздатьДокумент(); д.Дата = ТекущаяДата(); д.Записать(); Тестовая конфигурация:

В модуле "Документ1", событие "ПередЗаписью", код:
общ.проц(ЭтотОбъект); Общий модуль "Общ", экспортная процедура "Проц", без кода.

Если директива у команды &НаКлиенте, то появляется ошибка про недоступность поля.
Если директива у команды &НаСервере, то все ок.
Если директива у команды &НаКлиенте, и закомментировать код в "ПередЗаписью" то все ок.
 
     GROOVY

Ведущий

Потому что "Поле объекта недоступно". Причину надо искать в свойствах формы доступных на клиенте и на сервере, в управляемом и обычном приложении, в тонком и толстом клиентах.

   kalinin

Забыл указать свойства общего модуля:
Сервер
Вызов сервера

   kalinin

+(0) исполнение в толстом управляемом клиенте

   GROOVY

Ведущий

У меня вопрос: Надо рассказать почему ошибка выскакивает, или как правильно сделать?

Ошибка выскакивает так как у команды формы на может быть другой директивы кроме как "НаКлиенте".

Да и у общего модуля не установлен флаг "Вызов клиента" (или както так).

   Asmody

самым правильным ответом на подобные (0) вопросы будет ссылка на http://v8.1c.ru/metod/books/book.jsp?id=185

   GROOVY

Ведущий

(5) Я предлагаю его боту скормить как универсальный ответ в тему по 8.2.

   kalinin

(4)
Неточность в (0), директива у команды &НаКлиенте, а команда вызывает процедуру создания документа, от директивы которой зависит результат нажатия кнопки.
У общего модуля установлен флаг "Вызов сервера".

(5)
читал и литературу и посты по 8.2, связанные с программированием с точки зрения клиент-серверного взаимодействия (во как!) 🙂

собственно не ново, если так все просто, то скажите, в чем тут дело 🙂

   GROOVY

Ведущий

(7) Честное слово, читай внимательнее.

Поле объекта недоступно для записи .. что не так?

По моему у тебя вообще нет понятия того зачем директивы описываются и как себя ведут.

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Ошибка "Поле объекта недоступно для записи"

Я
   Redimer Товарищи, подскажите плиз! Имеется код:

Процедура Кнопка1Нажатие(Элемент) Форма = Справочники.Синки.ПолучитьФормуСписка("ФормаСписка"); Форма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока = Справочники.Синки.НайтиПонаименованию(ЭлементыФормы.Наименование.Значение, Истина); Форма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Головной = "глав"; Форма.Открыть(); КонецПроцедуры
Пишет ошибку "Поле объекта недоступно для записи (Головной)"?
 
     Wladimir_spb

Интересно, а что в принципе должен делать этот код?..
Если элементы меняешь, то зачем через форму. Если просто в списке доп.инфу вывести, то создай свою колонку, не связанную с данными.

   Redimer

Код должен делать следующее. Открыть ФормуСписка справочника, найти необходимую строку и подставить в колонку "Головной" этой строки какое-то значение.

   Wladimir_spb

В (1) что-то непонятно?

   Adoff

колонка Головной связана с данными?

   Redimer

нет. Колонка Головной не связана с данными.

Поле объекта недоступно для записи (ЭтотОбъект)

Тип строка.

Объясню еще разок: Короче мне надо програмно открыть формуСписка одного справочника. В этой форме списка в таб поле 3 колонки. Код, Наименование, Головной. Я ищу по наименованию нужную мне строку. Нахожу. В этой строке заполнены: Код, Наименование, а Головной — пустое. Мне надо в соответствующую ячейку в колонке головной вставить текст. Я его вставляю, а мне ошибку пишет:

"Поле объекта недоступно для записи (Головной)"

   Wladimir_spb

Размещение колонки в списке справочника? ТелепатБот, ответь

   Wladimir_spb

+(6) Бот спит уже…
Книга знаний: v8: Размещение колонки с остатками в списке справочника

   Альберт_Уфа

Форма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Головной.Значение = "глав";

   Redimer

Сделал как посоветовал Альберт_Уфа и теперь пишет:

Значение не является значением объектного типа

   НЕА123

Объект получи. Но все же ну куй это надо? (1)+1.

 
 

   Валерыч

да нет у него в объекте этого — толи вычисляемая колонка (тогда используй событие ПриПолученииДанных или ПриВыводеСтроки для ЭФ списка), то ли вообще ХЗ что

   Redimer

НЕА123 Поясни плиз

   НЕА123 Объект = Форма.ЭлементыФормы.СправочникСписок.ТекущаяСтрока.ПОлучитьОбъект(); Объект.Головной = "Глав"; Объект.Записать(); Оно?

(11) да, согласен, но то что СправочникСписок… есть вероятность, что проскочит. )))    Redimer

СПАСИБО ОГРОМНОЕ! ВСЕ ПОЛУЧИЛОСЬ!

   Adoff ну тебе же дали ссылку в (7) а Альберта ап стену за такие советы

Наведи порядок в своей работе используя конфигурацию 1C "Управление IT-отделом 8"

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Поле объекта недоступно для записи

Я
   DasTPID Добрый день!

У меня есть документ "Реализация товаров и услуг", к нему прикручена печатная форма, и в обработчике Печать () я хочу немного изменить сам документ, например так:

СсылкаНаОбъект.Комментарий = "Ха-ха"; В итоге 1С ругается:
Не удалось сформировать внешнюю печатную форму! Поле объекта недоступно для записи (Комментарий)
Я так подозреваю, что было логичным запретить документ менять пока он печатается, чтобы на печать не вывелся документ до и после изменений одновременно. Но может быть что-то всё-таки можно придумать?
 
     Mitriy

свят-свят-свят….

   Шапокляк Об=Ссылка.ПолучитьОбъект(); Об.Комментарий "Аффтырь, учи матчасть"; Об.Записать(РежимЗаписиДокумента.Проведение)    73

СсылкаНаОбъект <> Объект

   Шапокляк

к(2)
..Комментарий=

   DasTPID

Ух ты

   DasTPID Ну как видно из вопроса, в 1С я совсем начинающий..

Объясните, плиз, почему тогда не работает такой вариант (я его тоже попробовал перед тем как вопрос задать):

Док =Документы.РеализацияТоваровУслуг.НайтиПоНомеру(СсылкаНаОбъект.Номер,СсылкаНаОбъект.Дата); Док.Комментарий = "Аффтырь учи матчасть"; Док.Записать();    73

(6) А ты посмотри в СП, что возвращает НайтиПоНомеру…

   Шапокляк

(6) В ссылку не пишется.

   Mitriy

(6) потому что ПолучитьОбъект() нету…
а вообще забей, не дело так делать…

   73

(7)+ Имея ссылку, ищешь её же(ссылку). Оригинально.

И чем же (2) не устроило?

 
 

   Mitriy

вот советчики… за изменение документа при печати табуреткой по пальцам…

   DasTPID

(10) Номер 2 устроило есссно, просто хочу разобраться

Всем спасибо!

Из комментариев понял, что НайтиПоНомеру также возвращает не объект, а ссылку на него.

Post navigation

Нелогично, но ладно, привыкну.

Крайний вопрос: что такое СП, в котором я должен смотреть? Наверное какой-то общеизвестный хелп?

   Шапокляк

(11) Полегче на поворотах :). Мы не советуем так делать, мы объясняем, почему код не работает. А на следующие грабли автор потом напорется.

   Mitriy

(12) Синтакс-помощник…

   Mitriy

(14)+ кнопка с мужиком в квадратной кепке…

   73

(11) Так пальцы ж чужие)

   DasTPID

(15) Ух ты какой мужик в квадратной кепке замечательный!! Сколько открытий в один день 🙂

(13) А можно про грабли заранее?

   H A D G E H O G s Док =Документы.РеализацияТоваровУслуг.НайтиПоНомеру(СсылкаНаОбъект.Номер,СсылкаНаОбъект.Дата); Красивая конструкция.. Афхтор, выполни там же Сообщить(ТипЗнч(СсылкаНаОбъект));и возвращайся к нам.    DasTPID

(18) Я не знал, что НайтиПоНомеру возвращает ссылку! И про функцию ТипЗнч тоже в первый раз узнал!

   Шапокляк

(17) Заранее нельзя. Кто ж знает, куда вас занесет в ваших изысканиях. Вот, например, при печати вы хотите перезаписывать документ, так? А если документ захочет напечатать пользователь, у которого права только на чтение? Так что природная предусмотрительность в нашем деле очень нужна.

   hhhh

(19) ну сам подумай: ссылка — это просто адрес в базе, а объект — это прилично, может несколько мегабайт. И вопрос — нужно ли тебе перегонять каждый раз туда-сюда мегабайты? Если, например, тебе десять тысяч таких номеров в цикле потребуется найти? Лучше ведь работать со ссылками.

   DasTPID

(20) Спасибо

TurboConf 5 — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *