Имя: Пароль:
1C
 
Условия в запросе
0 11GHz
 
28.09.17
23:23
Привет! подскажите пожалуйста, как в запросе можно указать условия, что бы он мне выбрал только те документы, которые не помеченные на удаление, проведены
1 vicof
 
28.09.17
23:28
ГДЕ Проведен
2 Denis_CFO
 
29.09.17
07:28
(0) + (1) И Не ПометкаУдаления
3 Гипервизор
 
29.09.17
07:33
(2) А вам встречались доки одновременно проведенные и помеченные на удаление?
4 lakich
 
29.09.17
07:34
(3) при пометке на удаление отменяются все движения документа..если только это не закостылено в конфе
5 Denis_CFO
 
29.09.17
07:35
(3) А у ТС нет условия И, там запятая
6 Denis_CFO
 
29.09.17
07:37
(5) Да, нужно ИЛИ вместо И
7 Гипервизор
 
29.09.17
07:50
(4) Спасибо, кэп.
8 1dvd
 
29.09.17
08:00
9 Ненавижу 1С
 
гуру
29.09.17
08:11
(8) это непроводимый документ
10 Redkiy
 
29.09.17
08:21
Пятничная ветка. Надо до ста дотянуть.
11 Denis_CFO
 
29.09.17
08:32
(1) ГДЕ Не Проведен = Ложь;
12 Denis_CFO
 
29.09.17
08:35
лучше вообще ГДЕ Не Проведен <> Проведен;
13 Lama12
 
29.09.17
08:37
(9) Не факт. Платформа не запрещает сделать свою конфу где у помеченного на удаление документа могут быть движения и он будет проведенным. Могут быть движения но он будет не проведенным. Может не быть движений у помеченного на удаление и проведенного документа. Это не 7.7. Тут платформа дружелюбна к разработчику.
14 Jonny_Khomich
 
29.09.17
08:39
Выбор когда Проведен = Истина Тогда Истина Иначе Ложь Конец
15 bodri
 
29.09.17
08:39
(13) так же не кто не мешает заменить стандартные картинки
16 Ненавижу 1С
 
гуру
29.09.17
08:58
(13) врешь ты все

Вот код:

Док = Документы.ВнутреннийЗаказ.СоздатьДокумент();
Док.ПометкаУдаления = Истина;
Док.Проведен = Истина;
Док.Записать();

Вот ошибка:

Ошибка при вызове метода контекста (Записать)
Док.Записать();
по причине:
Проведенный документ не может быть помечен на удаление!
17 Ненавижу 1С
 
гуру
29.09.17
09:00
(14) Выбор когда Проведен Тогда Проведен Иначе Проведен Конец
18 perester
 
29.09.17
09:05
в который раз убеждаюсь что на мисте можно спокойно раздуть ветку из ничего
19 rabbidX
 
29.09.17
09:50
(17) Выбор Когда (Проведен И Проведен) = (Проведен Или Проведен) Тогда Проведен Иначе Не Не Проведен Конец
20 dezss
 
29.09.17
10:43
ОФФ:
мда..
напомнило press any key to continue or any other key to cancel
21 Redkiy
 
29.09.17
10:57
А где ТС?
Интересно, куча дельных советов помогла?
22 Бычье сердце
 
29.09.17
11:24
ГДЕ Не Проведен = &НеПроведен;

УстановитьПараметр("НеПроведен",Неопределено);
23 11GHz
 
04.10.17
17:00
Спасибо! Всем кто откликнулся! Нужно получить все документы за определенный период и при этом мне надо что бы полученные доки небыли либо помеченные на удаление либо не проведены.
24 h-sp
 
04.10.17
17:15
(16) так пробуй

Док = Документы.ВнутреннийЗаказ.СоздатьДокумент();
Док.ПометкаУдаления = Истина;
Док.Проведен = Истина;
Док.ОбменДанными.Загрузка = Истина;
Док.Записать();
25 Йохохо
 
04.10.17
17:21
(23) попробуй скобки ставить в предложениях или запятые. или а) небыли либо помеченные б) небыли либо не проведены
26 riks05
 
05.10.17
05:21
(0)
ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ГДЕ
    ПоступлениеТоваровУслуг.Проведен = ИСТИНА
    И ПоступлениеТоваровУслуг.Дата > &НачалоПериода
    И ПоступлениеТоваровУслуг.Дата < &КонецПериода
    И ПоступлениеТоваровУслуг.ПометкаУдаления = ЛОЖЬ
27 youalex
 
05.10.17
06:38
ВЫБОР Проведен
КОГДА ИСТИНА ТОГДА ИСТИНА
Иначе ЛОЖЬ
КОНЕЦ
28 Ненавижу 1С
 
гуру
05.10.17
08:31
(24) сам пробовал то?
29 FIXXXL
 
05.10.17
08:45
(26) а зачем тебе документы?
мож регистр лучше? там таких мук выбора (в рядовом случае) нету :)
30 вым
 
05.10.17
08:48
да легко документ может быть проведенным и помечен на удаление, так же как и не проведен, но иметь движения и тд и тп. сплошь и рядом.

(28) не все действия делаются кнопками ОК и Провести )))
31 Мигрень
 
05.10.17
09:05
Можно ИИ подключить и на основе статистики посчитать вероятность проведен или нет.
32 Ненавижу 1С
 
гуру
05.10.17
09:29
(30) "да легко документ может быть проведенным и помечен на удаление"

спорим на 1000 рублей, что нет? Только средствами платформы 1С (включая программирование)
33 Junior1s
 
05.10.17
09:32
действительно пятничная ветка :)
34 rudnitskij
 
05.10.17
09:53
(4) есть варианты с переносом доков из других баз, когда движения документа переносятся набором записей. Тогда даже пометка удаления не отменяет движений. Только программно удалять надо
35 rudnitskij
 
05.10.17
09:54
(32) не далее как вчера удалял обработкой движения документов, помеченных на удаление. С вас тыща)
36 VS-1976
 
05.10.17
10:06
В базе могу быть движения вообще без документа...
37 вым
 
05.10.17
10:21
(32) легко! (не про спор, а про возможность). первый из вариантов - обмен. штатный, платформой 1с
38 Ненавижу 1С
 
гуру
05.10.17
10:34
(35)(37) движения могут быть, я не спорю, а вот ПометкаУдаления И Проведен всегда дают ложь
39 вым
 
05.10.17
10:38
(38) наивный))
40 Ненавижу 1С
 
гуру
05.10.17
10:40
(39) ты конкретику давай
41 rudnitskij
 
05.10.17
10:50
(40) конкретно: Проведен это реквизит типа булево, значение которого можно установить как нужно разработчику. И его значение никак не характеризует наличие/отсутствие проводок/движений документа
42 Ненавижу 1С
 
гуру
05.10.17
10:53
(41) согласен
ПометкаУдаления тоже булево и также не влияет на движения, НО!

Система блокирует и не дает одновременно установить оба флага Проведен и ПометкаУдаления

Из этого следует, что в запросах бессмысленно писать
условия типа:
ГДЕ
Проведен И НЕ ПометкаУдаления
43 вым
 
05.10.17
11:05
(42) при обменах еще не такие чудеса случаются
44 Ненавижу 1С
 
гуру
05.10.17
11:07
(43) еще расскажи, что в базу вообще средствами SQL можно залезть
45 вым
 
05.10.17
11:08
(44) для тебя КД не штатное средство? РБД не штатное средство?
если не сталкивался с этим, не надо говорить что этого нет

не все работает так красиво, как вы представляете в идеале в типовых
46 Ненавижу 1С
 
гуру
05.10.17
11:12
(45) ладно, допускаю сферического коня в вакууме

но ты даже не удасужился написать каким образом в обменах это может произойти

голословное словоблудие
47 вым
 
05.10.17
11:16
(46) да допускай все что хочешь и словоблудь, хоть рукоблудь

"если я это не встречал, то этого не может быть" - это ваше
оставайтесь с этим
48 Гипервизор
 
05.10.17
11:17
(46) Вот у моего брата в Бердичеве была красивая девушка, которая наградила его триппером, так вот у нее таки происходило такое в обмене.
49 Гипервизор
 
05.10.17
11:19
(47) Ваше "такое бывает в обменах, слово джентльмена" - тоже как-то не того.
50 Йохохо
 
05.10.17
11:38
(47) нихрена не сработает, ни кд ни рбд не обойдут платформенную .Записать
51 Tiger_MDR
 
05.10.17
12:29
Судя по всему, ТС имел ввиду не поиск документов конкретного типа, а документов ВСЕХ типов, имеющихся в конфе, которые либо проведены, если для типа документа проведение используется, либо не помечены на удаление, если для типа документа проведение не используется. :)
52 Tiger_MDR
 
05.10.17
12:34
Если так, как я предположил в (51), то без программного вмешательства с обращением к свойствам метаданных документов не обойтись.
Можно накидать программным образом запрос с объединением таблиц, но также нужно контролировать, чтобы в запросе не использовалось более 256 таблиц.
53 Redkiy
 
05.10.17
12:53
(43) Такой большой, а в чудеса веришь.
54 Otark
 
05.10.17
13:06
(43)У меня два вопроса:
1. У тебя такие чудеса случались?
2. Симбиоза двух объектов быть не может. То есть объект перезаписывается целиком. Всегда. Если в документе изменили хоть одну букву, при РБД он приедет целиком, со всеми табличными частями в комплекте. В смысле он пришел откуда-то уже таким и следовательно опять два вопроса:
2.1 Как он там откуда пришел, стал таким
2.2 Причем здесь обмены?
МБ КД позволяет умышленно сделать такой объект, а платформа позволяет записать(я не проверял, вы как я понял в теме, она позволяет?), но это от прямой записи в БД ничем не отличается и как бы этот момент не имеет смысла обсуждать.
55 catena
 
05.10.17
13:17
Платформа не позволяет.
56 riks05
 
06.10.17
05:34
(29) ну человек просил документы, я ему выбрал документы, в принципе по аналогии можно выцепить что угодно
57 Jonny_Khomich
 
06.10.17
06:17
(39) Код:

    НовДок = Документы.Заказ.СоздатьДокумент();
    
    НовДок.Дата = ТекущаяДата();
    
    НовДок.Проведен = Истина;
    НовДок.ПометкаУдаления = Истина;
    
    НовДок.Записать();

Результат:
{Форма.Форма(11)}: Ошибка при вызове метода контекста (Записать): Проведенный документ не может быть помечен на удаление!
    НовДок.Записать();
по причине:
Проведенный документ не может быть помечен на удаление!

Платформа 8.1
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс