8.х Необходимо в ручную передвинуть эл-ты списка номенклатуры

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем SimPx, 1 мар 2009.

  1. TopicStarter Overlay
    SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Платформа 8.1.13.41

    Типовая конфа УТ 10.3

    Справочник Номенклатура, форма списка номенклатуры.

    Возникла необходимость в ручную передвинуть элементы списка номенклатуры, по условию. Целый день убил, не нашел как это сделать. Данные выводятся в ТабличноеПоле, а методов необходимых для ручного изменения выведения порядка строк по списку так и не нашел. Так же не нашел как можно данные с этого ТабличногоПоля считать. Гуру помогите плз.
  2. KiberMath
    Offline

    KiberMath Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    что значит "передвинуть элементы списка номенклатуры"? О_о
    а фраза "ручного изменения выведения порядка строк по списку" ?
    не вижу смысла вопроса )
  3. TopicStarter Overlay
    SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Это значит, что есть необходимость выводить элементы номенклатуры в список по определенному порядку. Допустим
    Выводит вот так:

    Справочник Номенклатура. Список.

    Наименование Остаток
    Крупа...............10
    Овсянка...........0
    Молоко.............8

    Нужно вывысти вот так:

    Наименование Остаток
    Крупа...............10
    Молоко.............8
    Овсянка............0

    Причем, Остаток это не реквизит, а добавленная колонка в которой данные динамически обновляются. Поэтому я не могу установить сортировку по этой колонке. А нужно каким-то макаром передвигать эл-ты с нулевым остатком в конец списка. В этом и трабл.
  4. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Маразм крепчал. :)

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

    Второй. Работает только при установленной сортировке по коду. Добавляем две кнопочки со стрелочкам в "Основные действия формы". При нажати на стрелочку "Вниз" у текущего элемента списка и следующего за ним меняем коды местами и оба элемента записываем. При нажати на стрелочку "Вверх" - наоборот.

    Третий. Создаем у справочника "Номенклатура" дополнительный реквизит с признаком "Индексировать с дополнительным упорядочиванием". Тип- строка. Заполняем его по своему усмотрению. Используем стандартный механизм "Установить отбор и сортировку списка". А далее см. вариант второй, со стрелочками, только оперируем не кодом элемента, а этим реквизитом.
  5. KiberMath
    Offline

    KiberMath Опытный в 1С

    Регистрация:
    22 сен 2008
    Сообщения:
    61
    Симпатии:
    0
    Баллы:
    26
    фигасе народ развлекаеца ))
  6. tunec
    Offline

    tunec Опытный в 1С

    Регистрация:
    2 июн 2008
    Сообщения:
    469
    Симпатии:
    0
    Баллы:
    26
    четвертый - создать свою форму списка и заполнять форму вручную, через запрос. Поставить ее основной...
  7. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    ну просто все другие задачи уже решены :)
  8. TopicStarter Overlay
    SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Спасибо за советы.

    2 Федя Сумкин.

    Дельные решения, но тут похоже я не правильно выразил мысль. Под ручным выводом имелась процедура которая автоматически будет помещать эл-ты с нулевыми остатками в конец списка.
    Термин "вручную" использован потому, что писать то ручками придется, стандартной сортировкой не обойдешься.

    Но про запись реквизитов поясню отдельно(относится ко 2-му и 3-му способу). В базе работают одновременно 10 пользователей. Если у кого-то будет открыт эл-т, который таким способом будут передвигать, программа выдаст ошибку(записать не удасться).

    Пробовал Остаток добавить как реквизит. При открытии справочника или группы этот реквизит обновлял, записывал и выполнял по нему сортировку. Вроде все проканало, задача решена... Ан нет. После переноса изменений в рабочую базу ужас начался. Несолько пользователей одновременно открывают номенклатуру и у всех вываливается ошибка записи эл-та. Так что от этого варианта пришлось отказаться.

    Скорее всего воспользуюсь 1-ым вариантом, создам отдельную обработку. Либо вариантом который предложил tunec. Всем спасибо. Может еще какие варианты есть?
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Пипец!
    Читай эту тему.
    А так - формируй свой список, но это будет не ахти, как быстро.
  10. TopicStarter Overlay
    SimPx
    Offline

    SimPx

    Регистрация:
    9 сен 2008
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    У меня уже и так все было сделано, по аналогии того, как ты указал в той теме. Но вопрос не был решен окончательно. Сортировка то не ставилась. Поэтому и пришлось поизвращаться. Видимо так и придется сейчас свой список формировать.

    Интересно, что будет "не ахти, как быстро"? Написание обработки, либо сама обработка тормознуто работать будет?
  11. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Работа динамического списка и обычно ТЗ - совершенно разные вещи.
    В 8.2 проблема решена через использование СКД.

Поделиться этой страницей