Имя: Пароль:
1C
1C 7.7
v7: Барабашки с подчиненными документами [решено]
0 dk
 
14.12.16
17:14
База 1с 77 SQL 2000
Заметили что часть документов не находится в штатной структуре подчиненности
Т.е. должно быть 7 подчиненных документов, а показывается 6
В ненайденном документе есть ссылка документоснование, т.е. он должен отображаться в подчиненных
-------------
переиндексировал _1SCRDOC
запрос по _1SCRDOC возвращает все 7 документов, а 1с показывает только 6 - смотрю в общем журнале выбираю главный док, правой кнопкой мыши подчиненные документы
-------
пытался профайлером поймать как 1с формирует журнал подчиненных документов - что-то ничего не поймал с _1SCRDOC
1 пипец
 
14.12.16
17:17
дата документа которая не появляется?
ЗЫ ТиИ ?
2 dk
 
14.12.16
17:18
все подчиненные документы в одной дате (текущей)
3 dk
 
14.12.16
17:18
ТиИ это крайняя мера, база шибко большая
4 Масянька
 
14.12.16
17:18
(0) А в конфе - по кнопке "Ввод на основании" тот док-т, который не отображается есть?
5 trdm
 
14.12.16
17:23
В этой обработке есть защита от зацикливания, может она глючит.
6 dk
 
14.12.16
17:23
[CODE]
SELECT TOP 100 Отбор.MDID ВидОтбора
    , Отбор.PARENTVAL [ЗначениеОтбора $Неопределенный]
    , Отбор.PARENTVAL _1
    , Отбор.CHILD_DATE_TIME_IDDOC ПодчДатаВремяИдДок
    , Отбор.CHILDID [Документ_подч $Документ]
    , NullIf(Cast(Left(Отбор.CHILD_DATE_TIME_IDDOC, 8) AS datetime), '17530101') Документ_дата
    , Журнал.IDDOC [Документ $Документ]
    , Журнал.IDDOCDEF [Документ_вид $ВидДокументаПредставление]
FROM _1SCRDOC AS Отбор With (NOLOCK)
INNER JOIN _1SJOURN AS Журнал With (NOLOCK) ON Журнал.IDDOC = Отбор.CHILDID
WHERE SUBSTRING(Отбор.PARENTVAL,7,9) = ' A0URZRAD'
[/CODE]
7 trdm
 
14.12.16
17:24
В любом случае отладчик.
8 dk
 
14.12.16
17:26
http://savepic.net/8660109.png
http://savepic.net/8666253.png
нет приходной ТБ-0021267
9 dk
 
14.12.16
17:27
(7) какой отладчик в действия - подчиненные документы?
10 trdm
 
14.12.16
17:29
(9) > Заметили что часть документов не находится в штатной структуре подчиненности
Думал обработка. "Обработка.ДеревоДокументов".
11 dk
 
14.12.16
17:29
решение есть - просто перезаписать документ основание в приходной, но хочется понять в чем проблема и может есть еще такие косяки
12 dk
 
14.12.16
17:30
(10) дерево нормально работает
а вот выбратьподчиненныедокументы косячит
13 trdm
 
14.12.16
17:30
(9) То что ты показал называется "Журнал подчиненных документов".
14 dk
 
14.12.16
17:35
(4) Есть
15 trdm
 
14.12.16
17:38
Внутренние механизмы платформы.
Те данные в которых глюк юзером/прогом не обрабатываются. Тут нужен мегагуру с дизасемблером на перевес.
16 dk
 
14.12.16
17:43
Странно что профайлером запрос не поймался
17 dk
 
14.12.16
17:47
в конфе гибкие блокировки от софтпоинта и куча внешних компонентов
18 Ёпрст
 
гуру
14.12.16
17:53
(8) выбери все поля в _1SCRDOC и посмотри, че там не так
19 Ёпрст
 
гуру
14.12.16
17:56
так то,_1SCRDOC можно пересоздать через ТиИ, причем быстро, выкинув все таблички регистров. Не помню какая там галка, вроде пересчет служ данных создаёт её. На копии создашь, потом импортом перенесёшь в рабочую
20 dk
 
14.12.16
19:18
http://savepic.net/8715416.png
----
дык проблема в том что в црцдоке все хорошо
21 Ёпрст
 
гуру
14.12.16
19:31
(20) посмотри date_time_iddoc по iddoc своего документа из_1crdoc, совпадает ли он с CHILD_DATE_TIME_IDDOC ?
22 Ёпрст
 
гуру
14.12.16
19:32
в _1sjourn ?
23 Ёпрст
 
гуру
14.12.16
19:33
может быть косяк из-зв 23:59:59
24 Ёпрст
 
гуру
14.12.16
19:35
iddoc будет один, а вот датетаймиддок разный, такое очень часто из-за (23) в _1soper и _1sentry к примеру, когда не может кучку доков в 1 секунду налепить
25 Ёпрст
 
гуру
14.12.16
19:35
будет разница с _1sjourn
26 Ёпрст
 
гуру
14.12.16
19:38
вот в этой штуке, вроде есть проверка на это
http://www.1cpp.ru/forum/YaBB.pl?num=1228926967/
27 Ёпрст
 
гуру
14.12.16
19:38
не помню :(
28 Ёпрст
 
гуру
14.12.16
19:39
29 dk
 
14.12.16
19:47
(21) спасибо тебе - есть расхождение
http://savepic.net/8659101.png
30 Djelf
 
гуру
15.12.16
00:25
(26) о! Как то не заметил ;(
*Ушел переписывать на sqlite*
P.S. 2 косяка уже нашел ;)
31 Злопчинский
 
15.12.16
01:11
(20) а это что за такая красивенькая консоль запросов?
32 Это_mike
 
15.12.16
07:51
(31) Это И.Берездецкого.
но на мой взгляд, 1CQA удобнее.
33 dk
 
15.12.16
07:56
34 Это_mike
 
15.12.16
07:57
(33)
Функция  глВыбратьПодчиненные(ДокОснование,ВидПодчДокумента="", НачДата="",КонДата="", флПроведенные="") Экспорт
        ТекстЗапроса="
    |SELECT
    |    distinct
    |    Жур.IDDoc [Док $Документ],
    |    Жур.IDDocDef Док_вид
    |FROM
    |    _1SJourn Жур (nolock)
    |INNER JOIN
    |    _1SCRDOC Отбор ON Отбор.ChildID = Жур.IDDoc AND
    |                      Отбор. MDID = 0 AND
    |                    Отбор.ParentVal = :ВыбОснование* ";
    Если ПустоеЗначение(НачДата)=0 Тогда
        ТекстЗапроса=ТекстЗапроса+"
    |                    AND  Отбор.Child_Date_Time_IDDoc >:НачДата ";
    КонецЕсли;
    Если ПустоеЗначение(КонДата)=0 Тогда
        ТекстЗапроса=ТекстЗапроса+"
    |                    AND  Отбор.Child_Date_Time_IDDoc < :КонДата~";
    КонецЕсли;
ТекстЗапроса=ТекстЗапроса+"
    |where  Жур.ismark=0";
    Если ПустоеЗначение(флПроведенные)=0 Тогда
        ТекстЗапроса=ТекстЗапроса+"
        |    and Жур.closed&1=:Проведенные";
    КонецЕсли;
    Если ПустоеЗначение(ВидПодчДокумента)=0 Тогда
    ТекстЗапроса=ТекстЗапроса+"
    |    and Жур.IDDocDef=$ВидДокумента."+ВидПодчДокумента;
    КонецЕсли;
    ТекстЗапроса=ТекстЗапроса+"    
    |order by Жур.iddoc
    |";
    рс=СоздатьОбъект("ODBCRecordset");
    Если ПустоеЗначение(НачДата)=0 Тогда
        рс.УстановитьТекстовыйПараметр("НачДата", НачДата);
    КонецЕсли;
    Если ПустоеЗначение(КонДата)=0 Тогда
        рс.УстановитьТекстовыйПараметр("КонДата",КонДата);
    КонецЕсли;
    рс.УстановитьТекстовыйПараметр("ВыбОснование",ДокОснование);
    Если ПустоеЗначение(флПроведенные)=0 Тогда
        рс.УстановитьТекстовыйПараметр("Проведенные",флПроведенные);
    КонецЕсли;
    результат=рс.ВыполнитьИнструкцию(текстЗапроса);
    Возврат результат;
КонецФункции // глВыбратьПодчиненные
35 Ёпрст
 
гуру
15.12.16
09:19
(32) есть такое, я 1sqa под себя перепилил, чтоб во всех версиях работала и норм.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.