|
v7: Откуда в справочнике Лишние элементы и что с ними делать | ☑ | ||
---|---|---|---|---|
0
tmpnikl
15.01.13
✎
09:45
|
открыл справочник(формат DBF, поэтому не в 1С) ввел команду..
SELECT sp63 FROM xx GROUP BY 1, поле SP63 это перечисление, показало 10 записей, хотя в конфигураторе этого перечисления 9, установил фильтр этого перечисления на 0, поле ISFOLDER почему равно 2, хотя должно быть или 1 или 0, но всё равно это элементы справочника, а не группы, как такое могло произойти(не заполниться код перечисления) и что делать с этими записями... |
|||
1
cw014
15.01.13
✎
09:48
|
Бррр, вообще нифига не понял
1) показало 10 записей, хотя в конфигураторе этого перечисления 9 - и что? А справочников 10 так что нормально 2) как такое могло произойти(не заполниться код перечисления) - при пустом значении реквизита пустое поле, что тут не так? |
|||
2
Boroda
15.01.13
✎
09:49
|
Возможно 2 элемента справочника имеют одно и то же значение перечисления. :)
|
|||
3
Boroda
15.01.13
✎
09:54
|
Не знаю как в DBF, но в SQL ISFOLDER имеет значения 1 или 2.
|
|||
4
tmpnikl
15.01.13
✎
09:54
|
Нет справочник один, в нём есть поле, куда заносится код перечисления, которого 9 значений, но на самом деле в справочнике этих значений 10(сделана при выборке группировка), и записи поля с кодом этого перечисления=0, не являются группой...
|
|||
5
tmpnikl
15.01.13
✎
09:56
|
ISFOLDER
[BIT] Флаг определяющий - является ли элемент группой, или нет. 0 это элемент - 1 это группа.( http://web-team.narod.ru/art_005.html) |
|||
6
tmpnikl
15.01.13
✎
09:56
|
тем более, что у меня файл-серверный вариант.. не SQL
|
|||
7
tmpnikl
15.01.13
✎
09:59
|
да без разницы, у этих записей поле ISFOLDER=2, т.е. всё равно элемент, а не группа
|
|||
8
Ёпрст
15.01.13
✎
09:59
|
(5) Ошибаешься
Для групп это поле равно 1, для элементов - 2. и формат базы тут не имеет значения |
|||
9
КонецЦикла
15.01.13
✎
10:01
|
(0 Ищи ' 0 '
|
|||
10
Ёпрст
15.01.13
✎
10:02
|
а у тебя - просто пустое значение перечисления в поле и привет, т.е (9)
|
|||
11
Boroda
15.01.13
✎
10:06
|
Сделай Select по всем полям этого справочника с выводом в тз и увидишь что к чему. Записей то всего 10 :)
Запрос.ВыполнитьИнструкцию(ТекстЗапроса,тз); тз.Показать(); |
|||
12
cw014
15.01.13
✎
10:09
|
Походу ТП думает, что если перечислений 9 штук, то и элементов в справочнике должно быть 9 штук
|
|||
13
cw014
15.01.13
✎
10:10
|
(0)GROUP BY 1 - это ты так группировку сделал?
|
|||
14
tmpnikl
15.01.13
✎
10:17
|
Да, так можно делать группировку..
я сделал SET FILTER TO AT("0",sp63)>0 в таблице справочники, и оно показало 57 штук этих записей в таблице с кодом перечисления=0(и эти записи не являются группой...(isfolder<>1)), и что с нми делать я не знаю... |
|||
15
Boroda
15.01.13
✎
10:18
|
(13) Повезло что элемент с пустым значением оказался! А то получил бы 9 записей (как и предполагал) и ТС продолжал бы искать ошибку в другом месте. :)
|
|||
16
cw014
15.01.13
✎
10:19
|
(14) Ну коль не знаешь, тогда ничего не делай
|
|||
17
ЧеловекДуши
15.01.13
✎
10:22
|
Лишний походу только автор...
И вообще откуда в БД всегда появляются лишние справочники, документы, пользователи и другие волшебные метаданные :) |
|||
18
cw014
15.01.13
✎
10:25
|
(17) Так самое лишнее в конфигурации - ветка, под названием "конфигурация"
|
|||
19
Ёпрст
15.01.13
✎
10:28
|
(14) Ничего не делать.
Для начала, не стоить лазить в таблички, не ознакомившись со структурой хранения. |
|||
20
Ёпрст
15.01.13
✎
10:29
|
а так, в реквизит не заполнен в справочнике и привет.
|
|||
21
tmpnikl
15.01.13
✎
10:32
|
Код перечисления я этим записям(у которых нет этого кода(пустой)) проставлю через 1С, вопрос в другом, как могло это произойти, чтоб не допустить этого в будущем...
|
|||
22
Boroda
15.01.13
✎
10:33
|
(14) В 1С есть очень хорошая процедура:
НайтиСсылки(<Объекты>,<Ссылки>) Раз уж получилось выбрать элементы создай из них список занчений, подсунь в эту процедуру и порсмотри ссылки. Если ссылок нет, то можно и удалить их следующейтоже очень удобной процедурой: УдалитьОбъекты(<Объекты>,<Проверять>,<Ссылки>) Но все это делать после того как сказано в (19) |
|||
23
Ёпрст
15.01.13
✎
10:35
|
(21) Болеешь ?
Тупо в справочнике не заполнили реквизит и всё. Нахрена ты вообще в таблички полез ? |
|||
24
cw014
15.01.13
✎
10:44
|
(23) Я так думаю у ТП мало проблем, вот и пытается их себе создать
|
|||
25
tmpnikl
15.01.13
✎
10:49
|
я в этих таблицах ничего не менял, и что.. просматривать DBF файлы запрещено что ли.. В отчёте не выводятся записи с определённым кодом перечисления, в 1с есть наверное свои методики разбора ситуации, для меня легче открыть таблицу DBF каким-нибудь вьювером и вначале посмотреть есть ли записи с таким кодом...
Но это наверное разрешено только небожителям..:-) |
|||
26
cw014
15.01.13
✎
10:50
|
(25) Ты определись, что ты вообще хочешь увидеть... Код перечисления - это у тебя что?
|
|||
27
1Сергей
15.01.13
✎
10:50
|
(25) иди в гинекологи лучше
|
|||
28
Boroda
15.01.13
✎
10:56
|
(21) Посмотри в журнале регистрации один из элементов справочника. Если там нет данных, то вероятнее всего, есть некая обработка по формированию документов или чего то еще, в котором реквизитом является этот справочник. Попробуй создать вручную еще один элемент справочника. Если ругается что не заполнено поле с перечислением, то однозначно создается где-то программно.
|
|||
29
tmpnikl
15.01.13
✎
10:58
|
Код перечисления это в конфигураторе уволен принят переведён и т.д., а в таблице 49, 49А и т.д., что тут нельзя наложить фильтр по полю SC63, и вначале посмотреть есть записи с кодом 49... или что этого нельзя делать?
|
|||
30
cw014
15.01.13
✎
11:01
|
(29) Что ты хочешь найти, определись...
|
|||
31
tmpnikl
15.01.13
✎
11:03
|
> иди в гинекологи лучше
Когда люди кичаться своими знаниями, умением, деньгами и т.д... мне бы не хотелось бы опускаться до этого... Спасибо за информацию... |
|||
32
1Сергей
15.01.13
✎
11:03
|
(31) просто ты идёшь по наиболее сложному пути
|
|||
33
Boroda
15.01.13
✎
11:07
|
(29) Прямыми запросами возможно все! :)
Сперва нужно пределить что за перечисление с кодом 49. Например это "уволен". Тогда просто накладывай филтьр по данному условию, типа этого: "WHERE SP63 =:СостУволен", Ну а СостУволен определи через "УстановитьТекстовыйПараметр" |
|||
34
cw014
15.01.13
✎
11:12
|
(31) Давай разберемся в ТЗ. У тебя отчет, в котором не выводятся некоторые элементы справочника, у которых определенный реквизит с типом "перечисление. Определи, какие именно элементы не выводятся, то есть какое значение перечисления не попадает в отчет. Судя по "воде", которую ты тут льешь - в отчет не попадают элементы, у которых не заполнен этот реквизит (то есть он пуст (С) КЭП). Теперь ты хочешь определить, как так получилось, что у этих элементов не заполнены значения? Тут два варианта, первый: если элементы создавались обработкой, тогда в обработке косяк, который не проставляет этот реквизит; второй: руками, тогда косяк в том, кто это заводил. Скорее всего ты найдешь этого человека, он скажет "а программа дала так ввести", тут ты и поймешь, что косяк еще в коде при записи элемента справочника... То есть во внутреннюю структуру лезть вообще не нужно... Все, телепатия кончилась на сегодня
|
|||
35
tmpnikl
15.01.13
✎
11:23
|
Да, мне надо разобраться в чём причина осутствия заисей в отчёте...(в 1С я ещё плохо ориентируюсь и поэтому пользуюсь VFP9) первое что увидел в таблице записи с 0(поэтому сразу возник вопрос), я их уже удалил, чтоб не мещали разбираться дальше, теперь удаляю записи с кодом не равным 49(делаю reindex на всякий случай), т.е. остались записи которые должны попасть в отчёт, теперь иду в конфигуратор и разбираюсь с этой отработкой выясняю, почему не выводятся записи...может это по дурацкому, но конфа не моя и мне так понятней...
Спасибо...я уже близок к цели..:-) |
|||
36
Ёпрст
15.01.13
✎
11:24
|
(35)
>>> я их уже удалил, п...ц Накуя ? |
|||
37
Ёпрст
15.01.13
✎
11:25
|
Ты уже близок к увольнению, это как минимум
|
|||
38
cw014
15.01.13
✎
11:25
|
(37) +1
(35) А ты экстремал, как я посмотрю |
|||
39
cw014
15.01.13
✎
11:26
|
(35) + конечно, когда отчет в 1С не работает, первым делом лезем в DBF и удаляем там все, что бы не мешало разбираться
|
|||
40
1Сергей
15.01.13
✎
11:26
|
про бэкапы не говорили ещё?
|
|||
41
Mikeware
15.01.13
✎
11:26
|
(37) рано. еще надо заслужить вазелин...
|
|||
42
Ёпрст
15.01.13
✎
11:27
|
А ничего, что ты забил болт на ссылочную целостность ИБ, и теперь, если у некоторого объекта ИБ была ссылка на тот элемент справочника, который ты удалил - будет "битая" ссылка ?
Уволят тебя за такую самодеятельность. Закрой свой дбф вьювер, верни всё как было и позови кого нибудь из взрослых. |
|||
43
tmpnikl
15.01.13
✎
11:31
|
Я не делаю это на рабочих таблицах, это всё делается на отдельном диске выясняется ошибка. а потом исправляется в основной конф...
|
|||
44
Mikeware
15.01.13
✎
11:32
|
(43) Ошибка - она совершенно в другом месте...
|
|||
45
Ёпрст
15.01.13
✎
11:33
|
Можно еще попробовать угадать дату выпуска изделия - 86г.
|
|||
46
kimba
15.01.13
✎
12:05
|
(39) Я вообще все время так делаю, даже в 8ке :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |