3 июля, пятница 19:39
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Универсальные транзакции

Свернуть
Это важная тема.
X
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Да уж, система автоматизированного тестирования на новые транзакции еще не настроена. Сам недавно перелопачивал транзакции из-за изменения логики работы функции. Но пока сижу на 19.

    Комментарий


    • Чернушка
      Решились ли проблемы? Собираюсь в воскресенье перейти на 21. К чему готовиться?

      Комментарий


      • Проблемы решаются собственными руками. kau-id стал основным реквизитом. Насильно присваивайте ему значение 0 и все будет более-менее.
        Чем больше связей, тем меньше степеней свободы.

        Комментарий


        • Чернушка
          Большое спасибо.
          Опять все перелопачивать.

          Комментарий


          • Где-то глючит, возможно в моей голове.
            Вчера настаривала транзакцию - все работало. Сегодня - перестало. Суть проблемы - хочу отобрать документы для обработки.
            1. Создаю фильтр в опердне.
            2. Создаю шаблон FilterNav с
            1 FiltClass opb
            2 FiltInfo BIS,dps-op.p,vybor,b
            3 persist Да
            3. В выполнить после @doc =entry(1,Объект(Нет,'filtertable',@filtertable(10),"",",,op"));

            Вот вчера документы отображались, сегодня - нет. Запускаю фильтр в опердне - документы есть, т.е. есть чего отбирать. Где я чего нечаяно не то сделала?
            Чем больше связей, тем меньше степеней свободы.

            Комментарий


            • Чернушка
              А если добавить AttrList op-date1 + chr(1) + op-date2
              ValList ДАТА() + chr(1) + ДАТА()?

              Комментарий


              • Да, так лучше, но, по-прежнему, волнует:
                1. Как правильно задать браузер, чтобы список документов отображался в документах опердня,а не в архиве.
                2. Почему раньше работало? Какая-то глубокомысленная связь с открытыми/закрытыми днями?
                Чем больше связей, тем меньше степеней свободы.

                Комментарий


                • Чернушка
                  1. Как правильно задать браузер, чтобы список документов отображался в документах опердня,а не в архиве.
                  Боюсь, что только задав в качестве параметров дату текущего опердня.
                  2. Почему раньше работало? Какая-то глубокомысленная связь с открытыми/закрытыми днями?
                  Есть подозрение, что по умолчанию эти параметры фильтра заполняются из глобальных параметров (Ctrl+K). В первый день- просто совпало, на следующий - не срослось.
                  Но это только предположение

                  Комментарий


                  • Тут уже возникал вопрос о чтении файлов из универсальных транзакций. Был даже пример процедуры чтения файла (к сожалению, работает только для файлов менее 32Кб – ограничение размера текстовой переменной). И говорилось, что правильнее использовать класс exchange. Не подскажет ли кто-нибудь, кто это делал, как это правильно организовать. Я понял, последовательность такая:
                    1. Создать подкласс на exchange, определить на нем нужные реквизиты.
                    2. Переопределить метод import созданного класса (поделитесь простейшей процедурой! достаточно просто целиком прочитать строку, непонятно, куда ее потом девать ).
                    3. Создать транзакцию с новым классом. А как увидеть прочитанную строку? Как к ней обратиться?

                    Комментарий


                    • Тут уже возникал вопрос о чтении файлов из универсальных транзакций. Был даже пример процедуры чтения файла (к сожалению, работает только для файлов менее 32Кб – ограничение размера текстовой переменной).

                      Есть возможность чтения файлов с использованием шаблона класса FilterFile. Через атрибут FileName задается имя файла, codepage - для кодировки (если отлична от 866) и файл читается и обрабатывается как обычный фильтр.

                      Комментарий


                      • bulklodd
                        Кстати, при работе с FilterTable проверяются права доступа пользователей? Т.е., среди записей, отобраных по фильтру нужно в дальнейшем обрабатывать только те, на которые имеет права пользователь.

                        Комментарий


                        • Кстати, при работе с FilterTable проверяются права доступа пользователей?

                          Нет не проверяются, запись FilterTable это не объект, а всего лишь ссылка, и то в случае FilterFile, ей не является, поэтому проверка должна уже идти после формирования, когда эта ссылка становится объектом.

                          Комментарий


                          • bulklodd
                            Строю FilterTable, затем с помощью ОБЪЕКТ отбираю нужные строки.
                            Могу ли я без повторного поиска получить доступ к отобраным полям таблиц, включенных в FilterTable? В пямяти они вроде хранятся как объекты, но как работать с их значениями?

                            Комментарий


                            • Строю FilterTable, затем с помощью ОБЪЕКТ отбираю нужные строки.

                              Просто замечание:
                              FilterNav и ОБЪЕКТ для одного класса, есть суть одно и тоже, поэтому использовать их друг с другом недопустимая роскошь с точки зрения производительности.


                              Могу ли я без повторного поиска получить доступ к отобраным полям таблиц, включенных в FilterTable? В пямяти они вроде хранятся как объекты, но как работать с их значениями?

                              Да, можно, по умолчанию FilterTable живет до конца обработки шаблона, но если использовать реквизит Persist = YES, то FilterTable превращается в обычный реквизит с соответсвующей областью видимости, сослаться на который можно как @filtertable(номер шаблона>) и передать в ГР_ТРАНЗАКЦИЯ. Поведение по умолчанию сделано для экономии ресурсов.

                              Комментарий


                              • FilterNav и ОБЪЕКТ для одного класса, есть суть одно и тоже, поэтому использовать их друг с другом недопустимая роскошь с точки зрения производительности
                                Мне нужно дать пользователю возможность отобрать из отфильтрованных данных только то, что ему нужно, поэтому использую ОБЪЕКТ(Да,filtertable(10),'',''.',,loan). После этого мне нужно пройти по всем транзакциям, отобранным пользователем. Т.е. ГР_ТРАНЗАКЦИЯ тоже не совсем то, что нужно. Лучше ЦИКЛ. И в вызываемой в ЦИКЛ подтранзакции хотелось бы иметь доступ к полям filtertable.

                                Комментарий


                                • И в вызываемой в ЦИКЛ подтранзакции хотелось бы иметь доступ к полям filtertable.

                                  К полям - это хорошо, а как ты будешь задавать запись к которой надо обратиться?

                                  Комментарий


                                  • bulklodd
                                    Да, похоже никак.
                                    А поиск по filtertable никак нельзя?
                                    Через SEARCH?

                                    Комментарий


                                    • А поиск по filtertable никак нельзя?
                                      Через SEARCH?


                                      Пожалуй, это мысль надо подумать

                                      Комментарий


                                      • bulklodd
                                        Понятно, придется делать повторные запросы.

                                        Комментарий


                                        • bulklodd
                                          Есть возможность чтения файлов с использованием шаблона класса FilterFile. Через атрибут FileName задается имя файла, codepage - для кодировки (если отлична от 866) и файл читается и обрабатывается как обычный фильтр.

                                          Спасибо за подсказку!

                                          Комментарий


                                          • Добрый день.
                                            Использую в транзакции функцию КЛАССИФ. Каким образом регулировать отображение количества строк в окне? Иногда покажет весь классификатор, иногда - произвольное количество строк.

                                            Комментарий


                                            • Для информации. На саппорте новая дока по универсальным. В чем отличия от старой даже не смотрел.

                                              Комментарий


                                              • Жаль, что по некоторым функциям в УТ в базовой поставке нет работающих примеров использования.

                                                Комментарий


                                                • Поставила 21-22 патч. Как и было на тестовой - функция РЕКВИЗИТ начала выдавать красное сообщение на экран, вместо того, чтобы молча присваивать значение по умолчанию. Бисы обещают исправить в 26 патче. Как дожить-то? У кого-нибудь было? Побороли? Как?
                                                  Чем больше связей, тем меньше степеней свободы.

                                                  Комментарий


                                                  • Потихоньку пишу статейку про универсальные транзакции... вот что получается на данный момент http://udginrain.narod.ru/bnb/topics...ans/index.html

                                                    Комментарий


                                                    • Сообщение от Udgin Rain Посмотреть сообщение
                                                      Потихоньку пишу статейку про универсальные транзакции... вот что получается на данный момент http://udginrain.narod.ru/bnb/topics...ans/index.html
                                                      Wow, здорово!!! Есть несколько замечаний, которые отправлю приватно

                                                      Комментарий


                                                      • Вопрос по работе с картотекой 2 в НТ. Кто-нибудь ставит на картотеку из НТ? У вас после 22-23 патча ничего не слетало?
                                                        Чем больше связей, тем меньше степеней свободы.

                                                        Комментарий


                                                        • Дело даже не в картотеке. Нет возможности создать документ статуса К или Ф (без расширенной обработки) по счетам с БлокДб или картотекой.
                                                          Чем больше связей, тем меньше степеней свободы.

                                                          Комментарий


                                                          • Чернушка То есть они наконец добавили стандартную обработку контроля при вводе документов?
                                                            А в статусе В можно создать?

                                                            Комментарий


                                                            • Нельзя.
                                                              Чем больше связей, тем меньше степеней свободы.

                                                              Комментарий

                                                              Обработка...
                                                              X