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

Обращение к реквизиту табличной части другого документа

Автор Сергей120, 05 апр 2015, 13:35

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

Сергей120

Здравствуйте! У меня есть документ "ПервичныйЗавозТовара" с табличной частью "Товар" с реквизитами табличной части Наименование и Количество. Регистр накопления "КоличествоТовара": измерение - "Наименование", ресурсы - "Количество". И документ "Продажа",табличная часть "Товар", реквизиты "Наименование", "Количество" ,в котором я создал форму "ФормаДокумента1". (1С - Предприятие 8.2)

В модуле формы в функции я создаю запрос на вытаскивание Наименования и Количества товаров из  РегистраНакопления, мне нужно сравнивать Наименование товара который я выбрал для продажи в документе с наименованием товаров вытащенных из регистранакопления и если они совпадают, то возвращать в колонку "Количество" количество товаров на складе данного наименования. Как обратиться к реквизиту табличной части документа ПервичныйЗавозТовара?

&НаСервереБезКонтекста
функция ВыбираемИзЗапроса()
Перем КолТов;
Запрос = Новый Запрос("Выбрать Количество, Наименование ИЗ РегистрНакопления.КоличествоТовара");
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();

СтрокаТабличнойЧасти = Элементы.ПервичныйЗавозтовара.Товар.ТекущиеДанные;
ОбъектДляЧегоТо = ПолучитьИмя(СтрокаТабличнойЧасти.Наименование);
СтрокаТабличнойЧасти.Наименование = ОбъектДляЧегоТо;

Пока Выборка.Следующий() Цикл
Если Выборка.Наименование = ОбъектДляЧегоТо Тогда
  КолТов = Выборка.Количество;
КонецЕсли;
КонецЦикла;
Возврат  КолТов;
КонецФункции

vitasw

"ВЫБРАТЬ
|   РеализацияТоваровУслугТовары.Номенклатура,
|   РеализацияТоваровУслугТовары.Количество КАК КоличествоВДокументе,
|   ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоВРН
|ИЗ
|   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
|      ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
|ГДЕ
|   РеализацияТоваровУслугТовары.Ссылка = &Ссылка"

Сергей120

т.е. для моего случая код будет выглядеть так?


&НаСервереБезКонтекста
Функция ЗапросКоличества()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|   ПервичныйЗавозТовараТовар.Номенклатура,
|   ПервичныйЗавозТовараТовар.Количество КАК КоличествоВДокументе,
|   ЕСТЬNULL(КоличествоТовараКоличество.КоличествоОстаток, 0) КАК КоличествоВРН
|ИЗ
|   Документ.ПервичныйЗавозТовара.Товар КАК ПервичныйЗавозТовараТовар
|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КоличествоТовара.Количество КАК КоличествоТовараКоличество
|      ПО ПервичныйЗавозТовараТовар.Номенклатура = КоличествоТовараКоличество.Номенклатура
|ГДЕ
|   ПервичныйЗавозТовараТовар.Ссылка = (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка");
Выборка = Запрос.Выполнить().Выбрать();
Возврат Выборка;
КонецФункции


Dethmontt

Сергей120, примерно так, только обращаться нужно наверное к таблице остатков, а не ко всей таблице регистра...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

vitasw

Цитата: Сергей120 от 05 апр 2015, 22:06ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КоличествоТовара.Количество КАК КоличествоТовараКоличество
? что есть это?!?! это разве работает???


cska-fanat-kz

Цитата: Сергей120 от 05 апр 2015, 22:06|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.КоличествоТовара.Количество КАК КоличествоТовараКоличество

оу
май
гаш!!!
:o
:xfbnsdfb:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Сергей120


Теги:

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

Рейтинг@Mail.ru

Поиск