Имя: Пароль:
1C
1С v8
Связь в запросе по похожести серии(для уценки)
0 MiniMuk
 
12.02.14
10:28
Есть у меня номенклатура с серией СЕРИЯ, через какое-то время эта серия списывается и приходуется как СЕРИЯНН, при оприходовании я запоминаю процент уценки как %.
После изменения цены на номенклатуру владельца СЕРИИ в запросе хочу посчитать новую цену для СЕРИИНН через запомнены процент уценки

ЦеныНоменклатурыСрезпоследних.Цена*уценка.%
выбрать из ЦеныНоменклатурыСрезпоследних
..
левоесоединение (выбрать %, СерияНН из Уценка) как уценка по ЦеныНоменклатурыСрезпоследних.СЕРИЯ подобно уценка.СЕРИЯНН
1 Maxus43
 
12.02.14
10:29
в чем вопрос то?
2 Wobland
 
12.02.14
10:33
(1) какой такой вопрос?
3 MiniMuk
 
12.02.14
10:33
как бы соедениние по подобно сделать
4 Wobland
 
12.02.14
10:34
(3) начинай рассказывать, что такое похожесть элементов справочника
5 MiniMuk
 
12.02.14
10:36
программно я делаю так от серия откидываю 2 последних цифры тоесть из СЕРИИИНН(НомеклатураНН) получаю СЕРИЯ(Номеклатура) ищу цену на Номеклатура помножаю на процент. можно не программно а запросом
6 Wobland
 
12.02.14
10:37
можно подумать, запросом - это не программно. сравниваеь подстроки штоль?
7 MiniMuk
 
12.02.14
10:40
программно в коде обработки запроса
8 MiniMuk
 
12.02.14
10:40
Если Прав(СерииНоменклатуры, 2) = "UC" тогда
        КоличествоСимволов = СтрДлина(Номенклатура.Артикул);
        СтараяНоменклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Сред(Номенклатура.Артикул, 1, КоличествоСимволов-2) );
    Иначе    
        // Заполнение цены зависит от розничности операции.
    КонецЕсли;
9 MiniMuk
 
12.02.14
10:41
вот я для номеклатуры получаю цену
10 MiniMuk
 
12.02.14
10:41
Функция ПолучитьЦенуНового(Номенклатура, СерииНоменклатуры )
    //ТекТипЦен = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ОсновнойТипЦенПродажи");
    ////Ковалев 20130830 найдем цену товара до уценки
    Цена = 0;
    Если Прав(СерииНоменклатуры, 2) = "UC" тогда
        КоличествоСимволов = СтрДлина(Номенклатура.Артикул);
        СтараяНоменклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", Сред(Номенклатура.Артикул, 1, КоличествоСимволов-2) );
    Иначе    
        // Заполнение цены зависит от розничности операции.
    КонецЕсли;
    
    //ОбработкаТабличныхЧастей.ЗаполнитьЕдиницуЦенуПродажиТабЧасти(СтрокаТовара, ЭтотОбъект,
    //мВалютаРегламентированногоУчета, мВалютаРегламентированногоУчета, ТипЦен, Истина);
    Если Не СтараяНоменклатура = Справочники.Номенклатура.ПустаяСсылка() Тогда
        
        Цена = Ценообразование.ПолучитьЦенуНоменклатуры(СтараяНоменклатура, ,
        ТипыЦен, ДатаКон, ,мВалютаРегламентированногоУчета);
    КонецЕсли;
    
    
    Возврат Цена;
11 MiniMuk
 
12.02.14
10:43
никак не могу понять как в запросе обойти вот этот
Сред(Номенклатура.Артикул, 1, КоличествоСимволов-2)
12 Wobland
 
12.02.14
10:44
на всякий случай даю справку: "аанн" таки подобно "аа"+"%"
13 MiniMuk
 
12.02.14
10:47
(12) про подобно в условии ГДЕ я слышал
14 MiniMuk
 
12.02.14
10:51
ВЫБРАТЬ
    Была.Номенклатура,
    Была.Цена,
    Уценка.НоменклатураУценки,
    Уценка.СерииНоменклатурыУценки,
    Уценка.ПроцентУценки
ИЗ
    РегистрСведений.ЦеныУценки.СрезПоследних КАК Уценка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК Была
        ПО Уценка.НоменклатураУценки = Была.Номенклатура
вместо равно подобно не ставиться
15 Wobland
 
12.02.14
10:53
чего врёшь-то?
http://i.imgur.com/AMDGSo3.png
16 MiniMuk
 
12.02.14
11:09
нда, надо было наименование добавить
17 MiniMuk
 
12.02.14
11:09
Уценка.НоменклатураУценки.Наименование
18 Wobland
 
12.02.14
11:12
да не за что
Программист всегда исправляет последнюю ошибку.