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

Табличная часть документа, как обратится к реё реквизиту.

Автор mila1231, 01 мар 2016, 12:28

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

mila1231

Есть документ, в документе есть реквизиты и табличная часть, в этой табличной части есть столбец тип булео. Данные из документа, записываются в регистрсведений.
Так вот как обратиться к реквизиту табличной части?т.е как делаю я, неправильно занаю...

Если элементыформы.Приборы.ТекущиеДанные.статус_выдан =истина тогда
      
   элементыформы.Приборы.ТекущиеДанные.Статус_прибора = Перечисления.Статусы_прибора.к_выдачи
иначе

    элементыформы.Приборы.ТекущиеДанные.Статус_прибора = Перечисления.Статусы_прибора.Принят
   
конецЕсли;
т.е в реестр ничего дельного не записывается. Хотя почему не записывается понятно, но не понятно как надо.

Rasty

вы в регистр что хотите записывать строки из таблички?
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

mila1231

Цитата: Rasty от 01 мар 2016, 12:38
вы в регистр что хотите записывать строки из таблички?
в регистр записывается полностью все данные из табличной части+ реквизиты и они на самом деле записываются, а статус, статус не получается записать.... т.е при записи выполняется код, который выше, но статус не записывается там пустые поля.

Rasty

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

mila1231

Цитата: Rasty от 01 мар 2016, 12:48
тип какой у статуса в табличке?
тип перечисление.
Раньше при записи всем данным из табличной части присваивался один статус(Принят) и он присваивался при записи документа и находилась переменная в реквизитах документа, т.е выглядело это так

статус_документа = Перечисления.Статусы_прибора.Выдан;

Сейчас нужно это убрать и сделать статус для каждого прибора, который находится в табличной части. Для этого я завожу 2 переменные в табличной части, одну делаю булео(статус_выдан), а другую Статус_прибора(оставляю перечислением)
Т.е при записи должно смотреться истина или лож Статус_выдан и в зависимости от этого должно быть присвоино значение из перечисления
ЗЫ Надеюсь понятно объяснила, что мне надо.....
Добавлено: 01 мар 2016, 13:10


т.е получается , что он меняет статус, только в том случае если строка выделена, но оно и понятно, т.к я же использую текущиеДанные.. а надо как то так, чтоб при записи менялся статус всех полей вне зависимости текущие это данные или нет...

Rasty

Устанавливайте значение по умолчанию к_выдачи, а перед записью сделайте так
Отбор = Новый Структура;
Отбор.Вставить("статус_выдан",Ложь);
нСтроки = Приборы.НайтиСтроки(отбор);
Для Каждого Строка Из нСтроки Цикл
    Строка.Статус_прибора = Перечисления.Статусы_прибора.Принят;
КонецЦикла;
Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

Agromon

Цитата: mila1231 от 01 мар 2016, 12:28
...

Если элементыформы.Приборы.ТекущиеДанные.статус_выдан =истина тогда
      
   элементыформы.Приборы.ТекущиеДанные.Статус_прибора = Перечисления.Статусы_прибора.к_выдачи
иначе

    элементыформы.Приборы.ТекущиеДанные.Статус_прибора = Перечисления.Статусы_прибора.Принят
   
конецЕсли;
...

Вы везде обращаетесь к элементу формы, а не к реквизитам/табличным частям документа.

Rasty

Помогли - Скажи спасибо! Решил сам - поделись решением!
:)

mila1231

Rasty, спасибо работает, а значение по умолчанию таким способом можно представить или есть другой, более верный??
Процедура ПриборыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)

ЭлементыФормы.Приборы.ТекущиеДанные.статус_прибора = Перечисления.Статусы_прибора.к_выдачи;
                                   

КонецПроцедуры

Теги:

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

Рейтинг@Mail.ru

Поиск