Пытался повторить отчет "Реестр документов оказание услуги" из книги Хрусталевой и неожиданно выяснилось, что не работает сортировка по документу. В тексте запроса сортировка по документу есть:
ВЫБРАТЬ
ОказаниеУслуги.Склад,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Ссылка КАК Документ
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
УПОРЯДОЧИТЬ ПО
Документ
Показать
однако в отчете первый по дате документ почему-то стоит внизу (см. рис. 1), при том, что он даже в базу был занесен первым.
Хотя у Хрусталевой всё работает (см. рис. 2).
Что я делаю не так? Может, следует сделать сортировку не по документу, а по дате? Но у Хрусталевой почему-то и так работает.
Да я в курсе. Просто в семерке данная проблема обходилась автоматически. Да и у Хрусталевой всё вышло. Или Вы хотите сказать, что у неё вышло случайно, а могло и не выйти?
Или у меня с ней какие-нибудь настройки разные?
У меня 2 варианта:
1. Методика писалась по какому-то старому билду платформы. В последующих версиях способ сортировки был изменен.
2. Действительно, это ошибка методиста и совпадение.
Это не совсем забор, а офицальный методист, входящий в состав учебной конфигурации, официально распространяемый самим 1С-ом. Маловероятно, что метдист может так косякнуть.
Да я в курсе. Просто в семерке данная проблема обходилась автоматически. Да и у Хрусталевой всё вышло. Или Вы хотите сказать, что у неё вышло случайно, а могло и не выйти?
Где проверить, включено ли автоупорядочивание? В тексте запроса его нет
ВЫБРАТЬ
ОказаниеУслуги.Склад,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Ссылка КАК Документ
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
УПОРЯДОЧИТЬ ПО
Документ
ВЫБРАТЬ
ОказаниеУслуги.Склад,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Ссылка КАК Документ
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
УПОРЯДОЧИТЬ ПО
Документ
АВТОУПОРЯДОЧИВАНИЕ
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(12, 1)}: Синтаксическая ошибка
<<?>>АВТОУПОРЯДОЧИВАНИЕ
ВЫБРАТЬ
ОказаниеУслуги.Склад,
ОказаниеУслуги.Мастер,
ОказаниеУслуги.Клиент,
ОказаниеУслуги.Ссылка КАК Документ
ИЗ
Документ.ОказаниеУслуги КАК ОказаниеУслуги
УПОРЯДОЧИТЬ ПО
Документ
Сортировка выполняется верно и у Хрусталевой, и у вас. Просто у Хрусталевой подразумевается оперативный ввод документов, а у вас документ, который выводится не на своем месте, проведен неоперативно, его GUID "больше", чем у документов с поздней датой, но созданных, фактически, раньше.
Для неоперативно проведенных документов используйте сортировку по дате.
Это я понял. Только я вводил документы в том же порядке, что и Хрусталёва. К тому же GUID - случайная величина, она не может всё время только возрастать. По крайней мере, в Win32, за 1С не скажу.
(38)GUID не случаен, во-первых он содержит идентификатор объекта, во-вторых, "случайная" часть генерируется в порядке возрастания. Создайте подряд 4 одинаковых документа и посмотрите их гуиды, отличаться они будут на 1 цифру/букву.
(41) mymyka, а разве не весь GUID это идентификатор объекта? Насколько мне известно никакая часть GUID-а не может 100% отвечать за определение объекта или его типа. Может я ошибаюсь?
(42) DWZ2, через код: Сообщить(Ссылка.УникальныйИдентификатор());
Или есть обработки, вроде: Универсальный редактор реквизитов.
(43)
гуиды 3 документов ПТиУ, созданные последовательно
fb664d4d-2ee8-11e6-b109-00155d04a704
fb664d4e-2ee8-11e6-b109-00155d04a704
fb664d4f-2ee8-11e6-b109-00155d04a704
гуид документа ПТиУ, созданного через 10 минут
fb664d50-2ee8-11e6-b109-00155d04a704
гуид документа ПТиУ, созданного через 3 минуты, между ним и предыдущим были создан 1 элемент справочника номенклатура с гуид fb664d51-2ee8-11e6-b109-00155d04a704
fb664d53-2ee8-11e6-b109-00155d04a704
никакая часть GUID-а не может 100% отвечать за определение объекта или его типа
да, с типом погорячился, но гуиды, тем не менее, создаются последовательно и строго в порядке возрастания в 16-чной системе.