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

Подстановка значения реквизита справочника в модуль документа

Автор mdn, 06 янв 2011, 09:56

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

mdn

Здравствуйте! При расчете значения строки табличной части полученное значение нужно умножить на число, равное значению реквизита справочника, подскажите, пожалуйста, как подставить значение реквизита справочника в модуль документа?

progmikon

Ну как минимум нужно знать, какой элемент справочника вам нужен.

Если в вашем документе, есть реквизит со ссылкой на этот элемент, можно обратиться через точку.
ИмяРеквизитаДокумента.РеквизитНужный

mdn

Спасибо, работает!
а в случае еслии надо обратиться к ревизиту элемента выбранного в табличной части?
При варианте:
ИмяТаблЧасти.ИмяРеквизита
в режиме предприятие выдает ошибку "Поле объекта не обнаружено"

cska-fanat-kz

Цитата: mdn от 08 янв 2011, 16:16
Спасибо, работает!
а в случае еслии надо обратиться к ревизиту элемента выбранного в табличной части?
При варианте:
ИмяТаблЧасти.ИмяРеквизита
в режиме предприятие выдает ошибку "Поле объекта не обнаружено"

ТекущиеДанные = ЭлементыФормы.ТабЧасть.ТекущиеДанные;
ТекущиеДанные.Сумма = ТекущиеДанные.Номенклатура.ЦенаПриходная * ТекущиеДанные.Количество;

Грубый пример. Чисто показать как обращаться к реквизиту табличной части...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

mdn

Цитата: cska-fanat-kz от 08 янв 2011, 16:20
Цитата: mdn от 08 янв 2011, 16:16
Спасибо, работает!
а в случае еслии надо обратиться к ревизиту элемента выбранного в табличной части?
При варианте:
ИмяТаблЧасти.ИмяРеквизита
в режиме предприятие выдает ошибку "Поле объекта не обнаружено"

ТекущиеДанные = ЭлементыФормы.ТабЧасть.ТекущиеДанные;
ТекущиеДанные.Сумма = ТекущиеДанные.Номенклатура.ЦенаПриходная * ТекущиеДанные.Количество;

Грубый пример. Чисто показать как обращаться к реквизиту табличной части...
надо не к реквизиту табличной части, а к реквизиту элемента, выбранного в табличной части, для описания условия, допустим если Вид номенклатуры - товар , то..

cska-fanat-kz

Цитата: mdn от 08 янв 2011, 16:34
надо не к реквизиту табличной части, а к реквизиту элемента, выбранного в табличной части, для описания условия, допустим если Вид номенклатуры - товар , то..

Табличная часть СписокНоменклатуры.
Колонки: Номенклатура, ЕдИзм, Количество

ТекущиеДанные = ЭлементыФормы.СписокНоменклатуры.ТекущиеДанные;

Если ТекущиеДанные.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Товар Тогда
      ТекущиеДанные.ЕдИзм = ТекущиеДанные.Номенклатура.ОсновнаяЕдИзм;
КонецЕсли;

Так?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

mdn

да, спасибо! ссори за глупые вопросы, первые шаги)

mdn

Если СтрокаТаблЧасти.Вещество.Кл=1 или СтрокаТаблЧасти.Вещество.Кл=2 Тогда
      СтрокаТаблЧасти.Киз=СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд
   Иначе
      Если СтрокаТаблЧасти.Вещество.Кл=3 или СтрокаТаблЧасти.Вещество.Кл=4 Тогда
         Если 0<СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд<10 Тогда
            СтрокаТаблЧасти.Киз=1
         КонецЕсли;
         Если СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд>30 Тогда
            СтрокаТаблЧасти.Киз=5
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;

значение 1 не подставляет, подскажите в чем ошибка?

cska-fanat-kz

Цитата: mdn от 08 янв 2011, 19:03
Если СтрокаТаблЧасти.Вещество.Кл=1 или СтрокаТаблЧасти.Вещество.Кл=2 Тогда
      СтрокаТаблЧасти.Киз=СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд
   Иначе
      Если СтрокаТаблЧасти.Вещество.Кл=3 или СтрокаТаблЧасти.Вещество.Кл=4 Тогда
         Если 0<СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд<10 Тогда
            СтрокаТаблЧасти.Киз=1
         КонецЕсли;
         Если СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд>30 Тогда
            СтрокаТаблЧасти.Киз=5
         КонецЕсли;
      КонецЕсли;
   КонецЕсли;

значение 1 не подставляет, подскажите в чем ошибка?

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

mdn

Цитата: sergejK74 от 08 янв 2011, 20:01
Если 0<СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд<10 Тогда
перепиши
например
коэф = СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд;
Если (Коэф>0) и (коэф<10) Тогда

[/тот же рузультат, вроде по руусски написанно, а все равно например при  СтрокаТаблЧасти.Сф/СтрокаТаблЧасти.Сд=7, Киз=2 quote]

Теги:

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

Рейтинг@Mail.ru

Поиск