[РЕШЕНО] Извлечение данных из реквизита справочника в ТЧ документа

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Anmut, 18 авг 2015.

  1. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток! Подскажите, пожалуйста!
    В ТЧ документа есть колонка "ЕдиницыИзмерения". Как сделать, чтоб в эту колонку при выборе номенклатуры подставлялось значение из реквизита справочника "Номенклатура"?
    За ранее всем благодарен!

    &НаКлиенте
    Процедура ГотоваяПродукцияПродукцияПриИзменении(Элемент)
    СтрокаТабличнойЧасти=элементы.ГотоваяПродукция.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена=РаботаСоСправочником.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.Продукция);
    СтрокаТабличнойЧасти.ЕдиницыИзмерения=РаботаСоСправочником.ЕдиницыИзмерения(Объект.Дата,СтрокаТабличнойЧасти.Продукция);
    КонецПроцедуры

    Данная процедура через регистр сведений работает нормально. Просто крайне долго и неудобно создавать постоянно регистры сведений и прописывать функции для каждой колонки, куда хочу автоматически подставлять данные, которые и так имеются в реквизитах справочников.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    А что вот так не работает
    СтрокаТабличнойЧасти.ЕдиницыИзмерения=СтрокаТабличнойЧасти.Продукция.ЕдиницаИзмерения;

    Зачем какая то функция. цена то да - она на дату, а ед измерения она что в зависимости от времени меняется?
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Не работает, т.к. на клиенте доступна только ссылка на объект.

    Можно написать функцию в общем модуле и через нее получать значение реквизита.

    Код:
    Функция ПолучитьЗначениеРеквизита(СсылкаНаОбъект, ИмяРеквизита)
    возврат СсылкаНаОбъект[ИмяРеквизита];
    конецФункции
    Вызывать можно без контекста.
    Anmut нравится это.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    а там же вроде какая то стандартная есть функция
  5. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Не поверите, но в этой компании, где работаю сейчас, меняется)))). Поставщики разные и кто-то в м2, кто-то в куб.м, а кто-то в штуках указывает, а наших заставляют приходывать согласно документов вот и мучаемся с такой несуразицей(((
    --- Объединение сообщений, 18 авг 2015 ---
    Сейчас попробую..
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Так это 100% запрос к регистру сведений.
    В вашем случае значение реквизита справочника использовать нельзя, вы сами объяснили причину.
  7. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Как раз нужно, потому что я наоборот заставляю приход ставить именно в одной ед.измерения, а не заводить одну и туже номенклатуру с разными ед.изм.
  8. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Судя по предоставленной информации, у меня сложилось впечатление, что единицы измерения как-то не верно используются.

    Если в документе указана единица измерения "коробка", например, то на склад оно должно приходоваться в количестве кванта этой коробки.
    Абсолютно не понятен механизм с периодическим регистром сведений для единиц измерений приходуемой номенклатуры от разных поставщиков.
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    А почему у одной номенклатуры не завести базовую ед измерения, а затем дополнительные с коэффициентами, как это в стандарте предусмотрено и коэффициенты.
    Просто есть болты - одна контора Вам поавляет кг, другая пачками и на склад одновремено привезли от дувух поставщиков в один день и как у вас в отчете будет по остаткам.
    в стандартном механизме указывается базовая, например шт. и дополнительные с коэффициентами, допустем в пачке 100шт, в кг 1000 шт.
    и в итоге на склде всего понятно сколько штук болтов .
  10. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1

    Подскажи, пожалуйста, тут не пропущен оператор "Экспорт" в первой строчке?
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Если в общем модуле писать, то да, экспорт необходим.
    Если в модуле формы, то необходиомости нет.
  12. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    А где в модуле формы ее запихать?
    --- Объединение сообщений, 18 авг 2015 ---
    Извини, если задаю глупые вопросы, учусь(((
  13. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Да в любом месте модуля формы.
  14. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Видать чего-то не понимаю. Функцию вставил. Но не могу правильно к ней обратиться((( ну прям кучу ошибок выдает((
  15. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Что за ошибки?
  16. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Прописал ее в общем модуле "РаботаСоСправочником"
  17. TopicStarter Overlay
    Anmut
    Offline

    Anmut

    Регистрация:
    21 апр 2015
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Огромное спасибо. Кое-как сообразил правильно обратиться к данной функции))). Сделал так:

    &НаКлиенте
    Процедура ГотоваяПродукцияПродукцияПриИзменении(Элемент)
    СтрокаТабличнойЧасти=элементы.ГотоваяПродукция.ТекущиеДанные;
    СтрокаТабличнойЧасти.Цена=РаботаСоСправочником.РозничнаяЦена(Объект.Дата,СтрокаТабличнойЧасти.Продукция);
    СтрокаТабличнойЧасти.ЕдиницыИзмерения=ПолучитьЗначениеРеквизитаНаСервере(СтрокатабличнойЧасти.Продукция,"ЕдиницыИзмерения");
    КонецПроцедуры

    &НаСервереБезКонтекста
    Функция ПолучитьЗначениеРеквизитаНаСервере(ИмяОбъекта, ИмяРеквизита)
    Возврат ИмяОбъекта[ИмяРеквизита];
    КонецФункции

Поделиться этой страницей