| Регистрация Правила Главная форума Поиск | 
|     0
            - 16.04.2014 - 13:31
           |      
                    Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Период С ДатаОтч по ДатаОтч; |Фирма = Регистр.ОстаткиТМЦ.Фирма; |Количество = Регистр.ОстаткиТМЦ.Количество; |Склад = Регистр.ОстаткиТМЦ.Склад; |Товар = Регистр.ОстаткиТМЦ.Номенклатура; // |Условие (Склад = Склады); // |Условие (Товар.Родитель = ""Производство""); |Функция Колво = КонОст(Количество); |Группировка Фирма; |Группировка Товар без групп;"; Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; Пока Запрос.Группировка("Фирма") = 1 Цикл Пока Запрос.Группировка("Товар") = 1 Цикл Если (Запрос.Колво < 0) Тогда  |    |  
|     1
            - 16.04.2014 - 13:33
           |  как угодно , а почему именно на название ? а если там "производство крышек" |   |  
|     2
            - 16.04.2014 - 13:35
           |     
			
			
                при обходе как минимум если этогруппа т о равна ли сокрлп производство иначе товарродитель тоже самое ЗЫ в запросе несколько по другому ачо ?  |    |  
|     3
            - 16.04.2014 - 13:36
           |  опять же - чоу значет - Как проанализировать самую первую группу ??? |   |  
|     4
            - 16.04.2014 - 13:40
           |  У меня в справочнике в папке "Производство" на 2 уровне есть папки, на третьем . А товар может быть на третьем уровне, на четвертом . Вот мне нужно в выбрать товар, который принадлежит паке "Производство" независимо от уровня вложенность Вот |   |  
|     5
            - 16.04.2014 - 13:42
           |     
			
			
                ПринадлежитГруппе(<?>) Синтаксис: ПринадлежитГруппе(<Группа>) Назначение: Метод проверяет, принадлежит ли указанной группе текущий элемент справочника (независимо от того, на каком нижележащем уровне он находится). Возвращает: 1 - если элемент принадлежит указанной группе , 0 - если нет. или через стандартные условия // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//**{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент; |Функция Счётчик = Счётчик(); |Группировка Номенклатура без групп; |Условие(Номенклатура в ВыбНоменклатура); |"//****ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Номенклатура Таб.ВывестиСекцию("Номенклатура"); КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры  |    |  
|     6
            - 16.04.2014 - 13:43
           |  Выбноменклатура - элемент справочника - группа которая тебе нужна |   |  
|     7
            - 16.04.2014 - 13:45
           |     
			
			
                Если Найти(Запрос.Товар.Родитель.Родитель.Наименование,  "Производство")>0 А если Родитель.Родитель.Родитель?  |    |  
|     8
            - 16.04.2014 - 13:50
           |     
			
			
                (7) ниструя не кошерно ... ЗЫ вы случаем в рарусе не работали ? :))))  |    |  
|     9
            - 16.04.2014 - 13:53
           |     
			
			
                спр=СоздатьОбъект("Справочник.номенклатура"); спр.Найтипонаименованию("производство"); Выбноменклатура= спр.текущийэлемент(); но тоже хз - есть он у тя нету ... и группа ли вообще  |    |  
|     10
            - 16.04.2014 - 14:01
           |     
			
			
                Вот это не срабатывает Если Запрос.Товар.ПринадлежитГруппе("Производство")=0 Тогда  |    |  
|     11
            - 16.04.2014 - 14:02
           |  Мне нужно выбрать отрицательные остатки по товару и только для той номенклатуры,которая входит в группу производство |   |  
|     12
            - 16.04.2014 - 14:06
           |     
			
			
                бред тупых одноэсников берем полный путь и далее в нем ищем что надо хотя есть и более красивое и правильное решение  |    |  
|     13
            - 16.04.2014 - 14:15
           |     
			
			
                (11) Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; пр=СоздатьОбъект("Справочник.номенклатура"); спр.Найтипонаименованию("производство"); Выбноменклатура= спр.текущийэлемент(); //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//**{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент; |Функция Счётчик = Счётчик(); |Группировка Номенклатура без групп; |Условие(Номенклатура в ВыбНоменклатура); |"//****ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Номенклатура Таб.ВывестиСекцию("Номенклатура"); КонецЦикла; // Заполнение полей "Итого" Таб.ВывестиСекцию("Итого"); // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры (12) нука ...  |    |  
|     14
            - 16.04.2014 - 14:16
           |     
			
			
                (10) и не сработает НИ КА ДА\ ЗЫ строка с элементом не сравнивается  |    |  
|     15
            - 16.04.2014 - 14:20
           |     
			
			
                Вот так счас попробую .... ГруппаНоменкл = СоздатьОбъект("Справочник.Номенклатура"); ГрНоменкл = ГруппаНоменкл.НайтиПоНаименованию("Производство",0 ); Группа=ГрНоменкл.ТекущийЭлемент(); ТЗ = СоздатьОбъект("ТаблицаЗначений"); ТЗ.НоваяКолонка("Номенклатура"); ТЗ.НоваяКолонка("Количество","Число"); ТЗ.НоваяКолонка("Единица"); Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |Период С ДатаОтч по ДатаОтч; |Фирма = Регистр.ОстаткиТМЦ.Фирма; |Количество = Регистр.ОстаткиТМЦ.Количество; |Склад = Регистр.ОстаткиТМЦ.Склад; |Товар = Регистр.ОстаткиТМЦ.Номенклатура; |Условие (Товар.ПринадлежитГруппе(Группа)=1); |Функция Колво = КонОст(Количество); |Группировка Фирма; |Группировка Товар без групп;";  |    |  
|     16
            - 16.04.2014 - 14:23
           |     
			
			
                ГрНоменкл = ГруппаНоменкл.НайтиПоНаименованию("Производство",0 ); Группа=ГрНоменкл.ТекущийЭлемент(); ;)))))) жесть  |    |  
|     17
            - 16.04.2014 - 14:53
           |     
			
			
                Теперь РАБОТАЕТ :)))))) СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура.ВключатьПодчиненные(1); СпрНоменклатура.ВыбратьЭлементы(); Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл Если Найти(СпрНоменклатура.Наименование,"Производство") >0 Тогда Группа = СпрНоменклатура.ТекущийЭлемент(); КонецЕсли; КонецЦикла; СпрНоменклатура = СоздатьОбъект("Справочник.Номенклатура"); СпрНоменклатура.ВключатьПодчиненные(1); СпрНоменклатура.ВыбратьЭлементы(); Пока СпрНоменклатура.ПолучитьЭлемент() = 1 Цикл Если Найти(СпрНоменклатура.Наименование,"Производство") >0 Тогда Группа = СпрНоменклатура.ТекущийЭлемент(); КонецЕсли; КонецЦикла;  |    |  
|     18
            - 16.04.2014 - 15:03
           |  и запрос к регистру на каждый элемент ? :))) |   |  
|     19
            - 16.04.2014 - 16:49
           |     
			
			
                (4) примени конструкцию  <ТМЦвзапросе> в <ВыбранныйТМЦ>  |    |  
|     20
            - 16.04.2014 - 16:49
           |     
			
			
                (4) (19) примени конструкцию з запросе Условие (<ТМЦвзапросе> в <ВыбранныйТМЦ>);  |    |  
|     21
            - 17.04.2014 - 07:09
           |  |Условие(Номенклатура в ВыбНоменклатура); - всегда работало |   |  
 Интернет-форум Краснодарского края и Краснодара |