![]() |
![]() |
|
Сводный остаток, проблема с итогами? | ☑ | ||
---|---|---|---|---|
0
WebInc
05.09.05
✎
03:10
|
Такой глюк отловил, остаток в регистре ОстаткиТоваров для некоторых позиций неверный. Причем запрос выбирает правильный остаток а метод Остаток или СводныйОстаток нет! Правильный методы выдают только на ТА и на КонецПериода. В чем может быть глюк? И как его можно исправить?
Конфа самописная от ТиС,1С 7.7, релиз платформы 23 |
|||
1
Simod
05.09.05
✎
07:47
|
(0) Может быть неправильно используешь методы Остаток() или СводныйОстаток(), фильры там какие или измерения. Возможно имеет смысл пересчитать итоги в режиме Тестирование и исправление ИБ.
|
|||
2
WebInc
05.09.05
✎
07:58
|
(1) Правильно, пересчитывал итоги и перепроводил месяц, один фиг.
Фильтры нормально использую. На ТА и конец периода он же корректные данные выдает! |
|||
3
Simod
05.09.05
✎
08:00
|
(2) Кинь код запроса и методов Остаток(), СводныйОстаток().
|
|||
4
WebInc
05.09.05
✎
08:45
|
ТекстЗапроса="
|ПЕРИОД С ДатаФормир По ДатаФормир; |Товар=Регистр.ПартииТоваров.Товар; |Фирма=Регистр.ПартииТоваров.Фирма; |Склад=Регистр.ПартииТоваров.Склад; |КодОперации=Регистр.ПартииТоваров.КодОперации; |ТипУчета=Регистр.ПартииТоваров.ТипУчета; |Статус=Регистр.ПартииТоваров.Статус; |ОстатокТовара=Регистр.ПартииТоваров.ОстатокТовара; |СрокГодности=Регистр.ПартииТоваров.СрокГодности; |Стоимость=Регистр.ПартииТоваров.Стоимость; |НДС=Регистр.ПартииТоваров.НДС; |Функция КонОстатокТовара=КонОст(ОстатокТовара); |Функция КонСтоимость=КонОст(Стоимость); |Функция КонНДС=КонОст(НДС); |Условие (ТипУчета=ТУ); |Условие (ОстатокТовара>0); |Группировка Склад; |Группировка Статус; |Группировка Товар Без групп Упорядочить По Товар.Код;"; Если Релиз="14" ТОгда ТекстЗапроса=ТекстЗапроса+"Условие (Фирма=ВыбФирма);"; Иначе ТекстЗапроса = ТекстЗапроса + "Условие (Сравнить(Фирма,ВыбФирма)=1);"; КонецЕсли; Если ВыбСклад.Выбран() = 0 Тогда Иначе ТекстЗапроса = ТекстЗапроса + "Условие (Склад = ВыбСклад);"; КонецЕсли; Если ВыбТовар.Выбран()=0 Тогда ИначеЕсли ВыбТовар.ЭтоГруппа()=1 Тогда ТекстЗапроса=ТекстЗапроса+"Условие(Товар.ПринадлежитГруппе(ВыбТовар)=1);"; Иначе ТекстЗапроса=ТекстЗапроса+"Условие(Товар=ВыбТовар);"; КонецЕсли; Методы!!! Рег=СоздатьОбъект("Регистр.ОстаткиТоваров"); Рег.ВременныйРасчет(); РассчитатьРегистрыНА(ДатаОтчета); //Цикл по группировкам Запроса Рег.СводныеОстатки(Запрос.Товар,Запрос.Склад,Запрос.Фирма); КонОст1=Рег.ОстатокТовара; |
|||
5
Simod
05.09.05
✎
08:54
|
(4) Во первых, почему в тексте запроса "ПартииТоваров", а в Методах "ОстаткиТоваров"?
Второе, используешь РассчитатьРегистрыНА(), а в запросе используешь КонОст(). Что касается |Условие (ОстатокТовара>0); - это что? и остальных условий, то довольно мутно. Возможно имеет смысл во использовать "в" (почитай ЖКК или СП). |
|||
6
inka
05.09.05
✎
09:42
|
Может перед вызовом методов "Остаток" или "СводныйОстаток" стоит фильтр? Внимательно проверьте.
|
|||
7
ТЕА
05.09.05
✎
10:04
|
>для некоторых позиций неверный
Следует ли понимать, интересно, что для некоторых позиций остаток все же верный? и чем они отличаются друг от друга? и вот еще интересно - на начало всего периода работы остатки как? |
|||
8
WebInc
05.09.05
✎
10:16
|
(7) Именно
> Следует ли понимать, интересно, что для некоторых позиций остаток все же >верный? и чем они отличаются друг от друга? На начало периода, неправильно а на конец верные. (4) Как думаешь остаток по партиям и остаток по Остатком должен быть разным? Нет конечно. Проверка идет на равенство количества по Партиям и по ОстаткиТовара |
|||
9
ТЕА
05.09.05
✎
10:19
|
то есть есть дата, когда ты заносил первые остатки, допустим, 31 декабря; на конец 31 декабря все правильно по ВСЕМ позициям; на начало 1 января - по НЕКОТОРЫМ позициям есть разница? и суммы этих разниц не навевают никаких мыслей?
|
|||
10
ТЕА
05.09.05
✎
10:20
|
+9 то есть прошу проверить именно на Дата_Ввода_Остатков и на (Дата_Ввода_Остатков+1)
|
|||
11
WebInc
05.09.05
✎
10:20
|
Даже если использовать ВыгрузитьИтоги в ТЗ результат тот же
|
|||
12
ТЕА
05.09.05
✎
10:23
|
код товара уникальный?
|
|||
13
ТЕА
05.09.05
✎
10:26
|
|Условие (ТипУчета=ТУ);
здесь могут быть грабли, попробуй это условие покрутить. |
|||
14
WebInc
05.09.05
✎
10:27
|
(12) Это то тут при чем?
|
|||
15
WebInc
05.09.05
✎
10:29
|
(13) Да запрос то все корректно выводит!
Метод регистра остатка глючит |
|||
16
WebInc
05.09.05
✎
10:30
|
(6) Нету никаких фильтров
|
|||
17
Simod
05.09.05
✎
10:31
|
(8) Если конфа переделанная ТиС, то там по регистру "ПартииНаличие" ведется учет партий ТМЦ в разрезе МОЛ, а по регистру "ОстаткиТМЦ" остатки ТМЦ в разрезе Склад. Контроль остатка осуществлялся только по регистру "ОстаткиТМЦ", по "ПартииНаличие" контроль не велся. Как у вас там сейчас незнаю, но это могло приводить к расхождению остатков, особенно если корректировали процедуры проведения.
Что касается КонОст() и РассчитатьРегистрыНа(): КонОст() = РассчитатьРегистрыНа() + Приход - Расход при условии ДатаОтчета = ДатаФормир. По некоторым позициям может быть совпадение, если Приход и Расход = 0. |
|||
18
WebInc
05.09.05
✎
10:36
|
(8) Расхождение по учету исключено, учет и там и там в разрезе складов.
В этом дне нет ни прихода ни расхода. глюк наблюдается только для НЕКОТОРЫХ позиций!! |
|||
19
ТЕА
05.09.05
✎
10:58
|
(12,14) ну если запрос все делает правильно, то тогда конечно. Хотя я подумала, что
>Даже если использовать ВыгрузитьИтоги в ТЗ результат тот же неправильные итоги выгрузились. Возможно, по фирме траблы - в запросе вроде группировки по фирме нет, м.б. где-то есть неуказанная или другая. И еще раз прошу проверить на ПЕРВЫЙ, второй и еще пару дней ПОСЛЕ ВВОДА ОСТАТКОВ. |
|||
20
WebInc
05.09.05
✎
11:12
|
(19) С остатками на первы и тд. день все нормально, косяк начался для одной конкретной позиции с 01.09.05 т.е. на 31.08 все норм, и на 30.08 тоже, а на 01.09 остаток = 1 :(
|
|||
21
ТЕА
05.09.05
✎
11:18
|
(20)
то есть в дальнейшем по другим позициям тоже косяки начались? или ТОЛЬКО ОДНА позиция гонит? ну таки это все же где-то нераспределенка либо скорей фирма (или другой какой реквизит) не указано. вопще подозрительно, что на 1-е число. Поставь ТА на 30-е, погоняй проведение ручками пары документов из 30-го. Потом перенеси ТА на ну скажем 3-е сентября. Пошуршит остатками, может, одумается. Возьми разницу (Правильный_Хвостик_31_августа - 1) и поищи в документах 31-го такое количество. |
|||
22
WebInc
06.09.05
✎
02:51
|
(21) косяки, повторяю, по НЕСКОЛЬКИМ позициям. Перепроводил все документы с начала предидущего месяца. Переносил ТА с начала года на тек дату. Все бестолку.
Запрос по регистру Остатки товара. Выдает корректные данные. Не могло быть такого расхода 30 000 шт. И нету его, проверял. |
|||
23
raykom
06.09.05
✎
03:21
|
А расчитать НА и По не вникал ?
|
|||
24
raykom
06.09.05
✎
03:32
|
(4)ПЕРИОД С ДатаФормир По ДатаФормир;
Это включая все события в ДатаФормир, а значит Расчитать ПО |
|||
25
WebInc
07.09.05
✎
02:41
|
(24) не может там быть остатка = 1
Я подозреваю что проблема в таблицах с итогами, мне интересно как это можно исправить. Перепроведением и пересчетом итогов не получилось. |
|||
26
Морозов Александр
07.09.05
✎
04:37
|
Наверно если никак не получается исправить косяк в итогах, надо выгрузить данные, создать новую базу и загрузить в нее данные.
|
|||
27
WebInc
07.09.05
✎
05:24
|
(26) Попробую, я над этим тоже думал.
|
|||
28
427
07.09.05
✎
05:49
|
а кто сказал, что это косяк 1С, а не рук делающего?
|
|||
29
WebInc
07.09.05
✎
06:06
|
(28) Ага значит грабли в мой огород
Где косяк в этом коде? Рег=СоздатьОбъект("Регистр.ОстаткиТоваров"); Рег.УстановитьЗначениеФильтра("Товар",выбТовар,1); Рег.УстановитьЗначениеФильтра("Склад",выбСклад,1); Рег.УстановитьЗначениеФильтра("Фирма",выбФирма,1); Рег.ВременныйРасчет(); РассчитатьРегистрыНА(выбДата); тз = СоздатьОбъект("ТаблицаЗначений"); Рег.ВыгрузитьИтоги(тз,1,1); тз.ВыбратьСтроку(); Структура регистра ОстаткиТоваров Измерения: Товар Склад Фирма Ресурсы ОстатокТовара |
|||
30
Guk
07.09.05
✎
06:19
|
(0) Ключевая фраза "Конфа самописная от ТиС,1С 7.7". Что там у тебя может быть, одному богу известно...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |