Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[1С:Предприятие 7.7]

Оптимизация расчета сумм остатков по группам

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №1
 
03.09.2013 18:35

Посабжу: есть запрос который получает из регистра остатаков остатки товара на начало и конец периода, далее на его основе заполняется таблица значений, где получается цена товара на начало и конец периода, перемножаются соответственно на остаок на начало и конец периода и записываются в соответствующие столбцы ТЗ.
Вопрос в следующем: как наиболее оптимально/быстро далее посчитать сумму по группам товаров?

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №2
 
03.09.2013 18:37

Да, цена - периодический реквизит справочника

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №3
 
04.09.2013 11:13

Это все можно сделать сразу в запросе, а итоги получить посчитам сумму "Суммы остатка" по иерархии.

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №4
 
04.09.2013 11:26

> Это все можно сделать сразу в запросе, а итоги получить посчитам сумму "Суммы остатка" по иерархии
Например? Как получить в запросе цену товара на начало и конец периода?
> итоги получить посчитам сумму "Суммы остатка" по иерархии
И это, пожалуйста, на примере.

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №5
 
04.09.2013 11:45

> Как получить в запросе цену товара на начало и конец периода?

- Получаешь даты изменения цены за интервал дат.
- Получаешь ближайшую дату к дате начала периода и ближайшую дату изменения цены к дате конца периода.
- Получаешь цены на эти даты.
> И это, пожалуйста, на примере.
Пример получения цен на начало и конец интервала можно поискать на "мисте".

Prikum
читатель
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20454
Пост №6
 
04.09.2013 11:53

Это все можно сделать для 7.7?

IceBeerg
читатель
офлайн
Дата регистрации: 06.10.2004
Сообщений: 803
Пост №7
 
04.09.2013 12:07

> Получаешь даты изменения цены за интервал дат.
В запросе? 80 Как?
> Пример получения цен на начало и конец интервала можно поискать на "мисте".
Не нашел :(

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №8
 
04.09.2013 12:16

Даже не говори мне про 7.7 ничего! :)

Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8343
Пост №9
 
04.09.2013 12:20

А-аа, протупил что это для 7.7 все надо...

Thorvardr
читатель
офлайн
Дата регистрации: 25.02.2005
Сообщений: 3077
Пост №10
 
04.09.2013 16:06

"Весь этот головняк потому что в запросах 7.7 значения периодических реквизитов вычисляются только на конечную дату запроса. Кроме того, прямо в тексте запроса проблематично написать какое то подобное вычисление:


|Функция КонОценочнаяСтоимость = ЦенаНаКонец*КонОст(Количество); 




хотя есть незадокументированная "фича", где можно написать что то типа такого:


|Цена=Справочник.Цены.Цена;
|Функция КонКоличество=КонОст(Количество);
|Функция КонОценочнаяСтоимость = Сумма(Цена*Запрос.КонКоличество);


и оно даже что то вычисляет, но иногда результат логике вообще не поддается

Если отвечать на поставленный вопрос "в лоб", то постобработкой можно, конечно, сделать рассчет итогов по группам примерно вот так:


ТаблТоваров=СоздатьОбъект("ТаблицаЗначений");
ТаблТоваров.НоваяКолонка("Товар","Справочник.Номенклатура");
ТаблТоваров.НоваяКолонка("ОценочнаяСтоимостьНаНачало","Число",15,2);
ТаблТоваров.НоваяКолонка("ОценочнаяСтоимостьНаКонец","Число",15,2);
//...
//тут таблица как то заполняется по запросу и перебором периодики цен
//...
Если ТаблТоваров.КоличествоСтрок()>0 Тогда
ТаблИтогов=СоздатьОбъект("ТаблицаЗначений");
ТаблТоваров.Выгрузить(ТаблИтогов);
ТаблИтогов.НоваяКолонка("Родитель","Справочник.Номенклатура");
Пока 1=1 Цикл
       Для i=1 По ТаблИтогов.КоличествоСтрок() Цикл
             ТаблИтогов.УстановитьЗначение(i,"Родитель",ТаблИтогов.ПолучитьЗначение(i,"Товар").Родитель);
       КонецЦикла;

       ТаблИтогов.Свернуть("Родитель","ОценочнаяСтоимостьНаНачало,ОценочнаяСтоимостьНаКонец");

       Если ТаблИтогов.КоличествоСтрок()=1 Тогда
             Если ПустоеЗначение(ТаблИтогов.ПолучитьЗначение(1,"Родитель"))=1 Тогда
                   Прервать;
             КонецЕсли;
       КонецЕсли;

       ТаблИтогов.НоваяКолонка("Товар","Справочник.Номенклатура");
       Для i=1 По ТаблИтогов.КоличествоСтрок() Цикл
             Если ПустоеЗначение(ТаблИтогов.ПолучитьЗначение(i,"Родитель"))=0 Тогда
                   ТаблТоваров.НоваяСтрока();
                   ТаблТоваров.Товар=ТаблИтогов.ПолучитьЗначение(i,"Родитель");
                   ТаблТоваров.ОценочнаяСтоимостьНаНачало=ТаблИтогов.ПолучитьЗначение(i,"ОценочнаяСтоимостьНаНачало");
                   ТаблТоваров.ОценочнаяСтоимостьНаКонец=ТаблИтогов.ПолучитьЗначение(i,"ОценочнаяСтоимостьНаКонец");
                   ТаблИтогов.УстановитьЗначение(i,"Товар",ТаблИтогов.ПолучитьЗначение(i,"Родитель"));
             КонецЕсли;
       КонецЦикла;
КонецЦикла;
КонецЕсли;

ТаблТоваров.Свернуть("Товар","ОценочнаяСтоимостьНаНачало,ОценочнаяСтоимостьНаКонец");
//в итоге в ТаблТоваров окажутся помимо сведений о товарах еще и сведения о суммах, собранных по вышестоящим родителям вплоть до корневого уровня
"

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги
© ООО "1C" 2000-2018 г.