Имя: Пароль:
1C
 
конвертация данных как выгрузить цены номенклатуры определенной группы 1с 7.7
0 Eeelena
 
03.12.14
09:31
Подскажите,пожалуйста, что исправить в правилах обмена , чтоб выгружались цены номенклатур только определенных групп??? Правила обмена ТИС 7.7 Ут 10.3
1 dk
 
03.12.14
09:39
в выгрузке поищи отборы на форме
2 Eeelena
 
03.12.14
09:40
(1) в обработке выгрузки поставила отбор по группе номенклатуры, и выгружаю справочник Номенклатура и ЦеныНоменклатуры, все равно выгружает всю номенклатуру
3 dk
 
03.12.14
09:42
отбор для каждого ПКО там отдельно настраивается вроде
4 Eeelena
 
03.12.14
09:45
(3) а где именно?
5 Godofsin
 
03.12.14
10:09
(4) Ну там же раздел - "Отбор данных"
6 Eeelena
 
03.12.14
10:21
(5) я вижу только вкладки "Правила конвертации объектов", "Правила выгрузки данных" и т.д
7 vittany
 
03.12.14
10:32
(0) В ПВД Запросом сформируй нужную тебе выборку и загрузи её в параметр ВыборкаДанных
8 vittany
 
03.12.14
10:34
(0) В ТиС цена-это реквизит номенклатуры?
9 Eeelena
 
03.12.14
10:37
(8) нет это отдельный справочник
10 Eeelena
 
03.12.14
10:39
(7) вот код в пвд ЦеныНоменклатуры акпкл обработкой, пыталась в этом запросе сделать ограничение по группе, но не работает
Товары = СоздатьОбъект("ТаблицаЗначений");            
        Товары.НоваяКолонка("Номенклатура");
        Товары.НоваяКолонка("Цена");
        Товары.НоваяКолонка("ТипЦен");
        Товары.НоваяКолонка("ЕдиницаИзмерения");
        Товары.НоваяКолонка("ПроцентСкидкиНаценки");
        Товары.НоваяКолонка("ИндексСтрокиТаблицыЦен");
        Товары.НоваяКолонка("Валюта");
        Товары.НоваяКолонка("СпособРасчетаЦены");
                    
        ТипыЦен = СоздатьОбъект("ТаблицаЗначений");
        ТипыЦен.НоваяКолонка("ТипЦен");            

        ДатаТА = ПолучитьДатуТА();     
        ДатаНач = ?((ПустоеЗначение(ДатаНачала) = 0) И (ДатаНачала < ДатаТА), ДатаНачала,ДатаТА);        
        
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса =
            "//{{ЗАПРОС(ОтборЦен)
            |Период с ДатаНач по ДатаНач;
            |Номенклатура = Справочник.Цены.Владелец;
            |ТипЦен = Справочник.Цены.ТипЦен;
            |Рассчитывается = Справочник.Цены.ТипЦен.Рассчитывается;
            |БазовыйТипЦен = Справочник.Цены.ТипЦен.БазовыйТипЦен;
            |Цена = Справочник.Цены.Цена;
            |Единица = Справочник.Цены.Единица;
            |Валюта = Справочник.Цены.Валюта;
            |Процент = Справочник.Цены.Процент;
            |Функция ЦенаСумма = Сумма(Цена);
            |Группировка ТипЦен;
            |Группировка Номенклатура без групп;
            |Условие((Номенклатура.ЭтоГруппа() = 0) И (Цена <> 0));
            |";
        
        Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда    
               Индекс = 1;
            Номер = 0;
            
                
            Пока Запрос.Группировка(1) = 1 Цикл
                ТипыЦен.УдалитьСтроки();
                ТипыЦен.НоваяСтрока();
                ТипыЦен.ТипЦен = Запрос.ТипЦен;
                Товары.УдалитьСтроки();
                Номер = Номер + 1;
                
                Пока Запрос.Группировка(2) = 1 Цикл
                    Товары.НоваяСтрока();
                    Товары.Номенклатура = Запрос.Номенклатура;
                    Товары.ТипЦен = Запрос.ТипЦен;
                    Товары.Цена = Запрос.Цена;
                    Товары.ЕдиницаИзмерения = Запрос.Единица;
                    Товары.ПроцентСкидкиНаценки = Запрос.Процент;
                    Товары.ИндексСтрокиТаблицыЦен = Индекс;
                    Товары.Валюта = Запрос.Валюта;
                     Если (Запрос.Рассчитывается = 1)  Или ((Запрос.Рассчитывается = 0) И (ПустоеЗначение (Запрос.БазовыйТипЦен) = 0)) Тогда
                        Товары.СпособРасчетаЦены = "ПоПроцентнойНаценкеНаБазовыйТип";
                    КонецЕсли;
                КонецЦикла;
                
                   ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
                   ИсходящиеДанные.Установить("Номер", Номер);
                ИсходящиеДанные.Установить("Дата", ДатаНач);
                ИсходящиеДанные.Установить("ТипыЦен",ТипыЦен);
                ИсходящиеДанные.Установить("Комментарий", Параметры.СтрокаКомментария);
                ИсходящиеДанные.Установить("Товары", Товары);        
                ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "ЦеныНоменклатуры");
                Индекс = Индекс + 1;
            КонецЦикла;    
            КОНЕЦЕСЛИ;
        Иначе
            Отказ = 1;
        КонецЕсли;
11 Godofsin
 
03.12.14
10:58
(10) Выгружаешь ведь через универсальную выгрузку? Там есть отбор
12 vittany
 
03.12.14
11:56
(10) Могу ошибаться, очень давно работала с 7кой, но "|Условие((Номенклатура.ЭтоГруппа() = 0) И (Цена <> 0));"
по-моему не отграничивает тип цен никак, просто убирает Группы из спр-ка Номенклатуры. Попробуйте в отдельной обработке в 7.7 отладить выборку. Ну или в обход по 2ой группировке здесь добавить жестко проверку на принадлежность группе. Если не входит, тогда продолжить
13 Eeelena
 
03.12.14
12:17
(11)есть, но когда я указываю в выборке справочник Цены, то он всю номенклатуру выгружает (12) сейчас попробую  обход по 2ой группировке сделать условие
14 Eeelena
 
03.12.14
13:02
(12) написала вот такое условие Если Запрос.Номенклатура.Наименование="basic" Тогда

не работает
15 vittany
 
03.12.14
13:39
(14) А есть номенклатура с таким наименованием?
16 Eeelena
 
03.12.14
13:56
(15) есть группа с таким наименованием еще писала так ЕСли Запрос.Номенклатура.Родитель="basic" но там еще многоуровневая вложенность групп