Имя: Пароль:
1C
1C 7.7
v7: Свертка базы 1с 7.7 не типовая конфигурация
0 sanekdark
 
16.12.16
11:08
Добрый день уважаемые пользователи .   кто подскажет как перенести  вторые цены (розничную)
есть оброботка ЗавершениеПериода  порядок свертки  идет ПереносУчетКредитаПостовщика потом ПереносВзаиморасчеты потом ПереносКассы потом переносОстаткиТоваров

вот часть кода переноса остатков из ЗавершениеПериода

//-------------------------
Функция ЗаполнитьОстаткиТоваров()
    Докум=СоздатьОбъект("Документ.ПереносОстаткиТоваров");
    Докум.АвтоВремяКонецДня();
    
    Запрос=СоздатьОбъект("Запрос");
    ТекстЗапроса=
    "//{{ЗАПРОС(ОстаткиТоваров)
    |Период с '01.01.1990' по ДатаКонцаПериода;
    |Обрабатывать НеПомеченныеНаУдаление;
    |Товар = Регистр.ОстаткиТоваров.Товар;
    |Склад = Регистр.ОстаткиТоваров.Склад;
    |Ден = Регистр.ОстаткиТоваров.БазоваяСтоимость;
    |Вал = Регистр.ОстаткиТоваров.ВалютнаяСтоимость;
        |Розн_Цена = Регистр.ОстаткиТоваров.Товар.Розн_Цена;
    |Тов = Регистр.ОстаткиТоваров.ОстатокТовара;
    |Группировка Товар упорядочить по Товар.Наименование без групп;
    |Группировка Склад упорядочить по Склад.Наименование без групп;
    |Функция ОстатокДен = КонОст(Ден);
    |Функция ОстатокВал = КонОст(Вал);
    |Функция ОстатокТов = КонОст(Тов);
    |Функция ОстатокРозн_Цена = КонОст(Розн_Цена);
    |"//}}ЗАПРОС
    ;
    Если Запрос.Выполнить(ТекстЗапроса)=0 Тогда
        Предупреждение("Системная ошибка выполнения запроса по Регистр.ОстаткиТоваров!");
        Возврат 1;
    КонецЕсли;
вот выделил то что добавил Функция ОстатокРозн_Цена = КонОст(Розн_Цена);

стал дергать цену вторую создается документ там появилась вторая цена ,но делаю остаток по вторым ценам цена пишет 0 . почему то не переноситься 2 цена . первая цена закупки переноситься нормально .
вот код ПереносОстаткиТоваров


// ********************
Процедура ОбработкаПроведения(Режим)
    ВыбратьСтроки();
    Пока ПолучитьСтроку()=1 Цикл
        Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
        Если ОстатокТовара>=0 Тогда
            Регистр.ОстаткиТоваров.ДвижениеПриход(Товар,Склад,БазоваяСтоимость,ВалютнаяСтоимость,ОстатокТовара,ФлагУчета);
    
        Иначе            
            Регистр.ОстаткиТоваров.ДвижениеРасход(Товар,Склад,-БазоваяСтоимость,-ВалютнаяСтоимость,-ОстатокТовара,ФлагУчета);  
        КонецЕсли;  
        КонецЦикла;
КонецПроцедуры


может кто подсказать что забыл еще добавить чтоб вторая цена тоже переносилась Розничная цена
1 пипец
 
16.12.16
11:13
есть универсальная свертка по регистрам
поищи в яндексе СверткаИБ
не помню кто автор
2 Злопчинский
 
16.12.16
11:15
если готов заплатить 2500/час (1 час не менее 2500, предположительно уложимся от 15 мин до часа - в зависимости от размера базы) - подключусь и свернем регистры сейчас же. Предложение действительно 20 мин.
3 sanekdark
 
16.12.16
11:33
Злопчинский спасибо но я сам хочу понять что нужно сделать чтоб на будущее запомнить.
4 sanekdark
 
16.12.16
11:38
еслиб я хотел чтоб за деньги мне помогли то я бы в фрилансе оставил сообщения )))
5 Злопчинский
 
16.12.16
11:39
регистр.
выгрузить итоги. если надо - с временным расчетом. без всяких запросов.
заполнить служебный документ выгруженными итогами (ценность представляет служебный док, который позволяет в себя втащить любой регистр)
все доки до этого служебного дока посетить удалить.
провести служебный документ в режиме "приход".
профит.

.
жадина.
6 Злопчинский
 
16.12.16
11:40
(4)
1. за деньги.
2. гарантировано
3. получаешь не только свертку а документ служебной корректировки регистров.
4. к самому документу - небольшая обвеска с полезностями.
5. все это внедряется за 5-7 мин.
7 Злопчинский
 
16.12.16
11:42
еще главное - все по уджаленке в твоем присутствии с пояснениями и обучаловкой. и все это за какие-то жалкие 2500
8 sanekdark
 
16.12.16
11:45
тоесть то что выше писа ля код не нужен другой нужен? так он по сути и так удаляет все документы . все переносить кроме вторых цен .
9 Ёпрст
 
16.12.16
11:55
(8) код в (0) - это учебное пособие как не надо делать.
10 sanekdark
 
16.12.16
12:58
не кто не  сможет помочь?
11 Ёпрст
 
16.12.16
13:01
(10) Помогаю. Открой для себя метод ВыгрузитьИтоги.
Наслаждайся, кушай печенки.
12 sanekdark
 
16.12.16
13:03
у меня не типовая  конфигурация  где его открыть метод?
13 sanekdark
 
16.12.16
13:07
можете прост осказать как мне тока сделать чтоб вторая цена тоеж переносилась остальное переноситься все норм  второй цены нет только . что суда добавить нужно я думаю в перенос остатков над доабвить както
14 sanekdark
 
16.12.16
13:09
я сделал чтоб цену дергалась вторая вот [img]http://pixs.ru/showimage/1ccsreenjp_8219112_24439589.jpg [/img]
но она не присваивает цену эту просто проводиться сохраняется тока в документе этом
15 sanekdark
 
16.12.16
13:11
может тоже нужно регистр сделать для розничных цен ? и тогда добавить сюда

Регистр.ОстаткиТоваров.ДвижениеПриход(Товар,Склад,БазоваяСтоимость,ВалютнаяСтоимость,ОстатокТовара,ФлагУчета, РознЦена);
    как то так может
16 Злопчинский
 
16.12.16
13:11
(13) тебе ответили в 11
Предлагаю последний раз
2700 со всяческими поясненими
17 Злопчинский
 
16.12.16
13:11
За это время уже давно бы сделали и песенки кушал
18 sanekdark
 
16.12.16
13:12
да нет денег уменя в данный момент. че ты обьяснить не можешь так?  я же не на фрилансе сижу
19 Это_mike
 
16.12.16
13:14
(17) "песенки кушал"????
соловья баснями не кормят!©
:-)))
20 LazyStranger
 
16.12.16
13:14
(12) в синтаксис-помощнике :)
21 Это_mike
 
16.12.16
13:16
(18) если ты работаешь работу - то ты ее работаешь не забесплатно. и за сделанное вместо тебя надо платитью
еси ты учишься - тебе сказали достаточно для обучения.
22 LazyStranger
 
16.12.16
13:17
(15) структуру регистра "ОстаткиТоваров" твоего смотреть надо
23 sanekdark
 
16.12.16
13:19
вот
[url=http://pixs.ru/showimage/Bezimeni2j_7015399_24440886.jpg][img]http://i9.pixs.ru/thumbs/8/8/6/Bezimeni2j_7015399_24440886.jpg[/img][/url]

там небыло розничной цены по этому я брал ее из справочника товара . может ее нужно добавить в регистр
24 sanekdark
 
16.12.16
13:20
25 sanekdark
 
16.12.16
13:22
Это_mike если сказать по теме не чего то будьте добры не флудите. я пришел тут чтоб помогли а не выслушивать бред про печенюшки . вы лично не чего не сказали толкового.
26 Это_mike
 
16.12.16
13:25
(25) а что, вам обязаны помогать?
27 sanekdark
 
16.12.16
13:29
я написал тут   , а у кого есть возможность тот поможет . а нет так нет . но не надо флудить  вы тут кроме флуда не чего не сказали толком а строите из себя героя помошника. успокойтесь. и не грубите
28 sanekdark
 
16.12.16
13:30
Это_mike лично вас не кто не заставляет помогать можете быть свободны.и не кого не заставляю я только спрашиваю как сделать .я не говорю чтоб сделали за меня тут чтото  я просто хочу понять и разобраться
29 Ёпрст
 
16.12.16
13:31
(28) Открой наконец, пофигуратор, нажми Ctrl+F1, и найди там метод ВыгрузиьИтоги
30 sanekdark
 
16.12.16
13:33
Ёпрст спасибо почитаю щас
31 Ёпрст
 
16.12.16
13:34
Ну и на счет
" чтоб вторая цена тоже переносилась Розничная цена"

Если че, её в твоём регистре НЕТ.
Если ты имеешь ввиду ЭТО
|Розн_Цена = Регистр.ОстаткиТоваров.Товар.Розн_Цена;

- то это реквизит справочника Номенклатура.
И к твоему регистру не имеет никакого отношения.
Поэтому, че тебе нужно - хз.
Ну, разве что, выключить компутер и идти учить уроки.
32 LazyStranger
 
16.12.16
13:50
кроме того, цена как была в номенклатуре, так и останется, её вообще переносить никуда и не надо
33 LazyStranger
 
16.12.16
13:53
есть правда шанс что это периодический реквизит, заполняемый при проведении документов, и при удалении всех старых доков он обнулится
34 sanekdark
 
16.12.16
17:20
ну так остатки при свертки  он сперва переносит остатки и цены он их дергает. потом уже удаляет все документы.
35 sanekdark
 
16.12.16
17:30
все разобрался помогли мне на другом форуме.
решение // ********************
Процедура ОбработкаПроведения(Режим)
    ВыбратьСтроки();
    мТовар = СоздатьОбъект("Справочник.Товары");
    мТовар.ИспользоватьДату(ДатаДок);
    Пока ПолучитьСтроку()=1 Цикл

        мТовар.НайтиЭлемент(Товар);
        мТовар.Розн_Цена = Розн_Цена;
        мТовар.Записать();

        Регистр.ОстаткиТоваров.ПривязыватьСтроку(НомерСтроки);
        Если ОстатокТовара>=0 Тогда
            Регистр.ОстаткиТоваров.ДвижениеПриход(Товар,Склад,БазоваяСтоимость,ВалютнаяСтоимость,ОстатокТовара,ФлагУчета);
    
        Иначе            
            Регистр.ОстаткиТоваров.ДвижениеРасход(Товар,Склад,-БазоваяСтоимость,-ВалютнаяСтоимость,-ОстатокТовара,ФлагУчета);  
        КонецЕсли;  
        КонецЦикла;
КонецПроцедуры
36 Злопчинский
 
16.12.16
20:53
(35) код уемищный
Если это док который проводится не один раз и если вдруг снята галка автоочистка движений то будет весело
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн