Имя: Пароль:
1C
1С v8
Проблема с сортировкой в печатной форме документа.
0 bvn-2005
 
16.06.26
13:26
1С:БП.  Документ "Отчет производства за смену". Пользователь заполняет закладки Продукция и Материалы, проводит документ и нажимает кнопки Печать -> Требование-Накладная (М-11). Проблема в получаемой печатной форме Требование-накладная. Вчера (проверено на вчерашней копии базы) материалы выводились в той же последовательности, что и в документе. Сегодня порядок материалов изменился, каким образом они отсортированы - не понятно, не по названию и не по коду. Что могло быть изменено в базе, чтобы вызвать такой эффект? Предполагается, что в конфигурацию никто не лазил.
1 Волшебник
 
16.06.26
13:31
Если в запросе нет принудительной сортировки, то порядок данных в общем случае случайный.
2 bvn-2005
 
16.06.26
13:33
Я не лазил в запросы. Предполагается, что пользователь в режиме Предприятия что-то нажал и все изменилось. Вопрос - что нажал?
3 maxar
 
16.06.26
13:45
ТаблицаМатериалов = УчетОС.СформироватьЗапросПоТабличнойЧасти(Объект, "Материалы", СтруктураПолей).Выгрузить();
        ТаблицаМатериалов.Свернуть("Материал, МатериалНаименование, Счет, НоменклатурныйНомер,ЕдиницаИзмеренияКод,ЕдиницаИзмеренияНаименование", "Количество");

        // Поиск сумм списания активов для заполнения Цены и Суммы

        Для Каждого СтрокаТЧ Из ТаблицаМатериалов Цикл
            
            Область.Параметры.Заполнить(СтрокаТЧ);
4 Гипервизор
 
16.06.26
14:04
(2) Пользователь изменил сортировку в форме документа.
Сортировка в печатной форме не поменялась. А точнее она там вообще отсутствует, что вам сообщили в (1).
5 bvn-2005
 
16.06.26
14:27
"Сортировка в печатной форме не поменялась. А точнее она там вообще отсутствует, что вам сообщили в (1)."
Во вчерашней базе: в документе материалы А-Б-В-Г-Д; в печатной форме  А-Б-В-Г-Д.
В рабочей базе тот же документ:А-Б-В-Г-Д; печатная форма Б-Г-А-Д-В.
6 Волшебник
 
16.06.26
14:30
(2) Надо слазить и добавить сортировку
7 Гипервизор
 
16.06.26
14:31
(5) Значит ваше предположение, что пользователь что-то поменял, ошибочно. А порядок выборки из базы не гарантирован, если сортировка в запросе не указана явно. До сих пор совпадало, а сейчас нет. Вот и всё.
8 bvn-2005
 
16.06.26
14:40
"До сих пор совпадало, а сейчас нет. Вот и всё."
Остается вопрос, почему оно перестало совпадать именно этой ночью? Для всех документов....
9 Гипервизор
 
16.06.26
14:51
(8) Было проведено обслуживание базы данных, например. Никогда не задавался таким вопросом, мне достаточно знать, что порядок не гарантирован и учитывать это в работе.
10 H A D G E H O G s
 
16.06.26
15:21
(8) Поменялся план запроса в выборке, вот и всё. Либо при обновлении статистики, либо при асинхронном обновлении выборочной статистики при записи данных, если это включено в настройках базы SQL
11 craxx
 
16.06.26
17:54
(0) делай принудительно сортировку по номеру строки документа и  будет счастье. Как верно указано в (9), при любом чихе порядок может поменяться, если не указан явно.
12 timurhv
 
16.06.26
23:04
(8) Ладно печатная форма, в БГУ 1С забило на сортировку и получило некорректное заполнение субконто у счетов в проводках с какой-то версии платформы. Потом все перелопатило, но не сразу.
(0) >Что могло быть изменено в базе, чтобы вызвать такой эффект?
Гарантий без сортировки нет, поэтому никто разбираться не будет. Вплоть до языка ОС это влияет.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший