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

Отображение остатков товаров в обработке

Автор MevMix, 19 мая 2011, 11:13

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

MevMix

Добрый день!!!!
В 1С программирую совсем недавно, надеюсь что поможете решить вопрос!!!!!

Я создаю обработку, в которой хотел бы отобразить номенклатуру и ее остатки на складе

Регистр Накопления "ОстаиТоваров"
Справочник "Номенклатура"

В табличном поле к номенклатуре добавляю колонку "количество"

Какой должен быть запрос, чтоб отобразить количество

Но у меня складов несколько
Если не привязываться к складу, то она покажет общее количество.
В принципе этого будет достаточно.

Конфиг самописанный, не типовой

cska-fanat-kz

ВЫБРАТЬ
   ТоварыНаСкладахОстатки.Номенклатура,
   ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
АВТОУПОРЯДОЧИВАНИЕ
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MevMix

Процедура ПриОткрытии()
   Запрос=Новый Запрос;
   Запрос.Текст=
    "ВЫБРАТЬ
    |   ОстаткиТоваровОстатки.Номенклатура,
    |   ОстаткиТоваровОстатки.Номенклатура.Родитель КАК Родитель,
    |   ОстаткиТоваровОстатки.КоличествоОстаток
    |ИЗ
    |   РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки" ;
   
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
       Стр = ТабличноеПоле1.Добавить();
       Стр.Номенклатура = Выборка.Номенклатура;
       Стр.Количество = Выборка.КоличествоОстаток;
    КонецЦикла;
КонецПроцедуры;
Написал вот такую процедуру при открытии обработки
не нравиться то что выводить все общим списком, без иерархии

как сделать иерархию

cska-fanat-kz

Надо переделать:
1. Запрос: справочник Номеклатура связать левым соединением с регистром остатков
2. Табличное поле: изменить ТипЗначения на ДеревоЗначений
3. Запрос.Выполнить(). не Выбрать(), а Выгрузить();
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

MevMix

Цитата: cska-fanat-kz от 19 мая 2011, 13:40
Надо переделать:
1. Запрос: справочник Номеклатура связать левым соединением с регистром остатков
2. Табличное поле: изменить ТипЗначения на ДеревоЗначений
3. Запрос.Выполнить(). не Выбрать(), а Выгрузить();
cska-fanat-kz, подскажи

1. как его связать левым соед
все время ругается

Запрос.Текст =
   "ВЫБРАТЬ
   |   Номенклатура.Ссылка,
   |   ОстаткиТоваров.Номенклатура,
   |   ОстаткиТоваров.Количество
   |ИЗ
   |   РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров,
   |   Справочник.Номенклатура КАК Номенклатура"

Неоднозначное Поле "Номенклатура.Ссылка" По ОстакиТоваров.Номенклатура<<?>>Номенклатура.Ссылка

2. Как потом отобразить его в ТабличномПоле, если постаил значение ДеревоЗначений

Klyacksa

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

Про дерево значений:
Цитировать3. Запрос.Выполнить().Выгрузить();
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

MevMix

Цитата: Klyacksa от 30 мая 2011, 17:11
Рекомендую в запросе справочник "Номенклатура" переименовать, иначе так и будет проблема с неоднозначным полем. С чем связано - не могу сказать, скорее всего просто глюк платформы, обычно не требуется переименование для других справочников.

Про дерево значений:
Цитировать3. Запрос.Выполнить().Выгрузить();


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

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


при таком раскладе не ругаеться, но

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

Klyacksa

xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

MevMix

Я понимаю что с помощью Запрос.Выполнить().Выгрузить()

но как его связать с Табполем

Klyacksa

xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

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

Рейтинг@Mail.ru

Поиск