Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Особенности сортировки в POSTGRE SQL          
onsamuy Подменю пользователя
сообщение 03.08.20, 11:23
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 265
Спасибо сказали: 71 раз
Рейтинг: 76.9

Раньше организация работала на MS SQL, после перехода на бд POSTGE вылезла проблема - в результате запроса "путаются" строки табличных частей документов. Первый раз такая проблема вылезла в документе НалоговаяНакладная, модуль менеджера, процедура

Процедура ПроизвестиУстановкуНомерСтрокиНН(Объект) Экспорт
    
    Перем СтруктураШапкиДокумента;
    Перем ТаблицаНоменклатуры, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоОС, ТаблицаПоНМА;
    
    УстановитьПривилегированныйРежим(Истина);

    Если Объект.РеквизитыНомерСтрокиННАктуальны Тогда
        Возврат;
    КонецЕсли;
    
    // Подготовим таблицы
    Отказ = Ложь;
    СтруктураШапкиДокумента = Объект.ПодготовитьСтруктуруШапкиДокумента(Отказ);
    Объект.ПодготовитьТаблицы(СтруктураШапкиДокумента, ТаблицаНоменклатуры, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоОС, ТаблицаПоНМА);

    // Загрузим все таблицы (кроме тары) в одну таблицу
    ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаПоУслугам, ТаблицаНоменклатуры);    
    ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаПоОС      , ТаблицаНоменклатуры);    
    ОбщегоНазначенияБПВызовСервера.ЗагрузитьВТаблицуЗначений(ТаблицаПоНМА      , ТаблицаНоменклатуры);    
    
    Если ТаблицаНоменклатуры.Количество() = 0 Тогда
        Объект.РеквизитыНомерСтрокиННАктуальны = Истина;
        Возврат;
    КонецЕсли;
    
    ТаблицаНоменклатуры.Сортировать("НомерСтрокиТЧ ВОЗР");//БС()
    
       ...................
    
КонецПроцедуры // ()


Решил проблему принудительной сортировкой таблицы значений ТаблицаНоменклатуры.Сортировать("НомерСтрокиТЧ ВОЗР");//БС() . Но сейчас вылезла проблема с Приложением2.
Можно конечно вставлять костыли до бесконечности, но хотелось бы раскопать, в чем проблема smile.gif))

Сообщение отредактировал Vofka - 03.08.20, 11:39

TohaMonster Подменю пользователя
сообщение 03.08.20, 13:25
Сообщение #2

Говорящий
***
Группа: Пользователи
Сообщений: 77
Спасибо сказали: 31 раз
Рейтинг: 31

Гм. Могу предположить "по приборам" (не зная Конфигурации), что проблему можно решить таким образом:
Объект.ПодготовитьТаблицы() вызывает ОбщегоНазначения.СформироватьЗапросПоТабличнойЧасти(), где формируется запрос к документу
...
    Запрос.Текст = "ВЫБРАТЬ
                    | Док.НомерСтроки " + ТекстЗапроса + "
                    | ИЗ
                    |      Документ." + ДокументОбъект.Метаданные().Имя + "."+ СокрЛП(ИмяТабличнойЧасти) +
                    " КАК Док
                    |     ГДЕ Док.Ссылка = &ДокументСсылка";
...

Вот если ету конструкцию дополнить
...
                | УПОРЯДОЧИТЬ ПО
                |         Док.НомерСтроки
...
, то, как мне думается, это должно помочь в большинстве документов

А вот о причине такой сортировки при смене СУБД мне трудно судить: знаний не хватает. Если мне не изменяет память, у меня была подобная ситуация после перехода с файловой БД как раз на MS SQL. Но в другом запросе УТП. Где-то в УправленииЗапасами емнип. Но смысл был тот же самый: вылечилось сортировкой по НомеруСтроки

Спасибо сказали: onsamuy,

Batchir Подменю пользователя
сообщение 03.08.20, 13:29
Сообщение #3

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1435 раз
Рейтинг: 0

У нас нет проблем с сортировками на POSTGRE, админы вроде средствами СУБД с сортировками поигрались и всё.

Спасибо сказали: onsamuy,

onsamuy Подменю пользователя
сообщение 03.08.20, 15:31
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 265
Спасибо сказали: 71 раз
Рейтинг: 76.9

TohaMonster @ Сегодня, 14:25 * ,

да, именно до такого я додумался час назад smile.gif. Но хотелось бы чтобы еще "на берегу" все работало как надо.

Batchir @ Сегодня, 14:29 * ,

буду признателен, если напишете как. Могу быть даже признателен материально smile.gif

andr_andrey Подменю пользователя
сообщение 04.08.20, 16:16
Сообщение #5

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 635
Спасибо сказали: 171 раз
Рейтинг: 136.4

onsamuy @ Вчера, 16:31 * ,
Постгрес брали с сайта 1С? Если нет - возьмите оттуда.


Signature
#define private public
enum BOOL { FALSE, TRUE, FILENOTFOUND } is made my day

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 01.11.24, 2:09
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!