Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 сен 2021, 04:29

Свертка базы 1с 7.7 не типовая конфигурация

Автор sanekdark, 16 дек 2016, 11:13

0 Пользователей и 1 гость просматривают эту тему.

sanekdark

Добрый день уважаемые пользователи .   кто подскажет как перенести  вторые цены (розничную)
есть оброботка ЗавершениеПериода  порядок свертки  идет ПереносУчетКредитаПостовщика потом ПереносВзаиморасчеты потом ПереносКассы потом ПереносОстаткиТоваров

вот часть кода переноса остатков из ЗавершениеПериода
//-------------------------
Функция ЗаполнитьОстаткиТоваров()
Докум=СоздатьОбъект("Документ.ПереносОстаткиТоваров");
Докум.АвтоВремяКонецДня();

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

вот выделил то что добавил Функция ОстатокРозн_Цена = КонОст(Розн_Цена);

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

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

может кто подсказать что забыл еще добавить чтоб вторая цена тоже переносилась Розничная цена

sanekdark

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



тоесть цену дергает в документ добавляет, но при формирование отчета по вторым ценам там цена 0

alex0402

так. не понял. розн_цена реквизит справочника?
при чем здесь регистр?
Спасибо за Сказать спасибо

sanekdark

Цитата: alex0402 от 16 дек 2016, 11:46
так. не понял. розн_цена реквизит справочника?
при чем здесь регистр?
это я сам добавил может и не правельно но розничная цена получилось только от туда добавить в документ.
(Товар,Склад,БазоваяСтоимость,ВалютнаяСтоимость,ОстатокТовара,ФлагУчета)  эти вссе регистре есть реквизиты но там нет розничный цены я взял ее с товара.справочника. или мне создать регистр расх цены в регистрах или как вот понять не могу что не так.

alex0402

Цитата: sanekdark от 16 дек 2016, 11:49но розничная цена получилось только от туда добавить в документ.

а дальше из докумета куда-то передается?
Цитата: sanekdark от 16 дек 2016, 11:28но при формирование отчета по вторым ценам там цена 0

нужно смотреть сам отчет откуда тянутся данные.

из того что я увидел.
Цитата: sanekdark от 16 дек 2016, 11:13|Розн_Цена = Регистр.ОстаткиТоваров.Товар.Розн_Цена;

Розн_Цена - это реквизит справочника, скорее всего периодический.
нужно какие-то действия со справочником производить.

Спасибо за Сказать спасибо

sanekdark

отчет формируется  вот со справочника цену берет тоже
//Создание объекта типа Запрос
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = ТекстЗапроса +
"//{{ЗАПРОС(Сформировать)
|Товар = Регистр.ОстаткиТоваров.Товар;
|Склад = Регистр.ОстаткиТоваров.Склад;
|ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
|Розн_Цена = Регистр.ОстаткиТоваров.Товар.Розн_Цена;
|Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
|Группировка Товар;
|Условие(Товар в ВыбТовар);
|Условие(Склад в ВыбСклад);
|"//}}ЗАПРОС
;
// Если ошибка в запросе, то выход из процедуры


может както отдельно нацеку можно сделать и свертки чтоб вторую цену брал в документ наценки с товаром проводился

alex0402


// ********************
Процедура ОбработкаПроведения(Режим)
    ВыбратьСтроки();
    мТовар = СоздатьОбъект("Справочник.Товар");
    мТовар.ИспользоватьДату(ДатаДок);
    Пока ПолучитьСтроку()=1 Цикл

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

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

sanekdark

Цитата: alex0402 от 16 дек 2016, 16:06

// ********************
Процедура ОбработкаПроведения(Режим)
    ВыбратьСтроки();
    мТовар = СоздатьОбъект("Справочник.Товар");
    мТовар.ИспользоватьДату(ДатаДок);
    Пока ПолучитьСтроку()=1 Цикл

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

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



чет ошибку выдает не могу понять почему не может создать спр
мТовар = СоздатьОбъект("Справочник.Товар");
{Документ.ПереносОстаткиТоваров.Модуль Документа(4)}: Неудачная попытка создания объекта (Справочник.Товар)



все спасибо разобрался добавил букву к справочнику. посмотрел какой справочник там у меня. спасибо от души
мТовар = СоздатьОбъект("Справочник.Товары")

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск