Имя: Пароль:
1C
1С v8
Тип Граница в консоли запросов
0 ShramkoRS
 
23.12.22
09:47
Вопрос прост. Как указать в коносоли запросов Границу времени?
1 Галахад
 
гуру
23.12.22
09:49
Вид параметра "Выражение"
2 Smallrat
 
23.12.22
09:51
(0) В параметрах запросов вторая колонка тип - выбрать "Граница"
3 ShramkoRS
 
23.12.22
10:53
Еще вопрос. Не могу понять чего оно ругается? Ошибку выдает.

{<Неизвестный модуль>(1,1)}: Процедура или функция с указанным именем не определена (Граница)
<<?>>Граница( Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342",),ВидГраницы.Исключая)
4 ShramkoRS
 
23.12.22
10:55
(2) К сожалению, у меня нет такого
5 Гипервизор
 
23.12.22
10:57
(3) Вы границу с моментом путаете. Почитайте СП чтоль.
6 Smallrat
 
23.12.22
11:00
7 Chameleon1980
 
23.12.22
11:01
консоли разные бывают
8 ShramkoRS
 
23.12.22
11:02
В коде вот так реализовано

Запрос.УстановитьПараметр("ДатаОстатка",       Новый Граница(СсылкаНаОбъект.МоментВремени(), ВидГраницы.Исключая));

И при отладке смотрю, тип Граница указан (5)
9 ShramkoRS
 
23.12.22
11:04
Поискал в инете как Границы указывают. Там через док найти по номеру было
10 ass1c
 
23.12.22
11:10
(9) зайди в профиль ко мне, перейди на сайт, скачать "Консоль запросов 1с 8.3 управляемые формы". Там над параметрами будет кнопка "T", встаешь на свой параметр дата, жмешь кнопку  выбираешь "Дополнительный тип" ------>>>> флаг "Граница" или "Момент времени". Радуешься жизни.
11 Галахад
 
гуру
23.12.22
11:13
(9) Через документ можно, но у тебя там не документ, а пустая ссылка.
12 Гипервизор
 
23.12.22
11:13
(8) Тогда где у вас в (3) оператор Новый? А НайтиПоНомеру в инете без указания даты было?
13 ShramkoRS
 
23.12.22
11:35
(10) Я бы рад, но с вероятностью в 99% не получится. Лишние вопросы и разбирательства с безопасниками мне не нужны
14 ShramkoRS
 
23.12.22
11:38
(12) Вот тут смотрел. https://www.vdgb.ru/blog/moment-vremeni-i-granica-naznachenie-primery-ispolzovaniya/ Я, конечно понимаю, что вам весело, когда очевидные вам вещи не доходят до новичка. Но я сюда не троллинг пришел слушать. Я разобраться хочу, понять. Если это не троллинг, извините. Но вопрос про "Новый" несколько смущает.
15 Гипервизор
 
23.12.22
11:45
(14) Вы вот ссылаетесь на статью и НайтиПоНомеру. Как вам ещё понятнее написать, что использование поиска по номеру у вас в (3) и в статье несколько отличается?
Почему вы игнорируете чтение СП? Ну ознакомьтесь уже с описанием этого метода. А про оператор Новый что смущает? Просто из приведённого текста ошибки в (3) я не вижу, у вас в коде "Новый Граница" или просто "Граница". А то бывает, знаете ли.
16 Мультук
 
гуру
23.12.22
11:45
(8)

>> В коде вот так реализовано
>> Запрос.УстановитьПараметр("ДатаОстатка",       Новый Граница(СсылкаНаОбъект.МоментВремени(), ВидГраницы.Исключая));


Тогда в тексте ошибки ".МоментВремени()" -- куда делось ?

<<?>>Граница( Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342",),ВидГраницы.Исключая)
17 Гипервизор
 
23.12.22
11:48
(14) Знаете, я хоть и не совсем новичок, но не считаю зазорным периодически освежать в памяти те или иные нюансы использования различных конструкций языка. Тем более, что в 1С справка всегда под рукой. В отличие от некоторых других тру-ЯП, где за информацией надо лезть только в инет.
18 ShramkoRS
 
23.12.22
11:48
(15) СП - синтаксис-помощник?
19 ass1c
 
23.12.22
11:57
(18) "Если это не троллинг, извините." - похоже это уже начинает идти с твоей стороны
20 ShramkoRS
 
23.12.22
11:58
(19) Как знаете
21 ShramkoRS
 
23.12.22
12:07
(19)  И да, не смотря на разрешение скачивания, ваша консоль запросов не открывается в моем УПП
22 ass1c
 
23.12.22
12:14
(21) сразу бы написал какая конфигурация, было бы проще
23 ShramkoRS
 
23.12.22
12:25
(22) Извините, учту в следующий раз
24 ass1c
 
23.12.22
12:29
(23) Блин, да прекрати ты уже извиняться))) Это же обычное общение на форуме - никто никому ничего здесь не должен). Каждый пишет как хочет и что хочет в рамках установленной темы - всё.
25 ShramkoRS
 
23.12.22
12:34
Подскажите тогда, чем заменить СсылкуНаОбъект, если НайтиПоНомеру у меня кривое или как? Или чего? Я понял что надо значение, и как мне тогда обратится к этому моменту времени?
26 Гипервизор
 
23.12.22
12:36
(21) Тогда возвращаемся к (0). А какую консоль запросов вы используете? Тысячи их!
(25) Вы не нашли различия в использовании метода НайтиПоНомеру в вашем примере (3) и в статье?
27 ShramkoRS
 
23.12.22
12:49
(26) А как понять какая у мнея консоль запросов? У меня она называется Консоль запросов. Без всяких выкрутасов. Просто внешняя обработка и ничего более.
Хотите смейтесь, хотите делайте фейспалм, но я не понимаю отличиая. Предположу, что вы о времени, но это ведь необязательный параметр, его можно пропустить.
28 Галахад
 
гуру
23.12.22
12:56
(27) "это ведь необязательный параметр" - где это написано?
29 shuhard
 
23.12.22
12:59
(27)[но это ведь необязательный параметр]
пятнично
30 Мультук
 
гуру
23.12.22
13:06
(29)

Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342",)

Допустим есть три таких документа с номер 342 за 2020, 2021, 2022 год. Нумерация ведь ведется внутри года, верно?
Как 1С из твоего кода должна понять, что ты имеешь в виду документ 2021 года, а не вовсе 2020 ?

P.S.
https://www.youtube.com/watch?v=jvv54vlDo6Y

Вот тут человек работает с консолью запросов, пишет код, заполняет параметры и комментирует
31 Волшебник
 
модератор
23.12.22
13:08
(30) вторым параметром можно передать дату
32 Гипервизор
 
23.12.22
13:12
(27) Понять, что за консоль у вас можно увидев скрин, например.
Вы прочитали в СП "<ДатаИнтервала> (необязательный)" и остановились. Не останавливайтесь, прочтите дальше. Кроме того вы ссылались на статью, а в статье "необязательный параметр" используется.
33 Мультук
 
гуру
23.12.22
13:12
(31)

Спасибо, кэп. Жаль, что топикпастер не может понять "зачем ему это делать".
34 ShramkoRS
 
23.12.22
13:31
(32) Все что связано с передачей файлов через инет, мне недоступно. У нас просто закрыт доступ к загрузке файлов в инет. Качай, пожалуйста, только смотри аккуратно, текст пиши куда хочешь. Скрин выслать? Извиняй. Вдруг я вам важную корпартивную инфу хочу передать или что-то типа того.

(28) В синтаксис-поомщнике.

ДокументМенеджер.<Имя документа> (DocumentManager.<Document name>)
НайтиПоНомеру (FindByNumber)
Синтаксис:
НайтиПоНомеру(<НомерДокумента>, <ДатаИнтервала>)
Параметры:
<НомерДокумента> (обязательный)
Тип: Число, Строка.
Номер искомого документа. Тип передаваемого значения зависит от установки в конфигураторе представления номера документа.
<ДатаИнтервала> (необязательный)
Тип: Дата.
35 Kassern
 
23.12.22
13:35
(0) Вполне возможно вам поможет КонецПериода с датой .....:23:59:59 =)
36 Гипервизор
 
23.12.22
13:48
(34) Там дальше ещё пару абзацев, сделайте усилие, прочтите.
37 ShramkoRS
 
23.12.22
13:55
(36) Прочел, уже. Только есть нюанс. У меня в поле для параметра места не хватает
38 ShramkoRS
 
23.12.22
13:56
Вот это вмещается:     Граница( Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342",16.11.2022),МоментВремени(),ВидГраницы

Вот это надо вместить: Граница( Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342",16.11.2022),МоментВремени(),ВидГраницы.Исключая)
39 arsik
 
гуру
23.12.22
13:59
(38) :))
40 ass1c
 
23.12.22
14:02
(38) :((
41 ShramkoRS
 
23.12.22
14:04
...
42 НЕА123
 
23.12.22
14:04
Пятница!
43 Гипервизор
 
23.12.22
14:06
(38) У вас что-то с запятыми напутано. В таком виде у границы 3 параметра получается. И похоже вы так и не поняли применяемость параметра ДатаИнтервала. И тип этого параметра Дата, а у вас что?
А вы вообще где именно этот параметр в запросе хотите использовать? В условии какой таблицы?
44 Kassern
 
23.12.22
14:07
(38) 16.11.2022 - крутой параметр, а как его 1ска должна прочитать?)
45 Kassern
 
23.12.22
14:08
На вашем месте лучше воспользоваться (35)  и не забивать голову, либо добавьте 1 сек к этому делу. Запрос хоть покажите
46 ass1c
 
23.12.22
14:11
Скорее всего твоя консоль просто не съест в параметрах границу или момент времени. Если умеешь пользоваться конфигуратором и отладкой, то просто напиши запрос в обработке и отладся уже в ней... А то получается полдня потратил на такую ерунду, хотя за 10 минут бы (если шаришь) все порешал через обработку...
47 ShramkoRS
 
23.12.22
14:12
(45) Не помогло оно мне
(44) Какая разница если один фиг все не влазит
(43) Какая разница в каком порядке год и месяц, если все не влазит
(42) Согласен, пятница!
Вот запрос Границу в ДатуОстатка надо сунуть:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
            ЕСТЬNULL(ВзаиморасчетыСПодотчетнымиЛицамиОстатки.СуммаВзаиморасчетовОстаток, 0) КАК СуммаВзаиморасчетов
        ИЗ
            РегистрНакопления.ВзаиморасчетыСПодотчетнымиЛицами.Остатки(
                    &ДатаОстатка,
                    Организация = &Организация
                        И Валюта = &Валюта
                        И ФизЛицо = &ФизЛицо
                        И ВЫБОР
                            КОГДА &ОтражатьВБухУчете
                                ТОГДА РасчетныйДокумент.ОтражатьВБухгалтерскомУчете
                                        ИЛИ РасчетныйДокумент ССЫЛКА Документ.ВыдачаДенежныхДокументов
                            ИНАЧЕ ИСТИНА
                        КОНЕЦ) КАК ВзаиморасчетыСПодотчетнымиЛицамиОстатки
48 ShramkoRS
 
23.12.22
14:14
(46) Я сегодня на тех поддержке весь день, могу позволить свои основные задачи делать в экстра фоновом режиме, так что я ничего не потерял, не волнуйтесь
49 ShramkoRS
 
23.12.22
14:16
Вот было бы это вчера или в следующий понедельник, вот там да, там бы слезы лил, что весь день прошляпил
50 ShramkoRS
 
23.12.22
14:18
Так. Левел2. (46) А как находясь в отладке просмотреть весь результат запроса. Надо цикл с проходкой по каждой записи писать? Или есть варианты попроще?
51 Kassern
 
23.12.22
14:19
(47) "А как находясь в отладке просмотреть весь результат запроса" - ТЗ=Запрос.Выполнить().Выгрузить()
52 ass1c
 
23.12.22
14:19
(50) пишешь весь свой код. В отладке в конце процедуры в табло смотришь: Запрос.Выполнить().Выгрузить()
53 НЕА123
 
23.12.22
14:20
Запрос.УстановитьПараметр("ДатаОстатка", Новый Граница(СсылкаНаОбъект, ВидГраницы.Исключая));
54 ShramkoRS
 
23.12.22
14:21
(51) (52) Так оно ж только колонки покажет
55 Kassern
 
23.12.22
14:22
(54) ТЗ покажет вам всю таблицу с результатом запроса
56 Kassern
 
23.12.22
14:23
жмякаете шифт+Ф9 (вычислить выражение) и смотрите что же там внутри ТЗ
57 ShramkoRS
 
23.12.22
14:23
(55) У меня колонки только покзаывает. А как строки найти?
58 ShramkoRS
 
23.12.22
14:24
(56) Так я щелкаю, там только колонки, нет строк там
59 ass1c
 
23.12.22
14:26
cntr + alt + w (табло)
в выражении пишешь "Запрос.Выполнить().Выгрузить()" правой кнопкой щелкаешь / показать значение в отдельном окне
60 ShramkoRS
 
23.12.22
14:27
(59) О! Шайтаааааан
61 ass1c
 
23.12.22
14:27
(58) запрос пустой значит, данных не находит
62 Kassern
 
23.12.22
14:27
63 Гипервизор
 
23.12.22
14:28
(47) Судя по использованию "ВидГраницы.Исключая", можно сделать вывод, что вы хотите получить данные на момент движения документа, исключая их.
А поскольку у вас запрос к виртуальной таблице остатков, то в этом случае есть особенность:
"При получении таблицы остатков с указанием параметра Период типа МоментВремени, полученного из даты документа и ссылки на документ, необходимо иметь в виду, что данные получаются, исключая записи движений самого документа".
Поэтому вашу конструкцию можно заменить на: Документы.АвансовыйОтчет.НайтиПоНомеру("00000000342", Дата(2022,1,1)).МоментВремени()
64 Kassern
 
23.12.22
14:29
(61) Это значит он в состав ТЗ полез и смотрит ее колонки, а не значения)
65 ShramkoRS
 
23.12.22
14:30
(64) Все-все, упокойтесь, все разрешилось
66 ass1c
 
23.12.22
14:34
(64) страшно представить куда он там смотрел)
67 ShramkoRS
 
23.12.22
14:37
(66) туда, где не нужно было щелкать правой кноркой мыши. Вы не забывайте у меня упп, то что у вас "нажать кнопку" у меня может быть вообще через пень колоду сделано. Грешно смеяться
68 ass1c
 
23.12.22
14:39
а точно, в УПП же конфигуратор имеет свой уникальный функционал...
69 Kassern
 
23.12.22
14:44
(67) (68) А ведь кто-то потом прочитает и реально подумает, что у УПП свой функционал в конфигураторе)
70 ass1c
 
23.12.22
14:45
(69) надеюсь что нет)
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший