Имя: Пароль:
1C
 
конвертация из ТиС 7.7 помогите с правилом выгрузки данных
,
0 I_learn_1c
 
18.05.18
13:26
Доброе утро, помогите пожалуйста.

Делаю конвертацию документа из ТиС 7.7 в Розница 2.2. Нужно из Реализации выбрать номенклатуру, с этой номенклатурой создать док Установка цен и заполнить его значениями из справочника Цены из 7.7 для этого списка номенклатуры.

Правило конвертации создала.
Делаю правило выгрузки данных. Объект выборки ДокументСсылка.Реализация, приемник в ПКО - док УстановкаЦен
В ПВД перед обработкой пишу этот код. понимаю что сейчас он не рабочий, помогите пожалуйста подправить. С запросами в 7.7 вообще плохо. и вообще что тут не так еще может?


ТоварыВРеализации=СоздатьОбъект("ТаблицаЗначений");
        ТоварыВреализации.НоваяКолонка("Номенклатура");
        
        ЗапросКРеализации=СоздатьОбъект("Запрос");
        ТекстЗапросаРеализация="//{{ЗАПРОС(ВыборТЧ)
                            |Период с ДатаНач по ДатаКон;
                            |Без итогов;
                            //тут может какое-то условие типа ТекущийДокумент=Источник
                            |ТекущийДокумент = Документ.Реализация.ТекущийДокумент;  
                            |Номенклатура = Документ.Реализация.Номенклатура;
                            |Группировка ТекущийДокумент;
                            |Группировка Номенклатура;
                            |";
        
        Если ЗапросКРеализации.Выполнить(ТекстЗапросаРеализация) <> 0 Тогда //если есть тоавры в реализации
            Пока ЗапросКРеализации.Группировка(1) = 1 Цикл
                    ТоварыВреализации.УдалитьСтроки();
                    //заполняю список товаров из док Реализация
                    Пока ЗапросКРеализации.Группировка(2)=1 Цикл
                        ТоварыВреализации.НоваяСтрока();
                        ТоварыВреализации.Номенклатура = ЗапросКРеализации.Номенклатура;
                    КонецЦикла;
                
                    Товары = СоздатьОбъект("ТаблицаЗначений");    //для тч Товары в установку цен        
                    Товары.НоваяКолонка("Номенклатура");
                    Товары.НоваяКолонка("Цена");
                    Товары.НоваяКолонка("ВидЦены");
                    Товары.НоваяКолонка("Упаковка");
                    Товары.НоваяКолонка("ЦенаИзмененаВручную");
                    Товары.НоваяКолонка("Согласован");
                         
                    ВидыЦен = СоздатьОбъект("ТаблицаЗначений");  //для тч ВидыЦен в установку цен
                    ВидыЦен.НоваяКолонка("ВидЦены");            

                    Запрос = СоздатьОбъект("Запрос");     //выбрать цены из спр Цены, для товаров из ТоварыВРеализации
                    ТекстЗапроса="//{{ЗАПРОС(ВыборЦен)
                                        |ТипЦен = Справочник.Цены.ТипЦен;
                                        |Цена = Справочник.Цены.Цена;
                                        |Единица = Справочник.Цены.Единица;
                                        |Владелец = Справочник.Цены.Владелец;
                                        |Группировка Владелец;
                                        //вот тут как наложить условие??
                                        |Условие(Владелец В ТоварыВРеализации);  
                                        |";
                                
                    Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда    
                        Пока Запрос.Группировка(1) = 1 Цикл
                            ВидыЦен.УдалитьСтроки();
                            ВидыЦен.НоваяСтрока();
                            ВидыЦен.ВидЦены = "Закупочная";
                            
                            ВидыЦен.НоваяСтрока();
                            ВидыЦен.ВидЦены = "Розничная";
                            
                            Товары.УдалитьСтроки();
                            Пока Запрос.Группировка(2) = 1 Цикл
                                Товары.НоваяСтрока();
                                Товары.Номенклатура = Запрос.Номенклатура;
                                Товары.ВидЦены = "Закупочная";
                                Товары.Цена = Запрос.Цена;
                                Товары.Упаковка = Запрос.Единица;
                                Товары.ЦенаИзмененаВручную = 1;
                                
                                Товары.НоваяСтрока();
                                Товары.Номенклатура = Запрос.Номенклатура;
                                Товары.ВидЦены = "Розничная";
                                Товары.Цена = Запрос.Цена;
                                Товары.Упаковка = Запрос.Единица;
                                Товары.ЦенаИзмененаВручную = 1;
                            КонецЦикла;    
                        
                            ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
                            ИсходящиеДанные.Установить("Дата", Запрос.ДатаДок);
                            ИсходящиеДанные.Установить("ДокументОснование", ЗапросКРеализации.ТекущийДокумент);//Тоже может как-то что основание=источник?
                            ИсходящиеДанные.Установить("ВидыЦен",ВидыЦен);
                            ИсходящиеДанные.Установить("Товары", Товары);
                            ИсходящиеДанные.Установить("Согласован", 1);
                            ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "УстановкаЦенНоменклатуры");
                        КонецЦикла;    
                
                    КонецЕсли;
                    
                КонецЦикла;
            Иначе
                    Отказ = 1;    
            КонецЕсли;
1 Мандалай
 
18.05.18
14:11
Бояркина покури. Там есть ответы на многие вопросы.
2 vtolga
 
18.05.18
14:24
Ты все документы переносишь? или обрезаешь базу и нужна только номенклатура и цены на начало периода ?
3 I_learn_1c
 
21.05.18
10:17
(2) ну полагаю за определенный  период документы
4 Йохохо
 
21.05.18
10:34
(3) просто перепиши без запросов
5 I_learn_1c
 
21.05.18
10:38
(4) как? мне же нужна номенклатура именно из таб части и к ней подтянуть как-то цены
6 Ёпрст
 
21.05.18
10:39
(5) даты свои, для запроса, откуда берешь, для начала ?
7 Ёпрст
 
21.05.18
10:41
для цен, пользуй глПолучитьЦену или глВернутьЦену..
8 Ёпрст
 
21.05.18
10:42
Ну и... нафига тебе номенклатура из реализаций ?
Может того, из останков хотя бы её брать будешь ?
9 Йохохо
 
21.05.18
10:43
(5) по старинке, циклами и журналами
10 I_learn_1c
 
21.05.18
12:01
(8) я запуталась.
В общем - есть реализация в 7.7. Из ее ТЧ нужно взять номенклатуру, и для этой номенклатуры создать в 8.3 УстановкуЦен. Цены (закупочную и розничную) нужно тоже из справочника 7.7 притянуть. Потом следующая реализация, для нее установка цен и т.д.

7.7 не очень хорошо знаю. Как можно сделать такое?
11 Ёпрст
 
21.05.18
12:05
(10) И..зачем таКое может кому-то понадобиться ?
Надо что-то менять в консерватории.
Может того, пересмотрите задачу ? Создавать установку цен на каждую реализацию не надо от слова совсем.
Сам этот документ нужен только для заполнения цен в реализации, чтоб ручонками не проставлять
12 I_learn_1c
 
21.05.18
12:15
(11) чтоб перенести цены для номенклатуры которая есть в таких-то реализациях
13 I_learn_1c
 
21.05.18
12:17
(12) в 7.7 цены есть, надо их перенести, но не для всей номенклатуры (ее много), а для той которая в реализациях
14 craxx
 
21.05.18
12:17
Блин, быстрее через текст или ДБФ перенести цены.
15 I_learn_1c
 
21.05.18
12:19
(14) это как?
16 Йохохо
 
21.05.18
12:20
(10) берем журнал, ставим отборы, открываем выборку и чоп чоп шагаем, строки так же. Я 7.7 тоже вообще не знаю, но такое наколхозил бы
17 Aleksey
 
21.05.18
12:21
(12) кому они нужны в 8-ки?
18 I_learn_1c
 
21.05.18
12:22
(17) всмысле кому? тем кто базой пользуется
19 I_learn_1c
 
21.05.18
12:24
(16) попробую сейчас так, может сооружу что-то, спасибо
20 Злопчинский
 
21.05.18
12:24
бред какой страшный
возьми внятный период, например с 01.01.17 по сейчас
1. из документов реализации выдерни все номенклатуры, которые проходили за этот период (будем их считать живыми, если не хочешьь тупо перенести всю номенклатуру с ценами).
2. по справочнику цен выдерни все цены на сейчас нужных типов цена с фильтром по владельцу из п.1
21 Злопчинский
 
21.05.18
12:25
а вообще - солидарен с Ёпрстом - топикстартер какую-то хрень рожает. сначала определись ЧТО надо переносить. а уже потом как. а не наоброт гланды через (_._)
22 Aleksey
 
21.05.18
12:25
(18) они что документы реализация вводят?
23 Серёжа_
программист
 
21.05.18
12:26
(18) Восьмерка еще сырая!
24 aka AMIGO
 
21.05.18
12:29
Я переношу из 7.0-Торговля в 8.3-Розница с помощью СОМ/ОЛЕ.
И документы, и номенклатуру, и цены.

Цены и типы цен - это подчиненные справочники номенклатурам.
Вроде-б всё достаточно просто..
25 Ёпрст
 
21.05.18
12:31
(22) конечно! В рознице, в чёрную еще и оптом приторговывают :)
26 I_learn_1c
 
21.05.18
12:33
(21) да определилась я вроде бы в самом начале. нужны цены для определенной номенклатуры.
(20) как выдернуть цены с фильтром по владельцу?
27 Йохохо
 
21.05.18
12:33
заказчики бывают разные, и вполне бывают такие, которым история цен важнее остатков
(25) а поступление нет, потому что не знают, что пришло и почем, ага, все так и работает
28 Йохохо
 
21.05.18
12:38
(26) это колдунство с объект Периодический и ЗначениеНаДату
http://anatoly4xs.narod.ru/manual/lang/lang027.htm#2756
29 Ёпрст
 
21.05.18
12:38
(26) да блин, берешь останки на дату, получаешь список номенклатуры, дальше через глПолучить/ВернутьЦену находишь цену для нужного типа цен. ВСЁ.
Имеешь 1 (один, Карл! ) документ установкаЦен.
30 Злопчинский
 
21.05.18
12:52
(29) "..., сэр!"
31 I_learn_1c
 
21.05.18
15:55
спасибо всем, вроде правила соорудила. Но теперь еще вопрос больше по конвертации, если вот выгружается например 18 объектов, а загружено пишет 16, это не нормально? или такое допускается при конвертации?

внешне вроде все перегрузилось, не кажется что чего-то не хватает
32 Йохохо
 
21.05.18
16:19
(31) на 18 объектов можно и глазами файл поверить, может склеились штуки да упаковки
33 I_learn_1c
 
21.05.18
16:43
(32) и если в файле 16 объектов?
34 Йохохо
 
21.05.18
16:49
(33) значит забыта галка не запоминать
35 I_learn_1c
 
21.05.18
17:25
(34) ее же на регистрах вроде только ставить?
36 Злопчинский
 
21.05.18
18:32
(31) Креститесь, креститесь!
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший