Имя: Пароль:
1C
 
Как получить массив всех строк табчасти на сервере. Управляемые формы.
0 Cherokee
 
17.08.15
14:36
Есть такая функция:
Элементы.Товары.ВыделенныеСтроки

Возвращает массив идентификаторов выделенных строк таб.части товары (в данном случае). Может использоваться на сервере.

А можно ли как-то собрать идентификаторы всех строк таб. части? Надо, для написания групповых обработок с заказами клиента в ERP2.0, т.к. внутренние процедуры в ядре оперируют как раз массивами идентификаторов, а не массивами индексов строк.
1 zak555
 
17.08.15
14:38
задачу поточнее опиши
2 Cherokee
 
17.08.15
14:44
(1) Начну издалека. У нас операторы колбасят по 150 заказов клиента в день каждый. Заказы приходят в XML файлах. Вот надо сделать ускорения в работе. На данный момент, я сделал, чтоб подгрузилось из файла.

Сейчас этап 2. Сделать так, чтоб при загрузке сразу все строки переводились в статус "Резервировать на складе". Для того, чтоб сделать это интерактивно, надо выделить все строки и щелкнуть пару раз мышкой по менюшкам. Сокращаем данную процедуру.
Надо чтоб процедуры, которые отрабатывают данный момент, отработали автоматически при загрузке данных из файла без дополнительного нажатия кнопок. Процедуры внутри проги, работают с массивом идентификаторов выделенных строк. Используется след.команда для получения его:
Элементы.Товары.ВыделенныеСтроки

Я хочу обхитрить конфу и подсунуть вместо данной функции, свой массив идентификаторов. Вот вопрос - как его получить? Массив идентификаторов всех строк, на сервере.
3 hhhh
 
17.08.15
14:51
(2) ну поставить на первом этапе этот статус.
4 zak555
 
17.08.15
14:53
(2) не проще посмотреть, как назначены обработчики событий в конфе для установке статуса  "Резервировать на складе" и повторить его в своей обработке заполнения ?*
5 Cherokee
 
17.08.15
14:54
(3) Я это и хочу сделать. Только есть нюанс, мне нужны процедуры, которые срабатывают при постановке в резерв. Поэтому втупую нельзя.
6 Cherokee
 
17.08.15
14:54
(2) Я посмотрел, они работают с идентификаторами выделенных строк
7 Cherokee
 
17.08.15
14:55
Видимо, придется в процедурке, что собирает строки, таки вписать обработку по индексам вместо идентификаторов.
8 Cherokee
 
18.08.15
13:10
Забыл вчера написать. Пусть останется на будущее тем, кто будет искать в гугле.

Делать надо перебором строк коллекции. Собирать массив идентификаторов и потом его отдавать на обработку.

&НаСервере
Функция ПолучитьМассивИдентификаторовВсехСтрокТабЧасти()
    
    Массив = Новый Массив;
    
    Для Каждого Стр Из Объект.Товары Цикл
        Массив.Добавить(Стр.ПолучитьИдентификатор());
    КонецЦикла;
    
    Возврат Массив;
    
КонецФункции
9 katc
 
18.08.15
13:18
(8) Это пять!
10 Cherokee
 
18.08.15
13:21
(9) Можно по-другому? Подскажи, я не нашел.
11 Cherokee
 
18.08.15
13:22
(9) Или просто намекаешь, что ВыгрузитьКолонку круче?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс