Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 11:07

Поле объекта недоступно для записи (Номер строки)

Автор nature2002, 14 апр 2011, 01:57

0 Пользователей и 1 гость просматривают эту тему.

nature2002

Доброго времени! Помогите домучить обработку:
В ВводНачальныхОстатков (разделУчета - Материалы) добавляю в таб.часть строки программно. Первая колонка в пользовательском режиме "N"(номер строки) пустая. Программно заполнить не получается - ругается сабж. Без него не проводится. Как его заполнить?

***Vjacheslav***

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

nature2002

В пользовательском режиме нет проблем с добавлением строки.

Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "позиция" Тогда
НомерСтроки = НомерСтроки+1;
Структура.Очистить();
Пока Чтение.ПрочитатьАтрибут() Цикл
Структура.Вставить(Чтение.Имя, Чтение.Значение);
КонецЦикла;
НоваяСтрока = Ввод.МПЗПриобретенные.Добавить();
НоваяСтрока.Ключ = НомерСтроки;
НоваяСтрока.НомерСтроки = НомерСтроки;
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Структура.товар, истина);
НоваяСтрока.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Структура.счет);
НоваяСтрока.Сумма = Структура.сумма;
НоваяСтрока.Количество = Структура.количество;

ДокРасчетов = Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент();
ДокРасчетов.Дата = Дата(Структура.дата);
ДокРасчетов.Комментарий = "Поступление товаров и услуг " + Строка(Структура.номер) + " от " + Формат(ДокРасчетов.Дата, "ДЛФ=Д");
ДокРасчетов.Организация = СТ;
ДокРасчетов.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Структура.контрагент);
ДокРасчетов.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Структура.договор);
ДокРасчетов.Записать();
НоваяСтрока.Партия = ДокРасчетов.Ссылка;
КонецЕсли;
КонецЦикла;


nature2002


Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "позиция" Тогда
НомерСтроки = НомерСтроки+1;
Структура.Очистить();
Пока Чтение.ПрочитатьАтрибут() Цикл
Структура.Вставить(Чтение.Имя, Чтение.Значение);
КонецЦикла;
НоваяСтрока = Ввод.МПЗПриобретенные.Добавить();
НоваяСтрока.Ключ = НомерСтроки;
НоваяСтрока.НомерСтроки = НомерСтроки;
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Структура.товар, истина);
НоваяСтрока.СчетУчета = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Структура.счет);
НоваяСтрока.Сумма = Структура.сумма;
НоваяСтрока.Количество = Структура.количество;

ДокРасчетов = Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент();
ДокРасчетов.Дата = Дата(Структура.дата);
ДокРасчетов.Комментарий = "Поступление товаров и услуг " + Строка(Структура.номер) + " от " + Формат(ДокРасчетов.Дата, "ДЛФ=Д");
ДокРасчетов.Организация = СТ;
ДокРасчетов.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Структура.контрагент);
ДокРасчетов.ДоговорКонтрагента = Справочники.ДоговорыКонтрагентов.НайтиПоНаименованию(Структура.договор);
ДокРасчетов.Записать();
НоваяСтрока.Партия = ДокРасчетов.Ссылка;
КонецЕсли;
КонецЦикла;

nature2002

При проведении ругается, если эти реквизиты не заплнены: Ключ, НомерСтроки. Ключ программно удается заполнить, а НомерСтроки - нет. Вылезает ошибка.

НоваяСтрока.Ключ = НомерСтроки;
НоваяСтрока.НомерСтроки = НомерСтроки;

websamson

Синтакс-помощник:

Строка табличной части (Line of a tabular section)
НомерСтроки (LineNumber)
Использование:

Только чтение.
Описание:

Тип: Число. Номер строки табличной части.

Доступность:

Сервер, толстый клиент, внешнее соединение.

Рид онли :-)

***Vjacheslav***

НоваяСтрока.НомерСтроки = НомерСтроки; Убери эту строку. Я же написал ее заполнять не надо.

nature2002

Да, я не нашла подходящего способа для ее заполнения. Поэтому и пишу. Дело в том, что если вообще ничего не присваивать, то в результате получается документ с пустой колонкой "N" (номер строки). В пользовательском режиме она не доступна для редактирования. И при проведении выходят ошибки (я переношу без проведения, а потом провожу).

nature2002

Может быть вместо
НоваяСтрока = Ввод.МПЗПриобретенные.Добавить();
можно использовать какую-то функцию 1С, чтобы номер заполнялся?

cska-fanat-kz

Присоединюсь к ***Vjacheslav***.
Колонка НомерСтроки - стандартная и заполняется автоматически.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск