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

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

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

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

Шурыгин Иван Сергеевич

а изначально что мешает этот запрос загнать к СКД? там можно будет настроить самые разные группировки, и отчет станет очень красивым и изящным сразу
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

Klyacksa

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

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

Шурыгин Иван Сергеевич

Цитата: Klyacksa от 30 мая 2011, 20:57
2Шурыгин Иван Сергеевич
В данном случае, пусть человек в начале так научится писать запросы и выводить результат :)

да я сторонник изначально красивых и правильных решений... зачем ходить в лес по не протоптаной тропинке, если рядом есть хорошая и асфальтированная пешеходная дорожка
===================================
жизнь надо прожить так, чтоб вверху посмотрели.
и сказали "А ну ка повтори"
===================================

cska-fanat-kz

Цитата: Шурыгин Иван Сергеевич от 31 мая 2011, 07:06
зачем ходить в лес по не протоптаной тропинке, если рядом есть хорошая и асфальтированная пешеходная дорожка

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

MevMix

Всем спасибо за предложенные решения
Но в случае с
ТабПоле=Запрос.Выполнить().Выгрузить()

не вывело ничего

Я только пару месяцев как программирую
поэтому запросы, СКД немного сложновато

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


Выборка = Запрос.Выполнить().Выбрать();

Пока Выборка.Следующий() Цикл
       Стр = ТабличноеПоле.Добавить();
       Стр.Номенклатура = Выборка.Номенклатура;
       Стр.Количество = Выборка.Количество;
    КонецЦикла;


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

Да все выводить, все остаки, но нет иерархии

Как ее организовать?

Klyacksa

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

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

MevMix

Запрос.Текст =
    "ВЫБРАТЬ
    | ОстаткиТоваров.Номенклатура,
    | ОстаткиТоваров.Количество
    |ИЗ
    | РегистрНакопления.ОстаткиТоваров КАК ОстаткиТоваров
    |АВТОУПОРЯДОЧИВАНИЕ";


ТабличноеПоле = Запрос.Выполнить().Выгрузить();



При таком запросе ноль
Как правильно связать справочник номенклатура с регистром ОтсткиТоваров

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

cska-fanat-kz

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

MevMix



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

ТабличноеПоле = Запрос.Выполнить().Выгрузить();



Ноль, не отображает ничего

cska-fanat-kz

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

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

Теги:

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

Рейтинг@Mail.ru

Поиск