|   |   | 
| 
 | Заполнение перечня номенклатуры по остаткам на складе | ☑ | ||
|---|---|---|---|---|
| 0
    
        Валидатор 12.11.13✎ 16:18 | 
        конфа 10.3 УТ 8.1. Есть документ установка скидок номенклатуры, нужно сделать возможность заполнения табличной части - Товары по данным остатков на складах (склады задаются на закладке Получатели скидки). Добавил кнопку для заполнения в Товарах, при нажатии на нее срабатывает запрос, в котором у меня и встает вопрос:
 ВЫБРАТЬ СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток, ТоварыНаСкладахОстатки.Номенклатура ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ГДЕ ТоварыНаСкладахОстатки.Склад = &Склад СГРУППИРОВАТЬ ПО ТоварыНаСкладахОстатки.Номенклатура этим запросом я получаю остаток товаров на складе, и так понимаю в параметр склад нужно передавать склад, который определяется у меня в табличной части получатели скидки, вот тут и возникает вопрос, не получается связать их( | |||
| 1
    
        an-korot 12.11.13✎ 16:43 | 
        точнее можно? ты в переменную склад не можешь условие передать? или тебе нужно получить инфу по  2 или более складам?     | |||
| 2
    
        Валидатор 12.11.13✎ 16:45 | 
        (1) мне нужно получить склад с закладки Получателискидки(Склад) записать это значение, и потом передать его как параметр для запроса по отбору номенклатуры     | |||
| 3
    
        Валидатор 12.11.13✎ 16:46 | 
        ВЫБРАТЬ
 | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток, | ТоварыНаСкладахОстатки.Номенклатура КАК ТоварыДляЗагрузки, | УстановкаСкидокНоменклатурыПолучателиСкидки.Получатель |ИЗ | Документ.УстановкаСкидокНоменклатуры.ПолучателиСкидки КАК УстановкаСкидокНоменклатурыПолучателиСкидки | ЛЕВОЕ СОЕДИНЕНИЕ Документ.УстановкаСкидокНоменклатуры КАК УстановкаСкидокНоменклатуры | ПО УстановкаСкидокНоменклатурыПолучателиСкидки.Ссылка = УстановкаСкидокНоменклатуры.Ссылка | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки | ПО УстановкаСкидокНоменклатурыПолучателиСкидки.Получатель = ТоварыНаСкладахОстатки.Склад |ГДЕ | ТоварыНаСкладахОстатки.Склад = &Склад | И УстановкаСкидокНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.Номенклатура, | УстановкаСкидокНоменклатуры.Ссылка, | УстановкаСкидокНоменклатурыПолучателиСкидки.Получатель"; вот запрос по поиску номенклатуры по нужному складу, а вот как в параметрпередать нужный склад, который у меня в другой тч? запросом проходил ту тч, но как то неудачно( | |||
| 4
    
        an-korot 12.11.13✎ 16:47 | 
        если 1 вариант то:
 
или 2й вариант: 
ву-а-ля. | |||
| 5
    
        an-korot 12.11.13✎ 16:48 | 
        если нужно из нескольких складов, то нужно создать структуру и передать таким же образом ее.     | |||
| 6
    
        Валидатор 12.11.13✎ 16:48 | 
        (4) склад берется из тч, нельзя код склада прописать жеско     | |||
| 7
    
        Wobland 12.11.13✎ 16:48 | 
        а как связаны склады и номенклатуры?     | |||
| 8
    
        Валидатор 12.11.13✎ 16:49 | 
        (7) в регистре накопления я так полагаю)     | |||
| 9
    
        Валидатор 12.11.13✎ 16:50 | 
        (7) типа когда поступление происходит пишется же номенклатура и склад куда она поступает     | |||
| 10
    
        an-korot 12.11.13✎ 16:50 | 
        (6) и в каком виде у тебя там склад записан? ну найди по наименованию этот склад в чем проблема ;)     | |||
| 11
    
        DexterMorgan 12.11.13✎ 16:50 | 
        Про параметры виртуальных таблиц уже было?     | |||
| 12
    
        Валидатор 12.11.13✎ 16:51 | 
        (10) какое наименование? создается документ, в него пишут склад в табличную часть, потом нажимают кнопкой и данными котоые по складу этому есть заполняется номенклатура     | |||
| 13
    
        an-korot 12.11.13✎ 16:52 | 
        (9) ну и в чем проблема? номенклатура по документу приходит? возмите склад из документа. так не бывает: что пришел товар, а куда лег не известно ;)     | |||
| 14
    
        Wobland 12.11.13✎ 16:52 | 
        (9) представь факт: есть 20 картошки на помойке и 40 картошки на мусорке. как заполнять документ?     | |||
| 15
    
        Валидатор 12.11.13✎ 16:52 | 
        ВЫБРАТЬ
 УстановкаСкидокНоменклатурыПолучателиСкидки.Получатель.Ссылка ИЗ Документ.УстановкаСкидокНоменклатуры.ПолучателиСкидки КАК УстановкаСкидокНоменклатурыПолучателиСкидки ГДЕ УстановкаСкидокНоменклатурыПолучателиСкидки.Ссылка.Ссылка = &Ссылка такой запрос по складам мне 2 строки выдает, одна пустая, другая с нужным мне складом, почему пустая строка появляется? потому что Получатели скидки два типа - договор контрагента и склад, договора нет, поэтому пусто? так? | |||
| 16
    
        Валидатор 12.11.13✎ 16:53 | 
        (14) представь факт номер 2: есть указание брать картошку на мусорке, нажимаешь на кнопку и документ заполняется 40 картошками с мусорки     | |||
| 17
    
        Валидатор 12.11.13✎ 16:54 | 
        (14) то есть создали документ, поставили в ТЧ склад - мусорка, перешли в ТЧ товары - нажали кнопку, и все что есть на мусорке упало в наш док     | |||
| 18
    
        del123 12.11.13✎ 16:55 | 
        (16) Зачем склад сразу указывать в табличной части? Выведи реквизит на форму. При выполнении запроса подставляешь этот реквизит как параметр в запрос. Если есть нужда заполнять склад в табличной части, то в том же запросе добавь колонку     | |||
| 19
    
        del123 12.11.13✎ 16:55 | 
        (17) А сложность то в чем?:)     | |||
| 20
    
        Wobland 12.11.13✎ 16:55 | 
        (17) а при 80 складах в ТЧ как быть?     | |||
| 21
    
        an-korot 12.11.13✎ 16:56 | 
        аааа.... вот бы сразу код показали...
 выгребайте все подряд, без строки: |ГДЕ | ТоварыНаСкладахОстатки.Склад.Код = &Склад потом выгрузите в таблицу отфильтруйте по складу и любуйтесь остатками с указанием на каком складе лежит. | |||
| 22
    
        Валидатор 12.11.13✎ 16:56 | 
        (2) заполнять по всем 80 складам
 (18) если бы можно было вывести склад на форму как реквизит уже бы давно так сделал) но говорят типа нет, нельзя | |||
| 23
    
        Wobland 12.11.13✎ 16:57 | 
        (21) >Склад.Код = &Склад
 фу на тебя похоже, надо вынуть таблицу остатков, где Склад В (Список) | |||
| 24
    
        DexterMorgan 12.11.13✎ 16:57 | 
        Запрос.УстановитьПараметр("Склад", Получатели.ВыгрузитьКолонку("Склад"));     | |||
| 25
    
        Wobland 12.11.13✎ 16:57 | 
        (22) отлично. с задачей определились. дальше     | |||
| 26
    
        DexterMorgan 12.11.13✎ 16:57 | 
        (24) + в запросе Склад В ("&Склады")     | |||
| 27
    
        an-korot 12.11.13✎ 16:58 | 
        (25) точно.     | |||
| 28
    
        an-korot 12.11.13✎ 16:59 | 
        (23) без этой строки, имелось ввиду..
 все клещами нужно тащить. | |||
| 29
    
        Валидатор 12.11.13✎ 16:59 | 
        СписокСкладов = Новый СписокЗначений;
 Для Каждого ТекСтрока из ПолучателиСкидки Цикл СписокСкладов.Добавить(ТекСтрока.Получатель); КонецЦикла; можно так еще получить склад, но у меня в СЗ попадет 2 значения: 1 пустое, другое со складом, как от пустого избавиться? | |||
| 30
    
        Wobland 12.11.13✎ 17:00 | 
        (29) del на клавиатуре     | |||
| 31
    
        Валидатор 12.11.13✎ 17:01 | 
        (30) ооо блин, ну какой дел, как я из списка значений делетом буду удалять строки в режиме предприятия? ну не пишите глупостей     | |||
| 32
    
        an-korot 12.11.13✎ 17:01 | 
        (29) 
 
 | |||
| 33
    
        del123 12.11.13✎ 17:01 | 
        (29) Есть предположение, что нужно в ТЧ склады удалить пустую строку)     | |||
| 34
    
        DexterMorgan 12.11.13✎ 17:01 | 
        (32) ЗначениеЗаполнено()     | |||
| 35
    
        Wobland 12.11.13✎ 17:01 | 
        (32) (34) фу на вас ещё раз     | |||
| 36
    
        Валидатор 12.11.13✎ 17:01 | 
        (32) в 8.1 нет ПустоеЗначение функции((     | |||
| 37
    
        del123 12.11.13✎ 17:02 | 
        (35) +1 :))     | |||
| 38
    
        DexterMorgan 12.11.13✎ 17:02 | 
        (32) Клюшечник     | |||
| 39
    
        DexterMorgan 12.11.13✎ 17:02 | 
        (35) я его просто поправил     | |||
| 40
    
        an-korot 12.11.13✎ 17:03 | 
        (36) ТекСтрока.Получатель= Неопределено 
 ... или = "" запусти разок отладчик и глянь как строка выглядит | |||
| 41
    
        DexterMorgan 12.11.13✎ 17:03 | 
        А вообще тема развод какой то     | |||
| 42
    
        an-korot 12.11.13✎ 17:04 | 
        (41) действительно...
 Валидатор, вы же по моему не 1 год уже тут, что вы такие вопросы задаете? ))))) | |||
| 43
    
        Wobland 12.11.13✎ 17:05 | 
        (41) (42) ни разу ЛивингСтара не читали? он круче ТС     | |||
| 44
    
        Wobland 12.11.13✎ 17:09 | 
        вспомнился bananan что-то..     | |||
| 45
    
        an-korot 12.11.13✎ 17:10 | 
        (38) внутрь цикла код ставить считаю не нужным без надобности. у 1с по моему на 8 уровней вложенности есть лимит, а потом она глючить начинает на ровном месте, в переменных например путаться... так что не надо про клюшечника.  :`-(     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |