Сделал обработку - каталог картинок с ценами по остаткам товаров, запрос по регистрам цен номенклатуры и остатков, когда формирую по группе в которой есть подгруппы и т.д., необходимо что формировалось все согласно номенклатуры, пробовал сортировку разными способами в запросе конструктором, вообще не получается у меня сортировать весь товар так как он находиться в номенклатуре, вот запрос, если надо , могу и саму обработку выложить
ПостроительОтчетаПрайс.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование, | ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения, | ЦеныНоменклатурыСрезПоследних.Цена, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура | |УПОРЯДОЧИТЬ ПО | Номенклатура ИЕРАРХИЯ";
Сделал вот так, но теперь цену не видит в выборке (((, помогите плз
ПостроительОтчетаПрайс.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование, | ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура |ИТОГИ ПО | Номенклатура ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ";
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
Во-первых, Вы уверены, что в запросе должно быть именно левое соединение? Во-вторых, раз уж не видит цену, в регистре цен есть незаполненная (нулевая) цена?
Правильно поставленный вопрос содержит до 90% ответа.
Во-первых, Вы уверены, что в запросе должно быть именно левое соединение? Во-вторых, раз уж не видит цену, в регистре цен есть незаполненная (нулевая) цена?
1.Нет 2.Нет Если не делать обход в выборке то все хорошо работает.
Подскажите как на Ваш взгляд должен выглядеть запрос
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0
Во-первых, если Вам нужны только те товары, по которым есть остатки, тогда нужно правое соединение. Во-вторых, непонятно, какая именно сортировка Вам нужна.
Правильно поставленный вопрос содержит до 90% ответа.
Что то никак у меня не получается получить цену в выборке (обход по группировкам сделал что б в моем каталоге все шло по порядку согласно иерархии номенклатуры), помогите плз, как мне сохранить и порядок размещения картинок в каталоге согласно иерархии и получить цену в выборке,вот вест код
Процедура ПрайсИнициализация() ПостроительОтчетаПрайс.Текст = "ВЫБРАТЬ | ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, | ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Наименование КАК Наименование, | ПРЕДСТАВЛЕНИЕ(ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения) КАК ЕдиницаИзмерения, | ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка КАК НомСсылка, | ЦеныНоменклатурыСрезПоследних.Номенклатура.ОсновноеИзображение.Хранилище КАК Кар |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТипЦен {(Номенклатура).* КАК Номенклатура}) КАК ЦеныНоменклатурыСрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад В (&Склады) {(Номенклатура).* КАК Номенклатура}) КАК ТоварыНаСкладахОстатки | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура |ИТОГИ ПО | Номенклатура ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ";
ИмяПоляОстаток = "КоличествоОстаток"; ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Найти(ИмяПоляОстаток); Если ВключатьТолькоОстатки Тогда Если ПолеОтбораОстаток = Неопределено Тогда ПолеОтбораОстаток = ПостроительОтчетаПрайс.Отбор.Добавить(ИмяПоляОстаток); Конецесли; ПолеОтбораОстаток.ВидСравнения = ВидСравнения.Больше; ПолеОтбораОстаток.Использование = Истина; Иначе Если ПолеОтбораОстаток <> Неопределено Тогда ОтборКоличество = ПостроительОтчетаПрайс.Отбор.Количество(); Для Н = 1 По ОтборКоличество Цикл Если ПостроительОтчетаПрайс.Отбор[ОтборКоличество - Н].Имя = ИмяПоляОстаток Тогда ПостроительОтчетаПрайс.Отбор.Удалить(ОтборКоличество - Н); КонецЕсли КонецЦикла; КонецЕсли; КонецЕсли;
ПостроительОтчетаПрайс.Выполнить();
Макет = ПолучитьМакет("Прайс");
ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента; ТабДок1 = Новый ТабличныйДокумент; ТабДок2 = Новый ТабличныйДокумент;
Группа: Местный
Сообщений: 193
Спасибо сказали: 60 раз
Рейтинг: 0
и все-таки: Вы говорите:
Цитата
с ценами по остаткам товаров
так зачем вы к ценам соединяете остатки, а не наоборот?
Например такой запрос:
ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры, ТоварыНаСкладахОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК цена, ТоварыНаСкладахОстатки.Номенклатура.ОсновноеИзображение.Хранилище ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад <> &Склад) КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТЦ) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры ИТОГИ ПО Номенклатура ИЕРАРХИЯ
в моем случае дал группировку по иерархии, все остатки и цены к ним (если они попадали по отборам)
так зачем вы к ценам соединяете остатки, а не наоборот?
Например такой запрос:
ВЫБРАТЬ ТоварыНаСкладахОстатки.Склад, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры, ТоварыНаСкладахОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения, ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК цена, ТоварыНаСкладахОстатки.Номенклатура.ОсновноеИзображение.Хранилище ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки(&НаДату, Склад <> &Склад) КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату, ТипЦен = &ТЦ) КАК ЦеныНоменклатурыСрезПоследних ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры ИТОГИ ПО Номенклатура ИЕРАРХИЯ
в моем случае дал группировку по иерархии, все остатки и цены к ним (если они попадали по отборам)
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!