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

Хранилище

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

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



> Перебор таблицы значений из реквизита формы , в порядке отображения          
pablo Подменю пользователя
сообщение 24.07.20, 14:07
Сообщение #1

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Имеется таблица значений в реквизите формы. В ней есть несколько строк. Пользователь изменил порядок строк в ТЗ. Как программно перебрать строки ТЗ в порядке, который задал пользователь?


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Vofka Подменю пользователя
сообщение 24.07.20, 14:44
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

Эта ТЗ выведена на форму обычным способом? И в таком случае если пользователь на форме меняет порядок, в источнике порядок не меняется?

pablo Подменю пользователя
сообщение 24.07.20, 14:52
Сообщение #3

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Vofka @ Сегодня, 14:44 * ,
1. Да, самым обычным
2. Не меняется sad.gif
Единственный обходной путь, который нашел - это сделать обработку и в ней табличную часть для тех же нужд. У ТЧ есть предопределенный реквизит НомерСтроки и он меняется в зависимости от порядка на форме.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

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

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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

pablo Подменю пользователя
сообщение 27.07.20, 8:21
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Да.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

bakalavr Подменю пользователя
сообщение 27.07.20, 10:40
Сообщение #6

Общительный
**
Группа: Пользователи
Сообщений: 26
Из: Запорожье
Спасибо сказали: 8 раз
Рейтинг: 0

У меня работает: меняю порядок строк и в реквизите порядок меняется. Платформа 8.3.14.

pablo Подменю пользователя
сообщение 27.07.20, 13:24
Сообщение #7

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

bakalavr, Как вы проверяете порядок?
мне такой код:
    Для индекс =0 по ТоварыБУ.Количество()-1 цикл
        Сообщить(ТоварыБУ.НайтиПоИдентификатору(индекс).номенклатура);
    КонецЦикла;

Выдает порядок, отличный от порядка на экране.
Платформа 8.3.11.3034.

Здесь ТоварыБУ - ТЗ в реквизите, а Номенклатура - текстовое поле.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

bakalavr Подменю пользователя
сообщение 27.07.20, 14:18
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 26
Из: Запорожье
Спасибо сказали: 8 раз
Рейтинг: 0

Вот так
Для каждого СтрокаТаблицы Из ТоварыБУ Цикл
    Сообщить(СтрокаТаблицы.Номенклатура);
КонецЦикла;


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

pablo Подменю пользователя
сообщение 27.07.20, 14:45
Сообщение #9

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Логично и просто, но для моей более крупной задачи не подходит sad.gif Там нужно сохранить сопоставление из двух отсортированных пользователем ТЧ.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

bakalavr Подменю пользователя
сообщение 27.07.20, 15:16
Сообщение #10

Общительный
**
Группа: Пользователи
Сообщений: 26
Из: Запорожье
Спасибо сказали: 8 раз
Рейтинг: 0

Почему не подходит? Чего не хватает для сопоставления?

Vofka Подменю пользователя
сообщение 27.07.20, 15:32
Сообщение #11

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

pablo, если вы сопоставляете таблицы по индексу, то это скорее всего проблема. Индекс может поменяться, если таблица есть на форме и строки в ней могут двигать. Я для таких вещей делаю идентификационное строковое поле, в которое пишу УИД.

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

Макс1С Подменю пользователя
сообщение 28.07.20, 9:14
Сообщение #12

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 189
Из: Днепр
Спасибо сказали: 62 раз
Рейтинг: 58.6

Согласен с Владимиром, наверное оптимальный вариант. В типовой BAS ERP во многих документах именно такой подход, и даже в некоторых регистрах привязка к строкам делается именно так

pablo Подменю пользователя
сообщение 28.07.20, 11:16
Сообщение #13

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

bakalavr @ Вчера, 15:16 * ,
Перебора не хватает. Как перебрать одновременно две ТЗ (не ТЧ) посредством цикла для каждого из Вашего предложения? после сортировки пользователя строки на одинаковых позициях в списке должны сопоставиться программно.
Процесс сопоставления организован через идентификаторы, как и предлагает Vofka. Для хранения сопоставления есть отдельная ТЗ и там в принципе проблем нет.


Signature
Правильно поставленный вопрос содержит до 90% ответа.

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


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

 

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