Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Горячая тема (более 10 ответов) 1sqlite и DBF почему разные итоги (число прочтений - 4736 )
k_petrovich
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 01. Марта 2012
Пол: Мужской
1sqlite и DBF почему разные итоги
01. Марта 2012 :: 14:17
Печать  
здраствуйте, почему могут быть разные начальные остатки регистра итогов на начало периода, первый получаю через прямой запрос 1sqlite другой через стандартный запрос?
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: 1sqlite и DBF почему разные итоги
Ответ #1 - 01. Марта 2012 :: 14:44
Печать  
хороший вопрос.
а где текст?
  
Наверх
 
IP записан
 
k_petrovich
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 01. Марта 2012
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #2 - 01. Марта 2012 :: 14:53
Печать  
SELECT
SUM(Итоги.Сумма) НачОст
FROM
[РегистрИтоги.ДвижениеПоОбъектам] as Итоги
WHERE
(Итоги.period = @НачПериод) and (Итоги.Статус = @ВыбСтатус) and (Итоги.Объект = @ВыбОбъект)

тоже самое через стандартный запрос

Период с НачПериод по НачПериод;
Объект = Регистр.ДвижениеПоОбъектам.Объект;
Статус = Регистр.ДвижениеПоОбъектам.Статус;
Сумма = Регистр.ДвижениеПоОбъектам.Сумма;
Функция НачОстСумма = НачОст(Сумма);
Группировка Объект без Групп;
Условие (Статус = ВыбСтатус);
Условие (Объект = ВыбОбъект);
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #3 - 01. Марта 2012 :: 15:00
Печать  
(0) Покажи как вычисляешь дату
в стандартном запросе начальное значение на март
тождественно в прямом запросе значению
периода = первое февраля.
  
Наверх
 
IP записан
 
k_petrovich
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 01. Марта 2012
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #4 - 01. Марта 2012 :: 15:38
Печать  
мд = СоздатьОбъект("MetaDataWork");            
НачПериод = мд.ПолучитьНачПериода(НачДата);

допустим мне показывает НачПериод = '20120101', я такую же дату ввожу в стандартном запросе
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #5 - 01. Марта 2012 :: 15:44
Печать  
k_petrovich писал(а) 01. Марта 2012 :: 15:38:
мд = СоздатьОбъект("MetaDataWork");            
НачПериод = мд.ПолучитьНачПериода(НачДата);

допустим мне показывает НачПериод = '20120101', я такую же дату ввожу в стандартном запросе

ну так отними от этой даты один месяц  '20111201' и проверь
  
Наверх
 
IP записан
 
k_petrovich
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 01. Марта 2012
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #6 - 01. Марта 2012 :: 15:57
Печать  
сработало, а не подскажете почему так?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #7 - 01. Марта 2012 :: 16:13
Печать  
k_petrovich писал(а) 01. Марта 2012 :: 15:57:
сработало, а не подскажете почему так?

потому что таблица итогов регистра хранит остаток
только на конец периода ( или ТА для последнего периода)
а абстрактно есть остатки на начало и конец месяца(периода)
в стандартном 1с запросе 1с.exe проделывал за Вас все эти операции
а тут надо самому
или можно использовать вирт функции ну они насколько я помню только для sql
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite и DBF почему разные итоги
Ответ #8 - 02. Марта 2012 :: 12:12
Печать  
Периодичность хранения останков далеко не у всех = месяц, если что.

А автор путает еще НачОст и КонОст, помимо того, что итоги смотрит актуальные и КонОст
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #9 - 02. Марта 2012 :: 13:01
Печать  
Eprst писал(а) 02. Марта 2012 :: 12:12:
Периодичность хранения останков далеко не у всех = месяц, если что.

А автор путает еще НачОст и КонОст, помимо того, что итоги смотрит актуальные и КонОст

практически у всех месяц в процентах 90%.
в посте выше специально написал период(месяц)

ИХМО я смотрел как реализовано в sql - для
1c sql  очень нерационально ставить период <> месяц.
Если нужны остатки-итоги на каждый день то гораздо лучше их хранить  еще в одной таблице со своими индексами
и наверняка таких остатков от
текущего периода надо месяц или два в прошлое.



  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: 1sqlite и DBF почему разные итоги
Ответ #10 - 02. Марта 2012 :: 13:39
Печать  
5 дней -лучший вариант.
Единтвенное -это открытие периода, которое для скуля, вообще не проблема в разделенном режиме.
ЗЫ: для дбф -это вообще необходимость
  
Наверх
 
IP записан
 
k_petrovich
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 17
Зарегистрирован: 01. Марта 2012
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #11 - 02. Марта 2012 :: 15:11
Печать  
а можно ли с помощью 1sqlite обращаться к остаткам после ТА, будут ли они правдоподобны?
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #12 - 02. Марта 2012 :: 16:25
Печать  
k_petrovich писал(а) 02. Марта 2012 :: 15:11:
а можно ли с помощью 1sqlite обращаться к остаткам после ТА, будут ли они правдоподобны?

таких остатков как бы нет.(аналогия что такое корень квадратный от -5 на множестве действительных чисел)
ТА это ссылка на последний период.
Если Вам нужны какие-то другие абстракции,понятия - то Вы их должны сами разработать и воплотить.На 1с sql базе это вполне реально
  
Наверх
 
IP записан
 
varelchik
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 788
Зарегистрирован: 22. Мая 2006
Re: 1sqlite и DBF почему разные итоги
Ответ #13 - 03. Марта 2012 :: 06:38
Печать  
k_petrovich писал(а) 02. Марта 2012 :: 15:11:
а можно ли с помощью 1sqlite обращаться к остаткам после ТА, будут ли они правдоподобны?


Ты вообще-то сам подумал что написал?
  
Наверх
 
IP записан
 
pvase
God Member
*****
Отсутствует



Сообщений: 923
Местоположение: Киев
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1sqlite и DBF почему разные итоги
Ответ #14 - 03. Марта 2012 :: 09:21
Печать  
k_petrovich писал(а) 02. Марта 2012 :: 15:11:
а можно ли с помощью 1sqlite обращаться к остаткам после ТА, будут ли они правдоподобны?


Теоретически можно, но при этом должны быть проведенные документы в будущем (после ТА), а это значит, что или все документы проводятся "задним числом" или же может появиться проблема с размещением документа после ТА когда есть промежуточные документы, которые находятся после границы ТА и была попытка провести новый документ не сразу после ТА а через пару документов (это конечно можно программно решить, если база SQL).

Для обращение к данным после ТА надо самому писать запрос, а не использовать виртуальные таблицы 1csqllite. Надо брать остатки не на текущий месяц (месяц ТА), а на месяц назад и суммировать все движения за тек месяц + после ТА.
Например: ТА = 02.03.2012, есть проведенные документы включительно аж до 31.03.2012, в этом случае остатки по таблице RG надо посчитать на 01.02.2012 и сделать join с таблицей RA по всем документам за период 01.03.2012 - 31.03.2012.
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать