![]() |
![]() |
![]() |
|
Измерения регистра накопления | ☑ | ||
---|---|---|---|---|
0
trv5
09.10.13
✎
18:02
|
Уточню сразу, база досталась в наследство от другого программера...
Этот нехороший человек решил использовать в регистре накопления (реквизит "ЕдиницаИзмерения"), в измерении составной тип данных, который состоит из типов "строка (длина 150 переменная)" и типа "справочник.Единицыизмерения.ссылка". В результате естественно в остатках регистра есть записи у которых идентичные строковые значения реквизита "ЕдиницаИзмерения", при этом запрос выдает остатки двумя строками. То есть, получается 2 одинаковых строки. При попытке "закрыть" остатки по регистру документом Корриктировка движений (просто заполняем - он делает записи в регистр, никаких расчетов) происходит следующее: 1. Естественно ничего не закрывается. 2. Самое интересное. При выполнении запроса на любую!!!! дату (и даже на 01.01.0001 0:00:01) в регистре появляются остатки!!!! для данных измерений!!!! Какие будут мысли? |
|||
1
bugz2003
09.10.13
✎
18:06
|
2.пересчет итогов сделай
|
|||
2
Fragster
модератор
09.10.13
✎
18:06
|
база файловая? ТиИ не пробовали?
|
|||
3
trv5
09.10.13
✎
18:07
|
(1) делал, и тестирование полное делал... не помогает..
Провел документ Корриктировка движений - остатки на непонятно когда появились, отменил проведение - пропали... |
|||
4
Rie
09.10.13
✎
18:08
|
(3) Ну так и смотри, что за косяк в этом документе.
|
|||
5
trv5
09.10.13
✎
18:16
|
(2) и в файловой и в SQL ситуация одинаковая
|
|||
6
trv5
09.10.13
✎
18:16
|
(4) косяка в документе нет.
Там все просто, РУКАМИ выбираем нужные измерения, нажимаем провести, делаем запись в регистр |
|||
7
Enders
09.10.13
✎
18:31
|
(6) ну посмотри, какие движения он сделал в регистре.
(0) после закрытия остатков, этот РН больше не будет использоваться? |
|||
8
trv5
09.10.13
✎
18:35
|
(7) сделано одно движение, период 31.12.2012 23:59:59, заполнены измерения, суммы, вид движения "расход". ВСЕ, больше никаких движений нет.
А запрос выдает что есть остатки по этим измерениям на любую дату... |
|||
9
Rie
09.10.13
✎
18:41
|
(8) На какую "любую"?
|
|||
10
trv5
09.10.13
✎
18:42
|
(9) читай (0)
2. Самое интересное. При выполнении запроса на любую!!!! дату (и даже на 01.01.0001 0:00:01) в регистре появляются остатки!!!! для данных измерений!!!! |
|||
11
Enders
09.10.13
✎
18:43
|
(8)а сам запрос то правильный?)
Посмотрите какой регистратор у тех остатков) |
|||
12
Rie
09.10.13
✎
18:43
|
(10) Запрос покажи.
|
|||
13
trv5
09.10.13
✎
18:44
|
(12) ВЫБРАТЬ
РасшифровкаЗатратОстаткиИОбороты.СчетЗатрат, РасшифровкаЗатратОстаткиИОбороты.Субконто1, РасшифровкаЗатратОстаткиИОбороты.Субконто2, РасшифровкаЗатратОстаткиИОбороты.Субконто3, РасшифровкаЗатратОстаткиИОбороты.Номенклатура, РасшифровкаЗатратОстаткиИОбороты.Ед, РасшифровкаЗатратОстаткиИОбороты.КоличествоНачальныйОстаток, РасшифровкаЗатратОстаткиИОбороты.КоличествоКонечныйОстаток, РасшифровкаЗатратОстаткиИОбороты.СуммаНачальныйОстаток, РасшифровкаЗатратОстаткиИОбороты.СуммаКонечныйОстаток ИЗ РегистрНакопления.РасшифровкаЗатрат.ОстаткиИОбороты(&НачДата, &НачДата, , , ) КАК РасшифровкаЗатратОстаткиИОбороты НачДата= 01.01.0001 0:00:01 Через консоль запросов строится... |
|||
14
Rie
09.10.13
✎
18:49
|
(13) А на _другую_ дату - что выдаёт?
|
|||
15
trv5
09.10.13
✎
18:52
|
(14) вплоть до даты 31.12.2009 ТОЖЕ САМОЕ
в 2010 году работать начали в базе, данные естественно начинают меняться |
|||
16
Enders
09.10.13
✎
18:52
|
(13)Выбери периодичность "регистратор" и вытащи его в запрос.
Увидишь какой документ сделал эти движения. |
|||
17
Rie
09.10.13
✎
18:54
|
(15) Чудес не бывает. Загляни в регистр - есть ли там записи до 31.12.2009.
|
|||
18
trv5
09.10.13
✎
18:55
|
(16) делал, поле регистратор ПУСТОЕ
|
|||
19
trv5
09.10.13
✎
18:56
|
(17) первым делом заглядывал... еще днем... НЕТУ
|
|||
20
trv5
09.10.13
✎
18:57
|
Нужно убегать.... смогу ответить завтра...
|
|||
21
trv5
10.10.13
✎
11:35
|
проблема так и не решена ((((
Может еще у кого будут мысли??? |
|||
22
Fragster
модератор
10.10.13
✎
11:39
|
ну так убери все "строки" в имеющихся движениях (без корректировки) и после этого сделай тип несоставным, что
|
|||
23
trv5
10.10.13
✎
11:54
|
(22) проблема в том, что убрать все строки нельзя...
На основании данного регистра считается себестоимость продукции, а цикл производства больше года. Проблема в том, что в регистре некорректно закрыты года 2010 - 2012. Вот я и пытаюсь их "почистить" чтобы можно было нормально работать на данный момент. Причем проблема возникает ТОЛЬКО при ситуации когда в измерении "ЕдиницаИзмерения" кто-то додумался (ну или случайно получилось) вбить единицы "Запчасти" и "Запчасти " (все типа строка), при этом значение остальных измерений идентичны. В любом другом случае (там 10-ки тысяч строк) все закрывается без проблем. А вот если сделать движение по данному набору измерений, и не важно по "Запчасти" или "Запчасти ", начинается бред. Мало того, что ничего не закрывается, так и еще остатки (при выполнении запроса через консоль) появляются НА ЛЮБУЮ дату!!! При этом если построить запрос на дату 01.01.0001 0:00:01, то есть уже остатки на начало дня!!!! А запрос с параметров в виде дата начала пустая не выполняется.. Я уже думаю.... может глюк в платформе.... |
|||
24
Fragster
модератор
10.10.13
✎
11:56
|
(23) почему нельзя-то? ну создай недостающие элементы справочников....
|
|||
25
trv5
10.10.13
✎
11:59
|
(24) хорошо, какой план действий должен быть приблизительно?
|
|||
26
Fragster
модератор
10.10.13
✎
12:06
|
(25)
создать новый регистр с правильной структурой перенести все данные в него (создав необходимые элементы справочников) переименовать старый и новый регистры грохнуть старый регистр |
|||
27
trv5
10.10.13
✎
12:09
|
(26) а что делать с документами? отчетами и тд?
|
|||
28
Fragster
модератор
10.10.13
✎
12:10
|
(27) поскольку новый регистр будет иметь такую же структуру и имя, как и старый - ничего не надо переделывать (ну, конечно, если вы перестали туда писать строки)
|
|||
29
trv5
10.10.13
✎
12:12
|
(28) а со строками что делать то? заменить на новый справочник куда их добавить?
Да и документы и отчеты об этом изменении не знают... Надо будет переделать все документы, как-то заменив в них реквизиты, и при этом чтобы ничего не порушить в остатках.. я правильно понимаю? |
|||
30
trv5
10.10.13
✎
12:13
|
(28) да и это не ответ на вопрос почему 1С так себя ведет?
|
|||
31
Fragster
модератор
10.10.13
✎
12:15
|
(29) строки заменить на элементы справочника единицы измерения.
ничего переделывать, если вы убрали запись "строк" в это измерение не надо |
|||
32
Fragster
модератор
10.10.13
✎
12:16
|
(30) выбрав из реальной таблицы записи и проанализироваав их - можно понять. Ну и есть еще в файловых базах нюансы со строками фиксированной и нефиксированной длины - плохо сворачиваются они.
|
|||
33
trv5
10.10.13
✎
12:22
|
(31) боюсь что бухгалтерии это не понравится мягко говоря...
Там чувак сделал чтобы велся учет в разрезе фактически примечаний (не знаю зачем!!!!) и там их скорее всего тысячи.. Мне проще свернуть все кроме этих "Запчасти", чем портить справочник единицы измерения. На базе SQL работает так же, проверял лично. |
|||
34
trv5
10.10.13
✎
13:01
|
(32) Жаль тут картинки вставлять нельзя. На инфостате тоже общаюсь, там скрин выложил где все четко видно..
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |