На форме есть две строки. Как сделать, чтобы Интервал отображался нормально, как с числом?

1. user1296699 15.03.23 13:52 Сейчас в теме
Всем привет. Помогите разобраться. Спасибо.

На форме есть две СТРОКИ больше равно и меньше равно.
В запросе Наименование типа СТРОКА но выглядит как число например 0000001
| И ИзменениеПараметров.Пл.Наименование >= &НомерНачало
| И ИзменениеПараметров.Пл.Наименование <= &НомерКонец

Как сделать чтобы Интервал отображался нормально как с числом????

если я ставлю НомерНачало 1 а Номер конец 2 , то результат такой см.файл

"ВЫБРАТЬ
		|	ИзменениеПараметров.Пл.Наименование КАК Наименование,
		|	ИзменениеПараметров.Пл.Вид КАК Вид,
		|	ИзменениеПараметров.Пл.ЧисловойНомер КАК ЧисловойНомер,
		|	ИзменениеПараметров.Пл.Ссылка КАК ПлСсылка,
		|	ИзменениеПараметров.ДатаИзменения КАК ДатаИзменения,
		|	ИзменениеПараметров.Аб КАК Абонент,
		|	ИзменениеПараметров.Исп.Ссылка КАК ИспСсылка
		|ИЗ
		|	Документ.ИзменениеПараметров.Пл КАК ИзменениеПараметровПл
		|		ПОЛНОЕ СОЕДИНЕНИЕ Документ.ИзменениеПараметров КАК ИзменениеПараметров
		|		ПО ИзменениеПараметровПл.Ссылка = ИзменениеПараметров.Ссылка
		|ГДЕ
		|	НЕ ИзменениеПараметров.ПометкаУдаления
		|	И НЕ ИзменениеПараметров.Пл.ПометкаУдаления
		|	И ИзменениеПараметров.Действует = ЛОЖЬ
		|	И ИзменениеПараметров.Пл.Наименование >= &НомерНачало
		|	И ИзменениеПараметров.Пл.Наименование <= &НомерКонец
		|
		|УПОРЯДОЧИТЬ ПО
		|	ДатаИзменения";
	
	Запрос.УстановитьПараметр("НомерНачало", НомерНачало);
	Запрос.УстановитьПараметр("НомерКонец", НомерКонец);
Показать
Прикрепленные файлы:
Найденные решения
33. spacecraft 15.03.23 17:15 Сейчас в теме
пробуйте:
"ВЫБРАТЬ
        |    ИзменениеПараметровПл.Наименование КАК Наименование,
        |    ИзменениеПараметровПл.Вид КАК Вид,
        |    ИзменениеПараметровПл.Ссылка КАК ПлСсылка,
        |    ИзменениеПараметров.ДатаИзменения КАК ДатаИзменения,
        |    ИзменениеПараметровПл.Аб КАК Абонент,
        |    ИзменениеПараметров.Исп КАК ИспСсылка
        |ИЗ
        |    Документ.ИзменениеПараметров КАК ИзменениеПараметров
        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзменениеПараметров.Пл КАК ИзменениеПараметровПл
        |        ПО ИзменениеПараметровПл.Ссылка = ИзменениеПараметров.Ссылка
        |ГДЕ
        |    НЕ ИзменениеПараметров.ПометкаУдаления
        |    И НЕ ИзменениеПараметров.Действует
        |    И ИзменениеПараметровПл.ЧисловойНомер МЕЖДУ &НомерНачало И &НомерКонец
        |
        |УПОРЯДОЧИТЬ ПО
        |    ДатаИзменения";
    
	ТипЧисло = Новый ОписаниеТипов("Число");	
	Запрос.УстановитьПараметр("НомерНачало", ТипЧисло.ПривестиЗначение(НомерНачало));
    Запрос.УстановитьПараметр("НомерКонец", ТипЧисло.ПривестиЗначение(НомерКонец));
Показать
user1296699; +1 Ответить
7. spacecraft 15.03.23 14:47 Сейчас в теме
(1) запросом задача не решается. В запросе нет преобразование типов из строки в число.
По хорошему, нужно изменить структуру хранения данных. К примеру, добавить новый реквизит типа Число, в котором и сохранять нужные значения при сохранении элемента справочника, и уже по нему строить отчет.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. spacecraft 15.03.23 14:47 Сейчас в теме
(1) запросом задача не решается. В запросе нет преобразование типов из строки в число.
По хорошему, нужно изменить структуру хранения данных. К примеру, добавить новый реквизит типа Число, в котором и сохранять нужные значения при сохранении элемента справочника, и уже по нему строить отчет.
17. user1296699 15.03.23 15:01 Сейчас в теме
(7)есть этот реквизит Числовой номер
18. spacecraft 15.03.23 15:05 Сейчас в теме
(17) ну так и стройте отчет(запрос) с отбором по нему, а не строковому Наименование.
20. user1296699 15.03.23 15:16 Сейчас в теме
(18)а мне нужно чтобы на форме пользователь именно Наименование
21. spacecraft 15.03.23 15:18 Сейчас в теме
(20)
а мне нужно чтобы на форме пользователь именно Наименование

ну так заведите пользователя с именем Наименование :)
25. glek 119 15.03.23 16:40 Сейчас в теме
(20) Ну так и преобразовывайте в параметры запроса то, что ввел пользователь в число.
user1296699; +1 Ответить
29. user1296699 15.03.23 16:48 Сейчас в теме
(25) я правильно понимаю... пользователь ввел 000123123, я преобразую в 123123, делаю запрос, получаю 123123 ,но в отчет то я должен вернуть 000123123 а не 123123
31. spacecraft 15.03.23 16:53 Сейчас в теме
(29) так и возвращайте Наименование, а не числовой реквизит. По числовому реквизиту делаете только отбор.
user1296699; +1 Ответить
73. пользователь 16.03.23 01:18
Сообщение было скрыто модератором.
...
9. glek 119 15.03.23 14:48 Сейчас в теме
(1) И да, на вашем примере, первое "число" будет больше, чем восьмое. Понимаем, да?
10. minarenko 15.03.23 14:48 Сейчас в теме
(1)
ПОЛНОЕ СОЕДИНЕНИЕ

убирай вообще соединение ТЧ с документом, все вытаскивый через ИзменениеПараметров.Пл.Ссылка.ДатаИзменения, ИзменениеПараметров.Пл.Ссылка.Аб
12. пользователь 15.03.23 14:50
Сообщение было скрыто модератором.
...
13. Sashares 34 15.03.23 14:50 Сейчас в теме
(1)Если бы там были только цифры, то можно было бы привести строку к числу в запросе, и далее сравнить как числа. Пример есть тут
https://infostart.ru/1c/articles/170336/?ysclid=lf9mdsjuc0186104804
15. user1863362 15.03.23 14:54 Сейчас в теме
(1)
ИзменениеПараметров.Пл.ЧисловойНомер КАК ЧисловойНомер,
Чой-то ржу. Давай потоньше.
16. glek 119 15.03.23 14:57 Сейчас в теме
(1) Кстати, Вас не учили пользоваться поиском? Хотя бы по ИС? Первая же ссылка
https://infostart.ru/1c/articles/170336/
2. starjevschik 15.03.23 14:21 Сейчас в теме
такую постановку задачи догнать мало кто осилит.
Посмотри со стороны. Представь, что ты не знаешь ничего, кроме буквально и только того, что написано в сообщении. Что ты поймешь оттуда? Ничего. Вот поэтому задача и не решается. Начинать надо с внятной и понятной любому постановки задачи. Какие-то строки, какой-то интервал, наименование, запрос, к чему это все, зачем, как связано друг с другом, что нужно получить - не понятно ровным счетом ничего.
3. user1296699 15.03.23 14:38 Сейчас в теме
(2)Нужно чтобы в отчет выводился диапазон между Номер начало и Номер конец тут больше и написать нечего. Номер в запросе это Наименование типа строка вида 0000001 или 000055555
6. glek 119 15.03.23 14:45 Сейчас в теме
(3) А в чем проблема? Я, например, сделал простой запрос:
ВЫБРАТЬ
	"001" КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"002"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"003"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"004"
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВременнаяТаблица.Поле1 КАК Поле1
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица
ГДЕ
	ВременнаяТаблица.Поле1 > "001"
	И ВременнаяТаблица.Поле1 < "004"
Показать

В итоге запрос мне выдал
002
003
22. user1296699 15.03.23 16:25 Сейчас в теме
(6)проблема в том что попадают в результат 0031 и 00247 и так далее...
23. пользователь 15.03.23 16:39
Сообщение было скрыто модератором.
...
11. starjevschik 15.03.23 14:49 Сейчас в теме
(3) если ты хочешь сортировать строки как числа, то это в принципе можно, надо после запроса прогнать весь результат через преобразование строки в число и потом сортировать. Если хочешь делать отбор по строкам как по числам, то соответственно надо до запроса проделать такое преобразование и потом уже отбор.
но почему не сказать внятно, что нужно, я все равно не понимаю
14. пользователь 15.03.23 14:53
Сообщение было скрыто модератором.
...
4. пользователь 15.03.23 14:39
Сообщение было скрыто модератором.
...
5. user1296699 15.03.23 14:41 Сейчас в теме
(4)это расчитано на добрых людей, кто подскажет))
19. user1863362 15.03.23 15:15 Сейчас в теме
(5)
расчитано на добрых людей
Ну, тему ты переименовал, теперь никаких добрых.
8. пользователь 15.03.23 14:48
Сообщение было скрыто модератором.
...
24. user1296699 15.03.23 16:39 Сейчас в теме
(8)ну как бы в этом и вопрос как мне сделать так чтобы как с числами работать, но при этом наименования начинались с 000
26. пользователь 15.03.23 16:41
Сообщение было скрыто модератором.
...
27. user1296699 15.03.23 16:42 Сейчас в теме
28. пользователь 15.03.23 16:44
Сообщение было скрыто модератором.
...
30. пользователь 15.03.23 16:52
Сообщение было скрыто модератором.
...
32. пользователь 15.03.23 16:55
Сообщение было скрыто модератором.
...
35. user1863362 15.03.23 17:45 Сейчас в теме
(30)
ты наверно
Вау, моя теория о том, что борзость пропорциональна тупости, работает!
user1881120; +1 Ответить
36. пользователь 15.03.23 17:59
Сообщение было скрыто модератором.
...
37. Said-We 15.03.23 18:20 Сейчас в теме
(26)
(24) Тебе уже все ответили - никак. Строки не работают как числа. Используй числа. Особенно обрати внимание на (15)


И даже дважды ответили что можно в (13) и (16). :-)
Извращение, но можно.

(33) Если сравнивать строки, то ещё надо привести к единому формату количества цифр и убрать все не цифры - пробелы и т.д.
Далее по сути Прав("000000000000000000000"+ т.Наиманование, 15)", но всё в запросе.

Либо более простое решение добавить таки числовой реквизит, прописать его автоматическое заполнение при записи и перезаписать у всех уже существующих.

И это всё только из-за того что в 1С нет простых функций преобразования типов и стандартных для всех СУБД, используемых 1С. :-)
38. пользователь 15.03.23 18:24
Сообщение было скрыто модератором.
...
39. spacecraft 15.03.23 18:28 Сейчас в теме
(38) везет же некоторым. А у меня тот набор слов в осмысленный текст так и не получилось собрать.
40. пользователь 15.03.23 18:30
Сообщение было скрыто модератором.
...
41. Said-We 15.03.23 18:31 Сейчас в теме
(38)
Оборжался, извини.


Держи - ещё посмейся.
https://wonderland.v8.1c.ru/blog/novye-funktsii-yazyka-zaprosov-i-sistemy-komponovki-dannykh/?ysclid=lf9u68dxdh734288345

И тут это уже достаточно давно обсуждали. Поиском в Яндексе первое же ссылка.

https://infostart.ru/1c/articles/1733279/?ysclid=lf9uhw87y2425362100
Прикрепленные файлы:
46. пользователь 15.03.23 21:43
Сообщение было скрыто модератором.
...
52. Said-We 15.03.23 23:42 Сейчас в теме
(46)
(твоя очередь ржать):


С учетом (49) Чья очередь теперь ржать?
Запрос-то рабочий.

Запрос простой и достаточно стандартный для 1С.
Понятно что в SQL никто таким извращением не занимается. Там со строками всё на много луче. В Постгри регулярные выражения даже есть (В MS SQL пока вроде нет).

Почему в 1C запросы такие длинные в тысячи строк и работает всё как-то не быстро?

Потому что язык запросов в 1С очень скудный и простые и быстрые алгоритмы приходится переводить по факту в стандарт до SQL-92, использовать кучу джоинов, заниматься созданием кучи временных таблиц и прочими извращениями.

Заниматься извращениями - это не выбор самих программистов 1С, а это директива сверху :-)
33. spacecraft 15.03.23 17:15 Сейчас в теме
пробуйте:
"ВЫБРАТЬ
        |    ИзменениеПараметровПл.Наименование КАК Наименование,
        |    ИзменениеПараметровПл.Вид КАК Вид,
        |    ИзменениеПараметровПл.Ссылка КАК ПлСсылка,
        |    ИзменениеПараметров.ДатаИзменения КАК ДатаИзменения,
        |    ИзменениеПараметровПл.Аб КАК Абонент,
        |    ИзменениеПараметров.Исп КАК ИспСсылка
        |ИЗ
        |    Документ.ИзменениеПараметров КАК ИзменениеПараметров
        |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзменениеПараметров.Пл КАК ИзменениеПараметровПл
        |        ПО ИзменениеПараметровПл.Ссылка = ИзменениеПараметров.Ссылка
        |ГДЕ
        |    НЕ ИзменениеПараметров.ПометкаУдаления
        |    И НЕ ИзменениеПараметров.Действует
        |    И ИзменениеПараметровПл.ЧисловойНомер МЕЖДУ &НомерНачало И &НомерКонец
        |
        |УПОРЯДОЧИТЬ ПО
        |    ДатаИзменения";
    
	ТипЧисло = Новый ОписаниеТипов("Число");	
	Запрос.УстановитьПараметр("НомерНачало", ТипЧисло.ПривестиЗначение(НомерНачало));
    Запрос.УстановитьПараметр("НомерКонец", ТипЧисло.ПривестиЗначение(НомерКонец));
Показать
user1296699; +1 Ответить
34. пользователь 15.03.23 17:20
Сообщение было скрыто модератором.
...
74. user1296699 16.03.23 08:49 Сейчас в теме
42. пользователь 15.03.23 19:15
Сообщение было скрыто модератором.
...
43. пользователь 15.03.23 19:41
Сообщение было скрыто модератором.
...
44. Said-We 15.03.23 20:47 Сейчас в теме
(43) А по существу, есть что сказать?
45. пользователь 15.03.23 21:39
Сообщение было скрыто модератором.
...
50. Said-We 15.03.23 23:17 Сейчас в теме
(45)
операции сравнения строк на больше-меньше работают только по диапазону строковой сортировки, а не по числовому диапазону


Если дополнил нулями слева и правильно с добавленными нулями слева параметры запроса задал, то отработает.

(45)
Пояснить, почему "121" больше, чем "1201"?

Сравнивать же будут "00121" и "01201".
51. пользователь 15.03.23 23:32
Сообщение было скрыто модератором.
...
53. Said-We 15.03.23 23:45 Сейчас в теме
(51)
1. Нет. Строки могут быть разной длины в исходной таблице, поэтому гадать с лидирующими нулями - бесперспективно.

Внимательно картинку посмотри. Там тоже разной длины на входе.
Гадать не нужно - есть размерность наименования. И если оно 25 - это не много.


2. Нет. Запрос сам не добавляет лидирующих нулей к передаваемым параметрам.

Смотрим картинку - долго удивляемся результату. Не верим глазам. :-)
Если появляется желание "поржать" - ржем конечно, но потом надо будет определится над чем.
54. пользователь 15.03.23 23:50
Сообщение было скрыто модератором.
...
57. Said-We 15.03.23 23:59 Сейчас в теме
(54)
Именно поэтому твой метод никогда не сработает.

Т.е. картинка как запрос дал правильный результат тебя не убедила? Ну тогда я не знаю.

(54)
Можно сколько угодно добавлять лидирующих нулей к параметрам запроса, но если длина параметра не соответствует длинам данным - то это профанация.


Параметров необходимо задавать правильные и правильной длины.
В любой запрос если передавать параметры не те, которые нужны, то получишь не то, что ожидаешь.
58. пользователь 16.03.23 00:02
Сообщение было скрыто модератором.
...
60. Said-We 16.03.23 00:06 Сейчас в теме
(58)
Какой ПРАВИЛЬНОЙ длины надо передать параметр в запрос, если ты не знаешь длины исходных данных?

Не нужно раздувать из мухи слона. Параметры тоже можно привести к правильной длины и даже дополнить нулями прямо в запросе по образу и подобию. Если все к длине 15 приводим, то и параметры тоже.
67. пользователь 16.03.23 00:58
Сообщение было скрыто модератором.
...
61. Said-We 16.03.23 00:07 Сейчас в теме
(58)
Какая картинка в твоем сообщении нет картинок.

В (49) картинка с текстом запроса и результатом внизу.
62. Said-We 16.03.23 00:16 Сейчас в теме
(58)
А вот тут смешно. Это может быть запрос к внешнему источнику (или в качестве источника используется ТЗ). Какой ПРАВИЛЬНОЙ длины надо передать параметр в запрос, если ты не знаешь длины исходных данных?


Что значит не знаю? Я что не могу посмотреть откуда всё это приходит? С какого перепуга работая с конфигурацией я бы не знал максимальную размерность поля?
Какая максимальная, такая и используется.

И ещё раз повторюсь, я бы добавил реквизит с числом, если он уже не имеется конечно.
Я про:
ИзменениеПараметров.Пл.ЧисловойНомер КАК ЧисловойНомер

(1) Что в этом поле хранится?
69. пользователь 16.03.23 01:00
Сообщение было скрыто модератором.
...
77. Said-We 16.03.23 11:07 Сейчас в теме
(69)
Напомню. Источником может быть таблица значений. Или внешний источник.
Ты не знаешь типизацию их полей.

Призадумайся.


(75)
Ноль. Неограниченная. Приступай.


В данном случае источник "Документ.ИзменениеПараметров" и не надо тут ничего придумывать. Это объект конфигурации с известной размерностью.
75. user1863362 16.03.23 10:15 Сейчас в теме
(62)
С какого перепуга работая с конфигурацией я бы не знал максимальную размерность поля?
Какая максимальная, такая и используется.


Ноль. Неограниченная. Приступай.
47. Said-We 15.03.23 22:10 Сейчас в теме
(46) Про типовую конфигурацию в вопросе (1) ты сам придумал?

Опять же без функций RIGHT() можно решить эту задачу. Тоже извращение, но можно.
По факту разобрать наименование на символы дополнив до условных 15 нулями и собрать обратно с конца.

Примерно такое же извращение как перевод строки в число, но по другому в 1С будет возможно наверное уже в 1С 9.0, если она когда либо вообще выйдет.
48. пользователь 15.03.23 22:21
Сообщение было скрыто модератором.
...
49. Said-We 15.03.23 23:09 Сейчас в теме
(46)
Поэтому использовать всякие плюшки, о которых кто-то начитался


Сейчас же как-то без плюшек обходятся.
Ниже пример запроса который не в число переводит, а дополняет строку впереди нулями ниже с длиной строки 5.
Для большей размерности чуть добавить и чуть подправить. Либо в параметры к запросу эту длину перенести, но в этом случае тоже переписать.

Максимум(т.а) с условием т.симв<>"" - это фактически вычисление длины строки.

Необходимо только в этот запрос добавить проверки, на то, что вообще необходимо добавлять нули. Стока может быть изначально даже с лишними нулями. Что бы не была с лишними можно заранее посчитать максимальную длину строки, которая есть в БД. Если это не разовая операция, то плясать от размерности поля. Печаль если Наименование длина 150. :-) Запрос разрастется.

Пустые наименования в запрос не попадут. Тут уж тоже надо либо хоть что-то заполнить, либо брать не наименование, а например "0"+Наименование.

(48)
По извращениям - это к тебе.

Нет это к автору - он хранит в наименовании без контроля уникальности какие-то цифры в виде строки. Артикулы наверное.
Прикрепленные файлы:
55. пользователь 15.03.23 23:55
Сообщение было скрыто модератором.
...
59. Said-We 16.03.23 00:03 Сейчас в теме
(55)
А с чего ты решил, что Наименование - это именно стандартный реквизит справочника? Из текста запроса этого не вытекает.

Странный вопрос.
Лучше бы спросил что такое:
ИзменениеПараметров.Пл.ЧисловойНомер КАК ЧисловойНомер
64. пользователь 16.03.23 00:55
Сообщение было скрыто модератором.
...
56. пользователь 15.03.23 23:57
Сообщение было скрыто модератором.
...
63. spacecraft 16.03.23 00:38 Сейчас в теме
можете уже перестать спорить по поводу использования реквизита Наименование в отборе.
Достаточно посмотреть скрин в (0). 5 элемент (символично). Там не числовое значение.
65. пользователь 16.03.23 00:56
Сообщение было скрыто модератором.
...
66. Said-We 16.03.23 00:56 Сейчас в теме
(63) А кто говорил что там не строка?
Не помню ни одного поста в котором, кто-то говорил бы про то что в наименовании не строка.

Суть спора в том что, user1881120 постоянно пытается придумать не существующие барьеры для возможности решить задачу переводя строку в число или не переводя, но дополняя нулями.

Не верит, что запросом это можно реализовать.
68. spacecraft 16.03.23 00:59 Сейчас в теме
(66)
А кто говорил что там не строка?
Не помню ни одного поста в котором, кто-то говорил бы про то что в наименовании не строка.

серьезно? Даже с конкретным указанием элемента?
Посмотрите скрин еще раз. Там 5 элемент заканчивается * (звездочкой). Так что никакие ухищрения, добить начальные нули, никак не помогут.

Так понятнее стало?
user1881120; +1 Ответить
76. Said-We 16.03.23 11:06 Сейчас в теме
(68)
Посмотрите скрин еще раз. Там 5 элемент заканчивается * (звездочкой). Так что никакие ухищрения, добить начальные нули, никак не помогут.


Я об этом писал. Если автор согласен игнорировать все символы не относящиеся к [0-9], то это в запросе тоже можно сделать. Это не сложно.
Вопрос же не в том, что это НУЖНО реализовывать в запросе, а в том, что теоретически это можно решить запросом.

Я уже раза три наверное написал, начиная со своего первого поста в (37), что задачу необходимо решать путем структурных изменений. Так она проще и эффективнее решается.
И опять же ждали долго от автора, что это за реквизит такой "ЧисловойНомер" и что содержит. Возможно всё что нужно.

(33)

|ИЗ
| Документ.ИзменениеПараметров КАК ИзменениеПараметров
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ИзменениеПараметров.Пл КАК ИзменениеПараметровПл
| ПО ИзменениеПараметровПл.Ссылка = ИзменениеПараметров.Ссылка


Не нужно тут никакое соединение. Сразу табличную часть брать.

|ИЗ
| Документ.ИзменениеПараметров.Пл КАК ИзменениеПараметровПл


Уже кто-то писал выше.
78. spacecraft 16.03.23 14:06 Сейчас в теме
(76)
Я уже раза три наверное написал, начиная со своего первого поста в (37), что задачу необходимо решать путем структурных изменений. Так она проще и эффективнее решается.
И опять же ждали долго от автора, что это за реквизит такой "ЧисловойНомер" и что содержит. Возможно всё что нужно.

Плохо читали ветку. Это было озвучено в 7 и 17 сообщениях.
Не нужно тут никакое соединение. Сразу табличную часть брать.

Что значит не нужно никакого соединения? То что можно написать без соединения, не означает, что такого соединения не будет. Оно будет создано в любом случае.
А так да, можно писать используя через Ссылка доступ к реквизитам документа, только довольно много где. Через соединение проще и нагляднее.
79. Said-We 16.03.23 14:39 Сейчас в теме
(78)
То что можно написать без соединения, не означает, что такого соединения не будет. Оно будет создано в любом случае.


Это понятно что оно будет, так как обращение к шапке и табличной части это разные таблицы.
1С строит такие соединения через ТЧ.Ссылка.Реквизит. Вопрос зачем усложнять наглядность кода в среде 1С лишними соединениями, которые и так будут построены.

Плохо читали ветку. Это было озвучено в 7 и 17 сообщениях.

Нормально я читал ветку.
Мой пост был вызван не столько самой задаче в (1) сколько утверждением того, что запросом 1С нельзя это решить, при этом даже после того как дважды дали ссылку на алгоритм перевода строки в число запросом 1С.
Никто не говорит, что использовать этот алгоритм плохо или хорошо. Вопрос лишь в возможности реализации.
80. spacecraft 16.03.23 14:57 Сейчас в теме
(79) это просто предпочтения написания. Мне нагляднее использовать соединение, так как еще на этапе написания запроса вижу, как будет отрабатывать оптимизатор. В простом запросе это не так важно, но при сложном запросе это может помочь.
Так что говорить, что использовать соединение не нужно, это просто предпочтение написания запроса, а не ошибка.
В общем случае, написание запроса без соединения и используя соединение может привести к разным результатам.
Так что не следует слепо использовать доступ через Ссылка.
(79)
1С строит такие соединения через ТЧ.Ссылка.Реквизит.

Это как? Вот прям платформа так строит?
81. Said-We 16.03.23 15:09 Сейчас в теме
(80)
Это как? Вот прям платформа так строит?

На сколько я понимаю, это риторический вопрос.

это просто предпочтения написания
- редкое предпочтение, но почему многие делают иначе я написал. Ещё одна причина в том, что в типовых конфигурациях тоже обращаются через ссылку. Скажем так - так повелось.
82. spacecraft 16.03.23 15:20 Сейчас в теме
(81) это попытка притянуть за уши. Откройте наконец типовую конфигурацию и удивитесь.
Примеры из УТ11.5
|ИЗ
	|	Документ.ЗаказКлиента КАК Шапка
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ТЧ

			|ИЗ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
			|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ЗаказКлиента

И таких соединений там много.
83. Said-We 16.03.23 15:24 Сейчас в теме
(82)
И таких соединений там много.

Но есть же и обратные примеры. И пока больше обратных примеров.
84. spacecraft 16.03.23 15:26 Сейчас в теме
(83) так я и сказал уже, что это просто предпочтения, а не обязательство. Это же Вы же настаиваете, что только через Ссылка нужно.
85. Said-We 16.03.23 15:31 Сейчас в теме
(84)
Это же Вы же настаиваете

Не настаиваю - делайте как хотите это ваше право. Но такое мнение не только у меня. Как пример см. (10).
86. spacecraft 16.03.23 15:36 Сейчас в теме
(85) очень репрезентативная выборка... даже не смешно.
87. пользователь 16.03.23 15:46
Сообщение было скрыто модератором.
...
70. пользователь 16.03.23 01:01
Сообщение было скрыто модератором.
...
71. spacecraft 16.03.23 01:05 Сейчас в теме
(66) и еще, за такую реализацию я бы сразу увольнял. Получать все данные таблицы и "преобразовывая" 100500 значений для такой задачи... полный бред.
72. пользователь 16.03.23 01:08
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот