| 
    
        
     
     | 
    
    
  | 
v7: Условие выбор складов | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        julia_rostov    
     27.11.12 
            ✎
    10:49 
 | 
         
        Товарищи помогите!
  
        Есть запрос, надо переделать условие.Посдкажите пожалуйста. ТЗ = " |Товар = Регистр.ОстаткиТоваров.Товар; |Кол = Регистр.ОстаткиТоваров.Количество; |Склад = Регистр.ОстаткиТоваров.Склад; |ПрСклад = Регистр.ОстаткиТоваров.Склад.ФлагОстатки; |Функция КонОст = КонОст(Кол); |Группировка Товар Без Групп; ???|Условие (Склад = Константа.ОснСклад); |Условие (Товар в СписТоваров); |"; Вот вместо этого условия ???|Условие (Склад = Константа.ОснСклад); должен выбираться склад например с кодом 56,78,94.(т.е. одновременно условие по 3 -м складам) Как правильно написать условие.Буду всем очень благодарна.  | 
|||
| 
    1
    
        Wobland    
     27.11.12 
            ✎
    10:50 
 | 
         
        или?     
         | 
|||
| 
    2
    
        julia_rostov    
     27.11.12 
            ✎
    10:51 
 | 
         
        сейчас делается просто по основному складу, а мне надо по 3 -м складам одновренно.     
         | 
|||
| 
    3
    
        lxndr    
     27.11.12 
            ✎
    10:51 
 | 
         
        Условие (Товар в СписТоваров);
  
        со складом точно так же  | 
|||
| 
    4
    
        WoodMan    
     27.11.12 
            ✎
    10:52 
 | 
         
        добавить склады в список значений, например спСкладов, условие заменить на аналогичное условие по товарам
  
        |Условие (Склад в СпСкладов);  | 
|||
| 
    5
    
        julia_rostov    
     27.11.12 
            ✎
    10:55 
 | 
         
        Я правильно поняля,если нет поправьте.... надо создать новый список значений СпСклады???  и обращаться к нему в запросе     
         | 
|||
| 
    6
    
        Морозов Александр    
     27.11.12 
            ✎
    10:56 
 | 
         
        правильно     
         | 
|||
| 
    7
    
        julia_rostov    
     27.11.12 
            ✎
    10:58 
 | 
         
        А можно просто в условии жестко прописать номера складов по которым будет отбор?? И если не трудно пример.     
         | 
|||
| 
    8
    
        Godofsin    
     27.11.12 
            ✎
    10:59 
 | 
         
        (7) Это не есть гуд.     
         | 
|||
| 
    9
    
        julia_rostov    
     27.11.12 
            ✎
    11:00 
 | 
         
        СписТоваров = СоздатьОбъект("СписокЗначений");
  
        ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл СписТоваров.ДобавитьЗначение(Товар); КонецЦикла; СписСкладов = СоздатьОбъект("СписокЗначений"); ВыбратьСтроки(); Пока ПолучитьСтроку() = 1 Цикл СписСкладов.ДобавитьЗначение(Товар); КонецЦикла; ТЗ = " |Товар = Регистр.ОстаткиТоваров.Товар; |Кол = Регистр.ОстаткиТоваров.Количество; |Склад = Регистр.ОстаткиТоваров.Склад; |ПрСклад = Регистр.ОстаткиТоваров.Склад.ФлагОстатки; |Функция КонОст = КонОст(Кол); |Группировка Товар Без Групп; |Условие (Склад в СписСкладов); |Условие (Товар в СписТоваров); т.е. вот так будет правильней???  | 
|||
| 
    10
    
        Godofsin    
     27.11.12 
            ✎
    11:01 
 | 
         
        (9) Нет. предполагаю, что так:
  
        СписСкладов.ДобавитьЗначение(Склад);  | 
|||
| 
    11
    
        Godofsin    
     27.11.12 
            ✎
    11:01 
 | 
         
        И то, это если у тебя есть в ТЧ реквизит "Склад"     
         | 
|||
| 
    12
    
        julia_rostov    
     27.11.12 
            ✎
    11:02 
 | 
         
        ой извиняюсь да вы совершенно правы!! это моя опечатка. Спасибо большое     
         | 
|||
| 
    13
    
        Erhov_egor    
     27.11.12 
            ✎
    11:02 
 | 
         
        ВыбратьСтроки();
  
        Пока ПолучитьСтроку() = 1 Цикл СписСкладов.ДобавитьЗначение(Товар); КонецЦикла; Где товар склад должен быть  | 
|||
| 
    14
    
        julia_rostov    
     27.11.12 
            ✎
    11:03 
 | 
         
        Только вот ругается он на склад!!!Переменная не определена (Склад)     
         | 
|||
| 
    15
    
        Erhov_egor    
     27.11.12 
            ✎
    11:03 
 | 
         
        А можно было  через или еще сделать     
         | 
|||
| 
    16
    
        Erhov_egor    
     27.11.12 
            ✎
    11:03 
 | 
         
        Ну так склад надо получать,это же просто переменная     
         | 
|||
| 
    17
    
        Erhov_egor    
     27.11.12 
            ✎
    11:04 
 | 
         
        А где фото?     
         | 
|||
| 
    18
    
        julia_rostov    
     27.11.12 
            ✎
    11:04 
 | 
         
        так я спрашивала как сделать через или может подскажите??     
         | 
|||
| 
    19
    
        julia_rostov    
     27.11.12 
            ✎
    11:05 
 | 
         
        фото кину     
         | 
|||
| 
    20
    
        Godofsin    
     27.11.12 
            ✎
    11:05 
 | 
         
        (14) Ну так значит нет в ТЧ склада, определяй по-другому     
         | 
|||
| 
    21
    
        julia_rostov    
     27.11.12 
            ✎
    11:07 
 | 
         
        фото кинула     
         | 
|||
| 
    22
    
        Erhov_egor    
     27.11.12 
            ✎
    11:07 
 | 
         
        Или например можно так:
  
        СправСклад = СоздатьОбъект("Справочник.Склад"); СправСклад.НайтиПоКоду("23"); СписСкладов.ДобавитьЗначение(СправСклад.ТекущийЭлемент); СправСклад.НайтиПоКоду("24"); СписСкладов.ДобавитьЗначение(СправСклад.ТекущийЭлемент); СправСклад.НайтиПоКоду("25"); СписСкладов.ДобавитьЗначение(СправСклад.ТекущийЭлемент);  | 
|||
| 
    23
    
        julia_rostov    
     27.11.12 
            ✎
    11:07 
 | 
         
        так как сделать через ИЛИ     
         | 
|||
| 
    24
    
        Builder    
     27.11.12 
            ✎
    11:07 
 | 
         
        ВыбСклад = СоздатьОбъект("Справочник.Склады");
  
        ВыбСклад.НайтиПоКоду(56); СписСкладов.ДобавитьЗначение(ВыбСклад.ТекущийЭлемент()); ВыбСклад.НайтиПоКоду(78); СписСкладов.ДобавитьЗначение(ВыбСклад.ТекущийЭлемент()); Поправить по месту название справочника и тип кода.  | 
|||
| 
    25
    
        Godofsin    
     27.11.12 
            ✎
    11:08 
 | 
         
        (22) А потом какой-нибудь мудрый юзер сменит код "23" на код "445" и вывалится ошибка     
         | 
|||
| 
    26
    
        Erhov_egor    
     27.11.12 
            ✎
    11:09 
 | 
         
        (25)Тогда сделать выбор из справочника на форме и чтоб тащил в список     
         | 
|||
| 
    27
    
        Voronve    
     27.11.12 
            ✎
    11:10 
 | 
         
        (0) Сделай список складов элементом формы отчета. Переложи проблему выбора складов на юзера     
         | 
|||
| 
    28
    
        Godofsin    
     27.11.12 
            ✎
    11:11 
 | 
         
        +(25) тогда уж так:
  
        Если СправСклад.НайтиПоКоду("23") = 1 тогда СписСкладов.ДобавитьЗначение(СправСклад.ТекущийЭлемент); иначе Сообщить("Не обнаружен склад"); КонецЕсли;  | 
|||
| 
    29
    
        Erhov_egor    
     27.11.12 
            ✎
    11:13 
 | 
         
        (28)А если пользователь такой то может он коды у всех поменяет,по потом твой код 23 будет на другом складе     
         | 
|||
| 
    30
    
        Erhov_egor    
     27.11.12 
            ✎
    11:14 
 | 
         
        Короче на форме сделай список, и кнопку на кнопке напишешь в формулу процедуру какую нибудь     
         | 
|||
| 
    31
    
        Godofsin    
     27.11.12 
            ✎
    11:17 
 | 
         
        (29) все правильно, потому вариант (26) (27) оптимальный     
         | 
|||
| 
    32
    
        Erhov_egor    
     27.11.12 
            ✎
    11:53 
 | 
         
        Там ОткрытьПодбор();     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |