|   |   | 
| 
 | Запрос с выводом минимальной и максимальной цены ↓ (Волшебник 21.08.2024 10:37) | ☑ | ||
|---|---|---|---|---|
| 0
    
        Alex_ Alexsin_2020 13.08.24✎ 17:23 | 
        Всем доброго дня!
 подскажите как построить правильно запрос для Динамического списка что-бы он выводил цену "ОТ" по первой незакрытой партии а цена "ПО" по последней партии. Сейчас у меня такой запрос, но он неверно работает он, отбирает минимум и максимум по партиям которых нет в остатке ТекстЗапроса = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, | Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, | СправочникНоменклатура.Артикул, | СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, | СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, | ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ, | ВЫБОР | КОГДА СправочникНоменклатура.ОсобыйТовар = ИСТИНА ТОГДА | МИНИМУМ(Цены.Цена) | ИНАЧЕ МАКСИМУМ(Цены.Цена) | КОНЕЦ КАК ЦенаМАКС |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки | ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки | ПО СправочникНоменклатура.Ссылка = ГрафикОтгрузкиТоваровОстатки.Номенклатура | ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены | ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ | И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) | |СГРУППИРОВАТЬ ПО | СправочникНоменклатура.Ссылка, | Остатки.ВРезервеСоСкладаОстаток, | ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток, | СправочникНоменклатура.Артикул, | СправочникНоменклатура.МинимальныйЗаказ, | СправочникНоменклатура.КоличествоВУпаковке, | Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток, | СправочникНоменклатура.ОсобыйТовар"; я пробовал изменить в запросе это кусок | ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены | ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура на | ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены | ПО Остатки.Партия= Цены.Партия то-есть отбирать по партии. Но тогда Динамический список ругается на дубли ключевых колонок и как итог вообще ничего не работает ( Все регистры СвободныеОстатки, ГрафикОтгрузкиТоваров, ЦеныНоменклатуры. Имеют измерение "Партия" , СправочникНоменклатура.ОсобыйТовар = ИСТИНА "ОсобыйТовар = истина" именно по этим товарам необходимо выводить цену по первой незакрытой партии. остальные необходимо выводить по последней партии. ) помогите пожалуйста построить верный запрос | |||
| 3
    
        Мультук 13.08.24✎ 17:39 | 
        (0)
 1) Вот например есть цены 01.08.2024 Товар1 Розничная 1200 05.08.2024 Товар1 Розничная 900 12.08.2024 Товар1 Розничная 1000 вы делаете запрос Период = 13.08.2024 ВидЦены = Розничная РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены Это запрос вам вернет последнюю запись. И цена будет ОДНА, не минимальная, не максимальная, а последняя. Товар1 Розничная 1000 2) ПОЛНОЕ СОЕДИНЕНИЕ -- магия, да? Юмор понял. Смешно. P.S. А что за конфа с партиям в ценах номенклатуры ? | |||
| 4
    
        Alex_ Alexsin_2020 13.08.24✎ 17:56 | 
        (3) конфа самописная под Беларусь.
 У меня ж период один ТекущаяДата() Мне нужно что-бы например. По первому приходу который ещё есть в наличии, для особого товара вывести стоимость именно первой незакрытой партии а не последнюю. Думается мне отбирать цены в отдельном запросе "Выбрать первые" Затем объединять их | |||
| 5
    
        maxab72 13.08.24✎ 19:12 | 
        (4) Отбирать партии по датам, а потом соединением через партии получать цену первой и последней партий.     | |||
| 6
    
        Alex_ Alexsin_2020 14.08.24✎ 09:20 | 
        (5) буду пробовать может что - то да получится     | |||
| 7
    
        Alex_ Alexsin_2020 18.08.24✎ 10:53 | 
        Набросал вот такой недо-запрос (
 но ума не приложу ок в таблице "ОстаткиТоваров" я получаю остаток по всем партиям но, если я тут отфильтрую и оставлю только первую партию то как я выведу общий остаток? если не лень ребята помогите все же дописать правильно запрос. этот запрос 1. долго думает, 2. не выводит остатка и цен ( ТекстЗапроса = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | СправочникНоменклатура.Артикул, | СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, | СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, | 0 КАК Количество, | 0 КАК КоличествоВРезерве, | 0 КАК КоличествоПодЗаказ, | 0 КАК ЦенаМАКС, | NULL, | 0 |ПОМЕСТИТЬ СписокТоваров |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ | И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | NULL КАК Номенклатура, | NULL КАК Артикул, | 0 КАК МинимальныйЗаказ, | 0 КАК КоличествоВУпаковке, | Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, | Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, | 0 КАК КоличествоПодЗаказ, | 0 КАК ЦенаМАКС, | NULL, | 0 |ПОМЕСТИТЬ ОстаткиТоваров |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки |ГДЕ | Остатки.ВНаличииОстаток > 0 |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | NULL КАК Номенклатура, | NULL КАК Артикул, | 0 КАК МинимальныйЗаказ, | 0 КАК КоличествоВУпаковке, | 0 КАК Количество, | 0 КАК КоличествоВРезерве, | ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ, | ГрафикОтгрузкиТоваровОстатки.Партия, | 0 КАК ЦенаМАКС, | NULL, | 0 |ПОМЕСТИТЬ ПодЗаказТовары |ИЗ | РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | NULL КАК Номенклатура, | NULL КАК Артикул, | 0 КАК МинимальныйЗаказ, | 0 КАК КоличествоВУпаковке, | 0 КАК Количество, | 0 КАК КоличествоВРезерве, | 0 КАК КоличествоПодЗаказ, | 0 КАК ЦенаМАКС, | ОстаткиПервойПартии.Партия, | ОстаткиПервойПартии.ВНаличииОстаток |ПОМЕСТИТЬ ОстаткиПервойПартииТоваров |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии |ГДЕ | ОстаткиПервойПартии.ВНаличииОстаток > 0 |УПОРЯДОЧИТЬ ПО | ОстаткиПервойПартии.Партия.ПриходныйДокумент.Дата |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | NULL КАК Номенклатура, | NULL КАК Артикул, | 0 КАК МинимальныйЗаказ, | 0 КАК КоличествоВУпаковке, | 0 КАК Количество, | 0 КАК КоличествоВРезерве, | 0 КАК КоличествоПодЗаказ, | Цены.Цена КАК ЦенаМАКС, | NULL, | 0, | Цены.Партия |ПОМЕСТИТЬ ЦеныТоваров |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокТоваров.Номенклатура КАК Номенклатура, | СписокТоваров.Артикул, | ОстаткиТоваров.МинимальныйЗаказ КАК МинимальныйЗаказ, | ОстаткиТоваров.КоличествоВУпаковке КАК КоличествоВУпаковке, | ОстаткиТоваров.Количество КАК Количество, | ОстаткиТоваров.КоличествоВРезерве КАК КоличествоВРезерве, | ПОдЗаказТовары.КоличествоПодЗаказ КАК КоличествоПодЗаказ, | ЦеныТоваров.ЦенаМАКС КАК ЦенаМАКС |ИЗ | СписокТоваров КАК СписокТоваров | ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиТоваров КАК ОстаткиТоваров | ПО СписокТоваров.Номенклатура = ОстаткиТоваров.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ ПодЗаказТовары КАК ПодЗаказТовары | ПО СписокТоваров.Номенклатура = ПодЗаказТовары.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров | ПО СписокТоваров.Номенклатура = ОстаткиПервойПартииТоваров.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров | ПО ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров.Партия"; | |||
| 8
    
        Доминошник 18.08.24✎ 11:29 | 
        (7) Вот серьёзно, да?
 Сначала (в ОстаткиТоваров) пишем NULL КАК Номенклатура, а потом по этому полю соединяем и ждём какой-то разумный результат? | |||
| 9
    
        Alex_ Alexsin_2020 18.08.24✎ 12:34 | 
        (8) к сожалению, да, я лох :-)
 спасибо за наводку щас исправлю | |||
| 10
    
        2S 18.08.24✎ 12:23 | 
        (9) жёстко так о себе     | |||
| 11
    
        Alex_ Alexsin_2020 18.08.24✎ 12:26 | 
        (10) да. нормально )     | |||
| 12
    
        Волшебник 18.08.24✎ 12:34 | 
        NULL КАК Номенклатура,
 0 КАК МинимальныйЗаказ, Такие поля не нужны. Все удалить | |||
| 13
    
        Alex_ Alexsin_2020 18.08.24✎ 12:47 | 
        (12) Спасибо! 
 я думал что количество полей в каждом должно соответствовать. | |||
| 14
    
        Alex_ Alexsin_2020 18.08.24✎ 12:51 | 
        Извинил запрос
 но он формируется больше 5 сек теперь остатки есть / резервы то-же а вот цены нету ( ТекстЗапроса = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, | Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, | СправочникНоменклатура.Артикул, | СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, | СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, | ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ |ПОМЕСТИТЬ СписокТоваров |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки | ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки | ПО СправочникНоменклатура.Ссылка = ГрафикОтгрузкиТоваровОстатки.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ | И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) | |СГРУППИРОВАТЬ ПО | СправочникНоменклатура.Ссылка, | Остатки.ВРезервеСоСкладаОстаток, | ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток, | СправочникНоменклатура.Артикул, | СправочникНоменклатура.МинимальныйЗаказ, | СправочникНоменклатура.КоличествоВУпаковке, | Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ ПЕРВЫЕ 1 | ОстаткиПервойПартии.Номенклатура, | ОстаткиПервойПартии.Партия, | ОстаткиПервойПартии.ВНаличииОстаток |ПОМЕСТИТЬ ОстаткиПервойПартииТоваров |ИЗ | РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии |ГДЕ | ОстаткиПервойПартии.ВНаличииОстаток > 0 | |УПОРЯДОЧИТЬ ПО | ОстаткиПервойПартии.Партия.ПриходныйДокумент.Дата |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Цены.Цена, | Цены.Партия |ПОМЕСТИТЬ ЦеныТоваров |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | СписокТоваров.Номенклатура КАК Номенклатура, | СписокТоваров.Артикул КАК Артикул, | СписокТоваров.МинимальныйЗаказ КАК МинимальныйЗаказ, | СписокТоваров.КоличествоВУпаковке КАК КоличествоВУпаковке, | СписокТоваров.Количество КАК Количество, | СписокТоваров.КоличествоВРезерве КАК КоличествоВРезерве, | СписокТоваров.КоличествоПодЗаказ КАК КоличествоПодЗаказ, | ЦеныТоваров.Цена КАК ЦенаМАКС |ИЗ | СписокТоваров КАК СписокТоваров | ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров | ПО СписокТоваров.Номенклатура = ОстаткиПервойПартииТоваров.Номенклатура | ЛЕВОЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров | ПО (ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров.Партия)"; Возврат Запрос.Выполнить().Выгрузить(); | |||
| 15
    
        Alex_ Alexsin_2020 18.08.24✎ 13:17 | 
        Переписал запрос так
 цены показывает остатки то-же но, цена не первой партии а последней ( ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия, ОстаткиПервойПартии.ВНаличииОстаток ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ГДЕ ОстаткиПервойПартии.ВНаличииОстаток > 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Цена, Цены.Партия ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ, ЦеныТоваров.Цена КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки ПО СправочникНоменклатура.Ссылка = ГрафикОтгрузкиТоваровОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров ПО ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров.Партия ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) СГРУППИРОВАТЬ ПО СправочникНоменклатура.Ссылка, Остатки.ВРезервеСоСкладаОстаток, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток, ЦеныТоваров.Цена полагаю проблема в ДНК (моем))) думаю в "Упорядочить" но и тут блин проблема если я пишу вот так |УПОРЯДОЧИТЬ ПО | ОстаткиПервойПартии.Партия.ПриходныйДокумент.Дата |; тогд аматюгается что типа порядок задавать внастройках а если без |УПОРЯДОЧИТЬ ПО | ОстаткиПервойПартии.Партия.ПриходныйДокумент.Дата |; тогда не ругается и работает но неверно. | |||
| 16
    
        Волшебник 18.08.24✎ 14:02 | 
        (13) Это если запросы складываются через ОБЪЕДИНИТЬ     | |||
| 17
    
        Alex_ Alexsin_2020 18.08.24✎ 14:15 | 
        (16) Понял! спасибо за уточнение.
 простите что в Выходной день не поможете по запросу в (15)? что-то я совсем туплю уже ничего не выходит цены вижу но, по последней партии а как упорядочить и убрать лишние партии не понимаю ( | |||
| 18
    
        Волшебник 18.08.24✎ 14:30 | 
        (17) Я не анализирую запросы, в которых есть СГРУППИРОВАТЬ ПО количество или сумма или цена
 Всё удалить и переписать с нуля | |||
| 19
    
        Alex_ Alexsin_2020 18.08.24✎ 16:51 | 
        (18) Спасибо буду пробовать.
 вот переписал убрал все лишнее но уже вообще перестало что либо показывать что то я за день вообще не сдвинулся с места ( ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Цена, Цены.Партия ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, ЦеныТоваров1.Цена КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров1 ПО ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров1.Партия ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) | |||
| 20
    
        Волшебник 18.08.24✎ 18:23 | 
        (19) замените ВНУТРЕННЕЕ на ЛЕВОЕ     | |||
| 21
    
        Alex_ Alexsin_2020 18.08.24✎ 19:39 | 
        (20) пробовал но, тогда цену вообще не показывает(     | |||
| 22
    
        Волшебник 18.08.24✎ 20:31 | 
        (21) Так и должно быть     | |||
| 23
    
        Alex_ Alexsin_2020 18.08.24✎ 21:04 | 
        (22) возможно но, все-же хотелось бы цену увидеть (     | |||
| 24
    
        Волшебник 19.08.24✎ 07:29 | 
        (23) У вас партия только одна, первая по складу, а надо брать первую по каждой номенклатуре     | |||
| 25
    
        Alex_ Alexsin_2020 19.08.24✎ 07:55 | 
        (24) ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура
 Это ж задаёт условие по номенклатуре или ошибаюсь? Дайте пример пожалуйста | |||
| 26
    
        Волшебник 19.08.24✎ 09:20 | 
        (25) См. свой первый запрос. Там единственная партия     | |||
| 27
    
        Alex_ Alexsin_2020 19.08.24✎ 10:26 | 
        (26) 
 | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки | ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура этот? тут же все партии из остатка лезут если я затем по партии цены фильтрую тогда получаю ошибку так как ключевые поля дублируется | |||
| 28
    
        Волшебник 19.08.24✎ 10:28 | 
        (27) этот
 ВЫБРАТЬ ПЕРВЫЕ 1
    ОстаткиПервойПартии.Номенклатура,
    ОстаткиПервойПартии.Партия
ПОМЕСТИТЬ ОстаткиПервойПартииТоваров
ИЗ
    РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии
;и ниже ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров А Вашей фразы я вообще не вижу в запросе (19) Вы ушли в бред? | |||
| 29
    
        Волшебник 19.08.24✎ 10:29 | 
        (27) >> получаю ошибку так как ключевые поля дублируется
 Устраните ошибку. | |||
| 30
    
        Alex_ Alexsin_2020 19.08.24✎ 10:51 | 
        я думал что здесь 
 ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура я отбираю по номенклатуре? | |||
| 31
    
        Волшебник 19.08.24✎ 10:55 | 
        Как со стенкой разговариваю... 
 У Вас в таблице ОстаткиПервойПартииТоваров единственная партия, одна. В ней наверняка нет всей номенклатуры | |||
| 32
    
        Alex_ Alexsin_2020 19.08.24✎ 11:02 | 
        (31) Вы имеете в виду что по выбранной номенклатуре нету еще партий?
 но я другим запросом смотрю в остатке более чем одна партия по выбранному складу и номенклатуре иначе я не понимаю Вас ( | |||
| 33
    
        Волшебник 19.08.24✎ 11:03 | 
        Покажите последнюю версию запроса     | |||
| 34
    
        Alex_ Alexsin_2020 19.08.24✎ 11:07 | 
        (33) 
 вот две версии эта показывает цену но не верной партии (последней) ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Цена, Цены.Партия ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, ЦеныТоваров1.Цена КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров1 ПО ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров1.Партия ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) а вот эта не показывает цены вообще ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Цена, Цены.Партия ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, ЦеныТоваров1.Цена КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ЛЕВОЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров1 ПО ОстаткиПервойПартииТоваров.Партия = ЦеныТоваров1.Партия ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) | |||
| 35
    
        Alex_ Alexsin_2020 19.08.24✎ 11:09 | 
        +(34) а вот этим запросом я вывожу по номенклатуре (дополнителньо) информацию о текущих партиях в остатке по выбранному товару
 ВЫБРАТЬ Остатки.Партия КАК Партия, ISNULL(Цены.Цена,0) КАК Цена, ISNULL(Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток,0) КАК Количество, ISNULL(Остатки.ВРезервеСоСкладаОстаток,0) КАК КоличествоВРезерве, Остатки.Партия.ПриходныйДокумент КАК Документ, Остатки.Партия.ПриходныйДокумент.Контрагент КАК Контрагент, ISNULL(ТоварыНаСкладах.ВНаличии,0) КАК КолВоПриход, ISNULL(Остатки.Партия.Себестоимость,0) КАК ЦенаПоступления, Остатки.Партия.Валюта КАК ВалютаПоступления ИЗ РегистрНакопления.СвободныеОстатки.Остатки( &Период, Склад = &Склад И Номенклатура = &ВыбНоменклатура) КАК Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ПО Остатки.Партия.Ссылка = Цены.Партия, РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах ГДЕ ТоварыНаСкладах.Регистратор = Остатки.Партия.ПриходныйДокумент И ТоварыНаСкладах.Партия = Остатки.Партия | |||
| 36
    
        maxab72 19.08.24✎ 11:18 | 
        Эта часть сойдет
 ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Цена, Цены.Партия ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; Но в первую таблицу надо добавить дату партии, а во вторую Номенклатуру затем надо из таблицы ОстаткиПервойПартииТоваров ПО каждой номенклатуре отобрать даты партий максимальную и минимальную. После этого полученную таблицу соединить с таблицей ОстаткиПервойПартииТоваров по дате партии и номенклатуре, и получится связка Номенклатура - Минимальная и Максимальная по дате партия. После этого по номенклатуре и партии результат соединить с таблицей ЦеныТоваров и будет вам счастье! | |||
| 37
    
        Alex_ Alexsin_2020 19.08.24✎ 11:35 | 
        (36) 
 (Но в первую таблицу надо добавить дату партии, а во вторую Номенклатуру) дак я-ж не знаю даты партии я запрос делаю остатки партий получить на конец дня! КонецДня(ТекущаяДата()) а во второй мне же нужно именно по партии а не по товару получать в любом случае первый запрос делает все правильно за исключением только того что я там получаю только последнею партию по каждому товару тогда когда мне нужна только одна партия (первая) | |||
| 38
    
        Alex_ Alexsin_2020 19.08.24✎ 11:36 | 
        в любом случае я сейчас перепишу и напишу здесь другой запрос так как моя проблема не в соединениях таблиц а именно в первой таблице где не та партия я сейчас перепишу посмотрю что вообще там выдает в первой таблице     | |||
| 39
    
        maxab72 19.08.24✎ 11:56 | 
        (37) Партия в регистре "СвободныеОстатки" это измерение, если вы сделали ее ресурсом - переделайте и прочитайте про виртуальные таблицы остатков и срезы по ним.
 Если у вас партия это независимая сущность - в регистре ЦеныНоменклатуры должна быть номенклатура. Если партии подчинены номенклатуре (для каждой номенклатуры создаются свои партии) - хорошо, и так сойдет. (38) Ошибка в том, что пытаетесь решить задачу не проанализировав ее. Постройте на бумаге связи между таблицами и ответ будет очевиден. | |||
| 40
    
        Alex_ Alexsin_2020 19.08.24✎ 11:59 | 
        (39) это измерение и уже не переделаешь так как учет ведется уже лет пять (     | |||
| 41
    
        maxab72 19.08.24✎ 12:02 | 
        (40) если это измерение, то и работайте с ним как с измерением. Ваш запрос по остаткам выдаст все товары со всеми партиями, хранящимися на указанный момент в регистре. Много товаров и к каждому товару много партий. У партии есть дата - иначе как определить, какая партия была раньше а какая позже.     | |||
| 42
    
        Alex_ Alexsin_2020 19.08.24✎ 14:07 | 
        так видимо я сам запутался и всех Вас запутал.
 имеем в остатках по товару А две партии партия 1 от 01 01 2024 (в остатке 12шт) и партия 2 от 12 02 2024 (в остатке 1000) так вот мне для товаров нужно получить только первую партию (партия 1 от 01 01 2024 (в остатке 12шт)) и по этой партии цену все остальные партии должны идти мимо мне нужна цена только первой незакрытой партии. Во всех регистрах Партия это измерение а сама партия это справочник Партии Сам справочник "Партии" не подчинен никому | |||
| 43
    
        Alex_ Alexsin_2020 19.08.24✎ 13:35 | 
        мне палагаю нужно сортироватьпо дате партии что бвы получить остаток первой партии     | |||
| 44
    
        maxab72 19.08.24✎ 13:19 | 
        (43) используйте агрегатную функцию МИНИМУМ()     | |||
| 45
    
        Волшебник 19.08.24✎ 13:20 | 
        (43) У вас  
 | |||
| 46
    
        Alex_ Alexsin_2020 19.08.24✎ 13:34 | 
        (44) в (0) я именно так и сделал но цена всеравно не верная (     | |||
| 48
    
        maxab72 19.08.24✎ 13:51 | 
        (46) В 0 не то и не с тем соединяли.     | |||
| 49
    
        Alex_ Alexsin_2020 19.08.24✎ 14:07 | 
        (48) спасибо буду курить дальше )     | |||
| 50
    
        Alex_ Alexsin_2020 19.08.24✎ 14:08 | 
        (45) Извиняюсь все исправил )     | |||
| 51
    
        Alex_ Alexsin_2020 19.08.24✎ 14:16 | 
        Вот запрос подскажите почему поле партия пустое?
 ВЫБРАТЬ ПЕРВЫЕ 1 ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, ОстаткиПервойПартииТоваров.Партия КАК Партия ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) | |||
| 52
    
        Волшебник 19.08.24✎ 14:20 | 
        (51) У вас первый запрос выбирает одну партию по складу, причём первую попавшуюся. В ней этой номенклатуры нет.
 Слушайте, мы это уже обсуждаем с (26) и ниже. Хватит уже тупить-то? | |||
| 53
    
        Волшебник 19.08.24✎ 14:21 | 
        (50) вот цитата из (43) >> мне палагаю нужно сортироватьпо дате партии что бвы получить остаток первой партии
 Ничего не исправлено | |||
| 54
    
        СвинТуз 19.08.24✎ 14:26 | 
        (51)
 У Станислава ангельское терпение. Я бы просто пристрелил, что бы не мучался. ))) Уже в (0) "Сейчас у меня такой запрос, но он неверно работает он, отбирает минимум и максимум по партиям которых нет в остатке" = Не понимаете, что написали в запросе. Мне стало не интересно. ) | |||
| 55
    
        СвинТуз 19.08.24✎ 14:27 | 
        Мне казалось.
 Невозможно из остатков выбрать то что в них нет. (Не Хранится). Наверное я ошибаюсь. | |||
| 57
    
        СвинТуз 19.08.24✎ 14:29 | 
        Без конструктора запросов.     | |||
| 58
    
        Alex_ Alexsin_2020 19.08.24✎ 15:00 | 
        (52) простите да я тупой ))
 +(54) да и спасибо ему за это )) но я уж еспрашивал разве тут я не по номенклатуре отбираю? ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура Левым соединением я ж еспрашивал я прост оне понимаю | |||
| 59
    
        Волшебник 19.08.24✎ 14:56 | 
        (58) Вернёмся к первому запросу. 
 ВЫБРАТЬ ПЕРВЫЕ 1
    ОстаткиПервойПартии.Номенклатура,
    ОстаткиПервойПартии.Партия
ПОМЕСТИТЬ ОстаткиПервойПартииТоваров
ИЗ
    РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии
;Здесь 1 партия. В этой партии нет всей номенклатуры. Здесь только 1 номенклатура. Значит соединение с этой таблицей не даст желаемого множества. | |||
| 60
    
        Alex_ Alexsin_2020 19.08.24✎ 15:18 | 
        похоже меня сейчас  пошлют ))
 я верно понимаю я должен был сделать так что бы выборка прошла по номенклатуре? РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад, Номенклатура = &Номенклатура) КАК ОстаткиПервойПартии тогда вопрос как задать значение этого параметра? (&Номенклатура) или же дело в ПЕРВЫЕ 1? | |||
| 61
    
        maxab72 19.08.24✎ 15:19 | 
        (60) сперва ответьте самому себе на вопрос: "Что должен дать этот запрос?"     | |||
| 62
    
        Волшебник 19.08.24✎ 15:20 | 
        (60) Дело в ПЕРВЫЕ 1     | |||
| 63
    
        Alex_ Alexsin_2020 19.08.24✎ 17:30 | 
        (61) мне нужно вывести в динамический список 
 все товары их остаток по всем партиям и для товаров у которых флаг "ОсобыйТовар" имеет значение ИСТИНА цену по первой незакрытой партии (по первой партии в остатке) а для товаров у которых флаг "ОсобыйТовар" имеет значение ЛОЖЬ цену по последней партии Вот | |||
| 64
    
        Alex_ Alexsin_2020 19.08.24✎ 17:33 | 
        (62) 
 при таком запросе я получаю ошибку ( Обнаружено дублирование ключевых значений в колонках: "Номенклатура". Отображение данных в списке невозможно. ) ВЫБРАТЬ ОстаткиПервойПартии.Номенклатура, ОстаткиПервойПартии.Партия ПОМЕСТИТЬ ОстаткиПервойПартииТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК ОстаткиПервойПартии ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, ОстаткиПервойПартииТоваров.Партия КАК Партия ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиПервойПартииТоваров КАК ОстаткиПервойПартииТоваров ПО СправочникНоменклатура.Ссылка = ОстаткиПервойПартииТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) как здесь получить только первую незакрытую партию в остатке? | |||
| 65
    
        Волшебник 19.08.24✎ 17:31 | 
        (63) Почему такое расхождение по флагу ОсобыйТовар? Какой в нём экономический смысл?     | |||
| 66
    
        Alex_ Alexsin_2020 19.08.24✎ 17:55 | 
        (65) согласно 713 постановления 
 Нужно следить за ценами. В кавычках мы должны следить за предельной наценкой при продаже товаров которые подпадают под список товаров постановления 713 А остальные по любой наценка Отсюда и было решено сделать партионный учёт и устанавливать цену на партию номенклатуры | |||
| 67
    
        Гена 19.08.24✎ 18:06 | 
        (65) Это Белоруссия.     | |||
| 68
    
        Гена 19.08.24✎ 18:09 | 
        (66) Зачем же привязали цену к партии, если предельная наценка должна работать по номенклатуре?     | |||
| 69
    
        maxab72 19.08.24✎ 18:30 | 
        (68) У них вроде партии привязываются к номенклатуре, поэтому номенклатуру можно получить как владельца партии. Так во всяком случае было в белорусской какой-то полутиповой торговле раньше.     | |||
| 70
    
        Alex_ Alexsin_2020 19.08.24✎ 19:51 | 
        (68) потому что наценка зависит от прихода, а приход это партия
 У нас расценивает один человек и куча менеджеров продают Они не желают отслеживать наценку, поэтому и было решено сделать так. Конфа полностью самописная. И сперва человек который занимался приходами он просто не приходовал товары пока не будут распроданы предыдущие приходы, но это просто пипец, сколько было работы, поэтому сделали партии и привязали к ним цену. Где-то так | |||
| 71
    
        Волшебник 19.08.24✎ 19:06 | 
        Наконец-то включились мозги!     | |||
| 72
    
        Alex_ Alexsin_2020 20.08.24✎ 01:18 | 
        +(70) а теперь моя задача доработать рабочий стол менеджера 
 Я сделал отдельную таблицу куда вывожу все партии что имеются в остатках и цены по ним но, менеджерам это типа неудобно просят что бы в основной таблице была верная информация о ценах. Но вот чтото с запросом мне этим сложновато уже вторую неделю ковыряю его. Но что - то видимо годы работы без отпуска дают о себе знать. | |||
| 73
    
        Волшебник 19.08.24✎ 23:02 | 
        (72) пишется "чтобы" и "что-то", слитно     | |||
| 74
    
        Волшебник 19.08.24✎ 23:03 | 
        (72) Вы поймите, я Вас научу разговаривать по-русски, как Ваш батюшка или матушка. Ты будешь говорить по-русски!     | |||
| 75
    
        Alex_ Alexsin_2020 20.08.24✎ 01:23 | 
        (73), (74) спасибо.
 Извините я не учился в школе рос в неблагополучной семье. Но я буду стараться! | |||
| 76
    
        Волшебник 20.08.24✎ 09:52 | 
        (75) Вот вам корзинка запятых:
 ,,,,, ,,, , | |||
| 77
    
        DrZombi 20.08.24✎ 10:48 | 
        (0) Сотри все что наделал :)
 1. Зачем вам видеть остаток в интерактивном режиме, т.е. сию секунду? - Я к тому, что человек, на другом конце базы, все видит с интервалом "Семеныч, я тут товар подгрузил, прими!" ... т.е. уже не в онлайн. 2. Рекомендации, добавить Регистр сведений, который будет содержать нужные вам поля "Мин цена", "Мак цена" и др... на вашу фантазию... - Измерения в этом регистре будут ваш динамический список, т.е. ... в пункте 3 2.5. Регистр сведений заполнять по регламенту, с периодичностью в зависимости от набора данных, и ваших умелых ручонок, которые напишут алгоритм быстрого формирования и записи этого регистра... 3. Т.е. Мы получаем, динамический список в базовом варианте, с подгружаемой информацией... :) | |||
| 78
    
        Alex_ Alexsin_2020 20.08.24✎ 12:48 | 
        (77) куча розничных операций, остаток и цены меняются очень часто поэтому все эти данные нужно видеть сразу спасибо Вам     | |||
| 79
    
        Гена 20.08.24✎ 13:00 | 
        (78) А там куча поставщиков одной номенклатуры и каждый подъел разный кусок максимальной наценки от цены производителя?     | |||
| 80
    
        Гена 20.08.24✎ 13:05 | 
        Не проще тогда не мудрить с ценами партий, а завести разные номенклатуры от разных производителей: 
 Номенклатура_1_Производитель_1 Номенклатура_1_Производитель_2 ... Тогда просто иметь сразу по списку 713 заданную максимальную наценку именно для Номенклатура_1 ? | |||
| 81
    
        Гена 20.08.24✎ 13:14 | 
        Просто я глянул это постановление. Батька установил для некоторых товаров максимальную наценку от цены производителя. 
 1. Если цена сахара от Производитель_1 равна 1000, то продать можно максимум, пусть будет 30%, 1300. 1. Если цена сахара от Производитель_2 равна 1200, то продать можно максимум 1560. На мой взгляд зря прицепились к партиям. Лучше отслеживать производителя и его цену. А поступлений от промежуточных продавцов может быть туча и не следует их отслеживать. Главное - производитель. | |||
| 82
    
        СвинТуз 20.08.24✎ 14:59 | 
        (0)
 А если остаток по партии определяющей цену меньше чем количество в продажном документе? | |||
| 83
    
        СвинТуз 20.08.24✎ 15:02 | 
        например, осталась одна штучка закупленная по цене 
 100 зайчиков, и 10 000 по цене 50 зайчиков. Максимальная наценка 30% Продадите 1 000 штук по цене 130 зайцев и попадете под батьку ... | |||
| 84
    
        Ногаминебить 20.08.24✎ 16:40 | 
        (81) А что такое цена производителя? Она ведь тоже не гвоздями приколочена на века.     | |||
| 85
    
        Alex_ Alexsin_2020 20.08.24✎ 21:41 | 
        (80)  нет не проще 
 проще тогда не указывать основную таблицу и сгруппировать все и тогда тупо дубли будут и все что мне нужно, но так не хотят менеджеры | |||
| 86
    
        Alex_ Alexsin_2020 21.08.24✎ 09:29 | 
        (81) Производитель вообще не имеет значения.
 наценка зависит от того, какое ты звено там очень много нюансов | |||
| 87
    
        Гена 21.08.24✎ 09:44 | 
        (86) Пример приведите.     | |||
| 88
    
        Alex_ Alexsin_2020 21.08.24✎ 10:23 | 
        (87) есть определенный список товаров который подпадает под постановление 731
 производитель может быть любой если Товары ввозим ИЗ РФ тогда % максимальной наценки зависит от того, ввез ли я этот товар или я уже у кого-то его приобретаю список товаров, подпадающих под постановление, очень большой а у нас его (товаров из этого списка) оочень много все эти данные необходимо хранить в базе и при печати накладной указывать эти сведения в колонке "Примечание" % наценки напрямую зависит от торгового звена например Вы ввезли товар и сделали наценку на товар у которого максимальная наценка == 30% Вы сделали свою наценку 15% следующее звено приобрело у Вас этот товар он уже не может наценить на этот товар 30% у него уже максимальная наценка будет 15% и если он сделает 15% тогда сможет отпустить товар только в розничную сеть, иначе никто его не приобретает, так как лимит наценок кончился короче даже вспоминать не хочется я довольно долго это делал в программе, чтобы все контролировалось и не давало наценить больше, чем положено. ну вот щас опять люлюй отхвачу за орфографию ))) | |||
| 89
    
        Гена 21.08.24✎ 10:02 | 
        (88) Ну а я Вам о чём талдычу. Ваша ошибка, что Вы идёте по прямому пути наценок, а надо - от обратного. 
 Есть цена производителя или что то же самое - от таможни. Вот её и надо заносить в регистр. По списку 731 для данной группы номенклатуры чёткая максимальная наценка. Вы сразу имеете свою максимальную продажную цену и далее работаете скидками. Это и есть метод от обратного. А прямой метод наценок через партии товаров - тупик. | |||
| 90
    
        Alex_ Alexsin_2020 21.08.24✎ 10:07 | 
        (89) Я должен печатать наценку которую я установил 
 и если я указал всю наценку то другой оптовое звено уже не сможет произвести наценку на этот товар поэтому работа со скидками вообще не вариант. в Накладной я долен указать Ввез тот то наценку установил такую то купил по такой то цене и т д ах да есл ипроизводитель запретил применяь скидку то и скидку я не применю ( и таких товаров куча где скидку я то же сделать не могу | |||
| 91
    
        Гена 21.08.24✎ 10:11 | 
        (90) Дубль четыре: никто и не заставляет выбирать максимум, понятно, что следующее звено в пролёте, кроме конечного физлица. Вы из регистра по данной номенклатуре берёте максимум и далее уже делаете скидку от МАКСИМУМА. А наценка тупо рассчитается от обратного как продажная цена минус покупная.     | |||
| 92
    
        Alex_ Alexsin_2020 21.08.24✎ 10:17 | 
        в общем перепишу запрос так чтобы выводил дубли 
 другого варианта не вижу ( | |||
| 93
    
        Alex_ Alexsin_2020 21.08.24✎ 10:19 | 
        (91) и что я покажу в реестре цен? который я обязан печатать на каждое постулпение?
 пришла накладна яя обязан принять товар, оприходавать его, СОздать установку Цен , установить цены и распечатать реестр цен и наценок и все это под подпись ) но вообще зачем ломать то что уде работат уже переделывать не будет никто это 100% да и всех устраивает такой вариант работы особенно тех кто сидит и ничего не делатт скормил эксельку накладной программе она создала приход далее установил цены ито и цены программа сама рассчитывает теперь от человека только проверить и руками редактировтаь то что программа неверно посчитала и все менеджера то же нефига не делают толкьо на кнпоки жмут особенно с заказами с сайтов и из приложений | |||
| 94
    
        Волшебник 21.08.24✎ 10:18 | 
        (93) Это не ваша функция, а товароведов. Ваша обязанность - хорошо программировать     | |||
| 95
    
        Alex_ Alexsin_2020 21.08.24✎ 10:39 | 
        (94) Расскажите это моему директору )))
 он все возложил на меня и на гл. Бухгалтера. когда писал им конфигу я предлагал вариант как предлагает Геннадий но мне было сказано что делать именно Партионный учет так как типа по постановлению мы обязаны вести партионный учет и точка я объяснил что типа это все невозможно что в типовых такого нет он мне сказал незаменимых программистов нет ))) вот мне и пришлось писать так как скажут ) кушать то хочется за 7 месяцев была написана новая конфига, под основную деятельность + куча форм под ТСД и РМК короче писал день и ночь ( а получил шиш( а теперь мне еще сказали сделать эту долбаное РММ, чтобы там, понимаете ли, в основной таблице были и цены и остатки и прочее и никого не волнует, что я уже неделю вожусь с этим запросом ( | |||
| 96
    
        Волшебник 21.08.24✎ 10:24 | 
        (88) >> ну вот щас опять люлюй отхвачу за орфографию )))
 Сказку про "казнить нельзя помиловать" знаете? Орфография и синтаксис могут поменять смысл на противоположный. А когда Вас читаешь, то такое сообщение, что Вас там башкой об клавиатуру бьют. Я уж вставляю запятые за ВАС, но честно говоря, уже заебался. Мне проще нахуй снести эту ветку. | |||
| 97
    
        Волшебник 21.08.24✎ 10:25 | 
        (95) Пошлите его нахуй. Или дай мне его телефон, я его сам пошлю.     | |||
| 98
    
        Гена 21.08.24✎ 10:26 | 
        (93) Да это я уже понял. Советский вариант, когда куча народа на ручном прямом счёте. Хотя бы для себя сделайте хоть раз обратный счёт. 
 На 95% уверен, что в бумазее "Реестр цен" просто таки обязана быть графа некоей "учётной цены" либо от родного производителя, либо по таможенной декларации. А никак не покупные цены предыдущих оптовиков. | |||
| 99
    
        Alex_ Alexsin_2020 21.08.24✎ 10:28 | 
        (96) извините я буду стараться.     | |||
| 100
    
        Alex_ Alexsin_2020 21.08.24✎ 10:38 | 
        думаю, что тему можно закрывать, так как вариантов уже и нету, 
 видимо, я слишком тупой, чтобы решить эту задачу устал уже вот решаю сейчас, все же реально переделать РММ, чтобы отвязать от Основной таблицы и тогда не будет ругаться на дубли. просите за орфографию. | |||
| 101
    
        Волшебник 21.08.24✎ 10:39 | 
        (100) да, видимо да
 Если Вы одновременно и программист, и товаровед, то оба дела вы делаете плохо. | |||
| 102
    
        Гена 21.08.24✎ 10:39 | 
        Делайте что хотите. Но концепция привязки наценки к партии поступления порочна изначально. Вот даст оптовик одним поступлением одну номенклатуру одной ценой продажи, но разных учётных цен и квакнет Ваш алгоритм стопудово.     | |||
| 103
    
        Alex_ Alexsin_2020 21.08.24✎ 12:13 | 
        (101) нет я не товаровед я только программист но да Вы правы я еще совсем молодой программист!
 еще есть чему учиться | |||
| 104
    
        DrZombi 21.08.24✎ 14:19 | 
        (103) Судя по писаному вами, вы упретесь в потолок возможности 1С... Если был бы SQL или Оракл (прямые запросы), то еще можно там усложнить сбор данных, без потери функционала. Но все же, выход у вас "2", либо забить, и нечего не делать... в данной доработке. Либо смотри в (77)... Регистр сведений с измерениями, включая Дату и вуаля... + Запаситесь дисковыми массивами на никчемный список, который нужен с интервалом пару дней :)
 А так, учите пользователей работать с отчетами и смотреть туда, а не в список документов :) | |||
| 105
    
        Alex_ Alexsin_2020 23.08.24✎ 09:59 | 
        (104) Спасибо Вам!
 ткнул пальцем в небо и немного изменил запрос из (0) итог. Получилось сделать так как мне нужно! я подумал а что если запрос из (0) просто не может отобрать одновременно и минимум и максимум ВЫБРАТЬ Цены.Цена, Цены.Номенклатура ПОМЕСТИТЬ ЦеныТоваров ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ, ВЫБОР КОГДА СправочникНоменклатура.ОсобыйТовар = ИСТИНА ТОГДА ВЫБОР КОГДА МАКСИМУМ(Цены.Цена) <> МИНИМУМ(ЦеныТоваров.Цена) ТОГДА МИНИМУМ(ЦеныТоваров.Цена) ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК ЦенаМИН, МАКСИМУМ(Цены.Цена) КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки ПО СправочникНоменклатура.Ссылка = ГрафикОтгрузкиТоваровОстатки.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ ЦеныТоваров КАК ЦеныТоваров ПО СправочникНоменклатура.Ссылка = ЦеныТоваров.Номенклатура ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) СГРУППИРОВАТЬ ПО СправочникНоменклатура.Ссылка, Остатки.ВРезервеСоСкладаОстаток, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток, СправочникНоменклатура.ОсобыйТовар все выводится так как я хотел если товар особый и если минимальная цена <> максимальной тогда выводится цена "от"- как минимальная цена, а иначе цена "от" == 0 с другой стороны я все -же думаю меня здесь ждет еще один тупик ( а что если по первой партии цена 15р а по второй (последней ) 10 итого что будет в "Цене ОТ"? скорее всего выведет минимальную 10 | |||
| 106
    
        Alex_ Alexsin_2020 23.08.24✎ 09:49 | 
        (105) Видимо я Вам всем не правильно поставил вопрос.
 извините меня и спасибо за попытки помочь мне а так же за терпение! Все хорошего дня! | |||
| 107
    
        Alex_ Alexsin_2020 23.08.24✎ 10:57 | 
        (106) подтвердились мои ожидания лох 
 это судьба я просто пришёл обратно к тому с чего начал ( 1. цена с таким запросом выводиться даже если партии уже нет в остатке 2. выводится неверная минимальная если в последней партии цена ниже первой то цена от будет неправильная ( но я напряг свой мозг и сделал следующее сперва отбираю минимум и максимум периода цен в остатках затем по периодам получаю минимум и максимум Цены не знаю все ли верно я сделал но теперь 100% выводит как мне нужно было теперь осталось упростить запрос ВЫБРАТЬ Цены.Номенклатура, Цены.Период, Цены.Цена ПОМЕСТИТЬ ЦеныТоваровМинимум ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Цены.Номенклатура, Цены.Период, Цены.Цена ПОМЕСТИТЬ ЦеныТоваровМаксимум ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Остатки.Номенклатура, МИНИМУМ(Цены.Период) КАК ПериодМинимальный, МАКСИМУМ(Цены.Период) КАК ПериодМаксимальный ПОМЕСТИТЬ ДатыЦеныТоваров ИЗ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены ПО Остатки.Партия = Цены.Партия ГДЕ Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток > 0 СГРУППИРОВАТЬ ПО Остатки.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СправочникНоменклатура.Ссылка КАК Номенклатура, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток КАК Количество, Остатки.ВРезервеСоСкладаОстаток КАК КоличествоВРезерве, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ КАК МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке КАК КоличествоВУпаковке, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток КАК КоличествоПодЗаказ, ВЫБОР КОГДА СправочникНоменклатура.ОсобыйТовар = ИСТИНА ТОГДА ВЫБОР КОГДА ЦеныТоваровМинимум.Цена <> ЦеныТоваровМаксимум.Цена ТОГДА ЦеныТоваровМинимум.Цена ИНАЧЕ 0 КОНЕЦ КОНЕЦ КАК ЦенаМИН, ЦеныТоваровМаксимум.Цена КАК ЦенаМАКС ИЗ Справочник.Номенклатура КАК СправочникНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, Склад = &Склад) КАК Остатки ПО СправочникНоменклатура.Ссылка = Остатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров.Остатки(&Период, Склад = &Склад) КАК ГрафикОтгрузкиТоваровОстатки ПО СправочникНоменклатура.Ссылка = ГрафикОтгрузкиТоваровОстатки.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ ДатыЦеныТоваров КАК ДатыЦеныТоваров ПО СправочникНоменклатура.Ссылка = ДатыЦеныТоваров.Номенклатура ПОЛНОЕ СОЕДИНЕНИЕ ЦеныТоваровМинимум КАК ЦеныТоваровМинимум ПО СправочникНоменклатура.Ссылка = ЦеныТоваровМинимум.Номенклатура И (ДатыЦеныТоваров.ПериодМинимальный = ЦеныТоваровМинимум.Период) ПОЛНОЕ СОЕДИНЕНИЕ ЦеныТоваровМаксимум КАК ЦеныТоваровМаксимум ПО СправочникНоменклатура.Ссылка = ЦеныТоваровМаксимум.Номенклатура И (ДатыЦеныТоваров.ПериодМаксимальный = ЦеныТоваровМаксимум.Период) ГДЕ СправочникНоменклатура.ЭтоГруппа = ЛОЖЬ И СправочникНоменклатура.Ссылка В ИЕРАРХИИ(&РодительТовара) СГРУППИРОВАТЬ ПО СправочникНоменклатура.Ссылка, Остатки.ВРезервеСоСкладаОстаток, ГрафикОтгрузкиТоваровОстатки.КоличествоНеобеспеченоОстаток, СправочникНоменклатура.Артикул, СправочникНоменклатура.МинимальныйЗаказ, СправочникНоменклатура.КоличествоВУпаковке, Остатки.ВНаличииОстаток - Остатки.ВРезервеСоСкладаОстаток, ЦеныТоваровМинимум.Цена, ЦеныТоваровМаксимум.Цена, ВЫБОР КОГДА СправочникНоменклатура.ОсобыйТовар = ИСТИНА ТОГДА ВЫБОР КОГДА ЦеныТоваровМинимум.Цена <> ЦеныТоваровМаксимум.Цена ТОГДА ЦеныТоваровМинимум.Цена ИНАЧЕ 0 КОНЕЦ КОНЕЦ так что УРААА! вс етепреь все классно работает | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |