Имя: Пароль:
1C
 
Флаг проведения документа
0 тишина
 
20.11.08
17:06
собственно вопрос, а как его достать? в описаниях таблиц говорится, что это поле CLOSED в таблице журнала 1SJOURN, а там стоят цифры 4 или 5, при чем независимо от того, проведен документ или нет, как же, вся-таки, определяется признак проведения документа?
1 ТелепатБот
 
гуру
20.11.08
17:06
2 Ёпрст
 
гуру
20.11.08
17:14
"Так как первый бит его отвечает за то, проведен документ или нет, соответственно, сделав унарное умножение с 1, получим результат в виде 1 - проведен, 0 - непроведен. "

©http://www.script-coding.info/v77tables.html#1.2.4.
3 тишина
 
20.11.08
17:17
я выполняла такой запрос, возвращается пустой набор записей
4 Ёпрст
 
гуру
20.11.08
17:19
код в студию
5 тишина
 
21.11.08
09:31
<b>SELECT DOCNO FROM DH37642 As Tab1 INNER JOIN 1SJOURN As TabJ ON (Tab1.IDDOC = TabJ.IDDOC) WHERE TabJ.CLOSED&1 = 1;</b>
6 тишина
 
21.11.08
09:31
просвятите, пжл-ста, как код выделять о_О
7 тишина
 
21.11.08
09:34
(3) кстати, если сделать условие "WHERE TabJ.CLOSED = 5;", то документы в наборе записей есть, то есть подключение к базе и выполнение запроса проходит успешно
8 чувак
 
21.11.08
09:38
А что мешает узнать из самоо объекта документа? Там же есть метод Проведен()
9 тишина
 
21.11.08
09:45
мне нужно разобраться с проведением прямым запросом, это для загрузки из внешней базы, чтобы можно было снимать признак проведения
10 чувак
 
21.11.08
09:47
(9) Еслт твоя внешная база тоже семерка, тогда не парься, а используй ОЛЕ
11 ДенисЧ
 
21.11.08
09:48
А это на какой компоненте closed=5 ?
12 Злой Бобр
 
21.11.08
09:50
(9) "прямым запросом" - что используешь, 1срр или SQL? В зависимости от этого и код строится.
13 Ёпрст
 
гуру
21.11.08
09:51
(5)  у вас DBF что ли ? :)
14 Ёпрст
 
гуру
21.11.08
09:52
(11) на комплексной, к примеру.
15 тишина
 
21.11.08
10:01
внешняя база не 1с, писать хранимые процедуры буду не я, моя задача разобраться, что как и откуда доставать и куда ложить, не важно DBF или нет, в скульных таблицах тоже самое
16 тишина
 
21.11.08
10:01
T-SQL
17 Ёпрст
 
гуру
21.11.08
10:04
(16)
А почему тогда пишешь 1SJOURN вместо _1SJOURN ???
И еще, лучше 1сpp использовать, там есть метапарсер имён, и не надо думать о именах таблиц...

а так, вот из  FAQ:    

       Если Константа.БазаSQL=0 Тогда
       // база DBF
       Проведен="and (Журнал.CLOSED%2=1)";
       Непроведен="and (Журнал.CLOSED%2=0 and Журнал.ISMARK='')";
       ПомеченНаУдаление="and (Журнал.ISMARK='*')";
       НеПомеченНаУдаление="and (Журнал.ISMARK='')";
       ...
   Иначе
       // база SQL
       Проведен="and (Журнал.CLOSED%2=1)";
       Непроведен="and (Журнал.CLOSED%2=0 and Журнал.ISMARK=0)";
       ПомеченНаУдаление="and (Журнал.ISMARK=1)";
       НеПомеченНаУдаление="and (Журнал.ISMARK=0)";
       ...
   КонецЕсли;
18 ДенисЧ
 
21.11.08
10:05
(14) комплексная компонента? Что-то новенькое :-)
19 dk
 
21.11.08
10:07
можно тупо
WHERE ((TabJ.closed=1)or(TabJ.closed=5))
20 ДенисЧ
 
21.11.08
10:08
(19) А почему не TabJ.Closed <> 0 ?
21 Ёпрст
 
гуру
21.11.08
10:10
(19) or(TabJ.closed=3)
22 Ёпрст
 
гуру
21.11.08
10:10
(20) TabJ.closed=4 может быть.
23 ДенисЧ
 
21.11.08
10:11
(22) и что это значит?
24 dk
 
21.11.08
10:11
(21) такого вроде не бывает в 1С
25 Ёпрст
 
гуру
21.11.08
10:13
(23,24) звиняйте... затупил в пятницу...:)
26 Ёпрст
 
гуру
21.11.08
10:16
+25 хотя нет, посмотрел.. Closed и 4 и 5 и 3 есть :)
27 тишина
 
21.11.08
10:18
ребята, не тупите, сказала же запрос рабочий, выборка при других условиях происходит, не надо мне советовать компоненты, у меня конкретный вопрос, не засоряйте тему
(16) "CLOSED%2=1" не работает, а вот ISMARK='*' ещё вчера проверяла, всё фурычит
28 Ёпрст
 
гуру
21.11.08
10:24
(27) у вас база дбф ? или всё же скуль?
29 тишина
 
21.11.08
10:28
эксперементирую на dbf
30 ДенисЧ
 
21.11.08
10:29
А всё-таки, почему (20) не прокатит?
31 тишина
 
21.11.08
10:31
(30) потому что там стоит 5, независимо от того, проведен док или нет, выше я об этом уже писала
32 тишина
 
21.11.08
10:34
у меня вообще подозрение, что признак проведения хранится где-то в другом месте, может что-то поменялось
33 ДенисЧ
 
21.11.08
10:34
ДОкументы, проведённые по кому нужны? По регистрам? или по бухучёту?
Если уж такая фигня с closed творится, то можно объединиться с таблицей движений или проводок.
34 тишина
 
21.11.08
10:41
(33)по бухучету, в том то и дело, что нужно не просто удалять проводки, а снимать признак проведения при определённых условиях при выгрузке
35 Ёпрст
 
гуру
21.11.08
10:44
(27) а с чего уверенность,  что CLOSED%2=1 не работает ?
36 ДенисЧ
 
21.11.08
10:46
предлагаю вариант :-)
Запускаем сиквел, включаем трассировку запросов, распроводим документ, и смотрим результаты трассировки, что и куда он пишет.
37 тишина
 
21.11.08
10:50
(35) наверное с того, что проверяла
(36) спасибо за предложение, попробую 8)
38 Злой Бобр
 
21.11.08
10:54
(16)(0)(5) Странно как-то. База ДБФ а пользуете скуль. Вот запрос для скульной базы (думаю перегнать базу в скуль не составит труда):
SELECT DOCNO
FROM DH37642
INNER JOIN _1SJOURN ON DH37642.IDDOC = _1SJOURN.IDDOC
WHERE (_1SJOURN.CLOSED & 1 = 1)
39 тишина
 
21.11.08
10:57
да перегнать не составит, она там и есть, просто тестирую я обычно на DBF, мне так удобнее, а открывала таблицы скуля там тоже 5-ки
40 Злой Бобр
 
21.11.08
10:59
(39) Понятно. Сделай в скуле копию базы и там тренируйся.
Копируй код из (38) и будет тебе только проведенные документы.
41 Ёпрст
 
гуру
21.11.08
11:06
(38) в ДБФ нет &
42 Ёпрст
 
гуру
21.11.08
11:07
(37) И чего? Не работает ? Не верю..
43 тишина
 
21.11.08
11:08
(42)с &  запрос к DBF выполняется, а с % нет
44 Злой Бобр
 
21.11.08
11:18
(43) Мдя..., похоже кто-то непонимает отличия ДБФ базы 1С от Скульной. Мое мнение сводится к тому, что при наличии скуля ользовать ДБФ глупо, а в некоторых случаях даже "вредно" для здоровья.
Ну если уж так сильно хочется - для ДБФ :
SELECT DOCNO
FROM DH37642
INNER JOIN _1SJOURN ON DH37642.IDDOC = _1SJOURN.IDDOC
WHERE (_1SJOURN.CLOSED <> 0)
45 Ёпрст
 
гуру
21.11.08
11:21
(44) Гыы.. в ДБФ нет _1SJOURN, и Closed=4  - док помечен на удаление..
46 Злой Бобр
 
21.11.08
11:23
(45) Ну да, ступил. Отвык я от ДБФ.
47 тишина
 
21.11.08
11:26
(44) не поняла, это ты к чему? какая разница в данном случае, если из closed можно достать признак проведения, значит это можно сделать и в dbf и в скуле? в одном формате получится, разберемся и с другим, так что попрошу не умничать
48 Ёпрст
 
гуру
21.11.08
11:36
(47) если что, вам нужны значения 1,3,5 - это когда документик проведён ...
можно тупо условие воткнуть, как в (19)+(21) ...

ЗЫ: 3 - это когда док проведен по компоненте Расчет, если что... если не стоит, то достаточно 1 и 5
49 тишина
 
21.11.08
12:00
кстати о птичках, локальная dbf-база 1С работает быстрее, так что всяко удобнее для тестов
сделала выборку проведенных доков в скуль базе, получилось меньше непреведенных, чем при выборке обычной обработкой 1С с проверкой на пометку удаления на 10 фтучек, в чём может быть загвоздка? кроме того, опять попадают номера и проведенных и непроведенных элементов
50 Ёпрст
 
гуру
21.11.08
12:04
(49) Проверку на пометку удаления ? Ты прикалываешься что ли ? :))
Документ может быть просто не проведенным быть... без пометки на удаление.
51 Ёпрст
 
гуру
21.11.08
12:05
И это... "опять попадают номера и проведенных и непроведенных элементов"
мот документов ?
А периодичность нумера какая ? Год поди ? А смотришь вообще весь журнал ? :)))
52 Ёпрст
 
гуру
21.11.08
12:06
+51 дык там просто документы с одним нумером из разных периодов... в одном они проведенные, в другом - мот и нет...
53 тишина
 
21.11.08
12:07
"Closed=4  - док помечен на удаление.."
неполучится ли, что выборка в запросе _1SJOURN.CLOSED & 1 = 1 даст доки, которые непроведены и НЕ помечены на удаление? я и проверяю это условие в обычной обработке
54 тишина
 
21.11.08
12:09
(51)блин, вот тут точно затупила, осень вообще моцк не соображает о_О
55 ВторНик
 
21.11.08
12:10
(53)смотрю на ДБФ: Closed=4 - док не проведен, ISMARK=* - помечен на удаление
56 Ёпрст
 
гуру
21.11.08
12:12
(53) Блин...
Если документ ПРОВЕДЕН, то он по определению не может быть помеченным на удаление !

Фирштейн ? :))
Когда документ проведен поле Closed может принимать 3 значения : 1,3,5
всё собственно .
57 тишина
 
21.11.08
12:21
так я это делаю при выборке НЕПРОВЕДЕННЫХ!
58 тишина
 
21.11.08
12:21
ФИРШТЕЙН?
59 тишина
 
21.11.08
12:24
ладно, всё, в общем работает
"Когда документ проведен поле Closed может принимать 3 значения : 1,3,5 "
вот это сразу надо было говорить, а то развели бадягу
60 Ёпрст
 
гуру
21.11.08
12:25
(58) убила...
Вам нужны не проведенные доки что ли ? Тогда <>1,3,5 + смотреть пометку удаления
ismark, не забывая что в дбф и в скуле исмарк по разному работает.
61 тишина
 
21.11.08
12:33
да мне вообще они не нужны, я просто хотела определенности добиться, в планируемом проекте признак проведения будет сниматься хранимой процедурой + удаление проводок
чем я тебя убила? я 2,5 года сижу на 1С, думаешь, без тебя не разберусь как мне брать проведенные и непроведенные? я понимаю, что к пользователям заочно относишься, как к абсолютным идиотам - это нормально, я-то здесь при чём?
с ismark всё давно понятно
62 тишина
 
21.11.08
12:36
в (49) пропала частичка "не" 8) от того и путаница
63 Ёпрст
 
гуру
21.11.08
12:36
(61) Гы... чего так агрессивно то ? Никто тут на вас не прессует.
64 тишина
 
21.11.08
12:40
где агрессивно-то?
65 Ёпрст
 
гуру
21.11.08
12:50
(64) "к пользователям заочно относишься, как к абсолютным идиотам"
с чего вдруг, такое заведомо ложное утверждение ? ...
66 тишина
 
21.11.08
14:49
это предположение, основанное на выводах, сделанных из твоего разговора: "фирштейн, убила.." и прочее
67 Ёпрст
 
гуру
21.11.08
15:12
(66) Ё... ну нельзя же ко всему так относится серьёзно, тем более, что там везде смайл стоит..
68 тишина
 
21.11.08
16:33
не везде, к тому же смайл не освобождает от ответственности
69 Ёпрст
 
гуру
21.11.08
16:35
(68) В пятницу, и такая сурьёзная ? :)
70 Sj
 
21.11.08
16:57
Ёпрст3 без наездов все объяснял, у тебя в (61) крыша просто поехала.