|
Как обойти в цикле данные формы списка Номенклатура? | ☑ | ||
---|---|---|---|---|
0
program345
12.03.15
✎
15:12
|
Доброго дня!
Пытаюсь получить доступ к данным формы списка Номенклатура, элементы.Список.ТекущиеДанные = так дает только текущую строчку... |
|||
1
D_E_S_131
12.03.15
✎
15:18
|
А нет никаких данных потому что. Есть строки, отображенные по данным в ИБ. Есть предопределенная процедура для списка ПриПолученииДанных, но и там будет не только то, что ты видишь в списке.
|
|||
2
DirecTwiX
12.03.15
✎
15:19
|
ПостроительЗапроса должен вроде нормально отработать. Но лучше скажи, зачем тебе это нужно.
|
|||
3
fisher
12.03.15
✎
15:21
|
ПостоительЗапроса в обычных формах лечит.
На УФ реализовано в 8.3.6 |
|||
4
program345
12.03.15
✎
15:26
|
(2) отображать остатки номенклатуры по кнопке формы списка
|
|||
5
DirecTwiX
12.03.15
✎
15:27
|
(4) Тогда тебе нужна процедура ПриПолученииДанных()
|
|||
6
DirecTwiX
12.03.15
✎
15:28
|
(5) Хотя у тебя УФ.. Поэтому можно использовать динамический список с твои произвольным запросом, который подцепит отстатки.
|
|||
7
program345
13.03.15
✎
13:20
|
написал код:
// &НаКлиенте Процедура УказатьОстатки(Команда) УказатьОстаткиСервер(); Элементы.Список.Обновить(); КонецПроцедуры &НаСервере Процедура УказатьОстаткиСервер() Граница = Новый Граница(Дата, ВидГраницы.Включая); ТаблЗн = РегистрыНакопления.ТоварыНаСкладах.Остатки(Граница,,"Номенклатура",); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура"; РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл СпрОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); СтрокаТЗ = ТаблЗн.Найти(ВыборкаДетальныеЗаписи.Ссылка, "Номенклатура"); Если Не ЗначениеЗаполнено(СтрокаТЗ) Тогда Продолжить; КонецЕсли; СпрОбъект.Остаток = СтрокаТЗ.Количество; СпрОбъект.Записать(); КонецЦикла; КонецПроцедуры // УказатьОстаткиСервер() // |
|||
8
program345
13.03.15
✎
13:23
|
код написан в модуле формы списка Номенклатура. Оптимизация приветствуется.
|
|||
9
program345
13.03.15
✎
13:25
|
(5) ПланОбменаОбъект.<Имя плана обмена> (ExchangePlanObject.<Имя плана обмена>)
ПриПолученииДанныхОтГлавного (OnReceiveDataFromMaster) как это можно присенить? |
|||
10
fdgd98
13.03.15
✎
13:25
|
(7) я такое делал. тебе надо в динамическом списке, сделать произвольный запрос(левым соединение с регистром) и появиться у тебя колонка количество
|
|||
11
program345
13.03.15
✎
13:26
|
(6) а можно поподробнее, в (7) это не то?
|
|||
12
program345
13.03.15
✎
13:27
|
(10) есть код7
|
|||
13
D_E_S_131
13.03.15
✎
13:28
|
(12) Это не код — это "дичь".
|
|||
14
program345
13.03.15
✎
13:55
|
(13) &НаКлиенте
Процедура УказатьОстатки(Команда) УказатьОстаткиСервер(); Элементы.Список.Обновить(); КонецПроцедуры &НаСервере Процедура УказатьОстаткиСервер() Граница = Новый Граница(Дата, ВидГраницы.Включая); ТаблЗн = РегистрыНакопления.ТоварыНаСкладах.Остатки(Граница,,"Номенклатура",); ТекНоменклатура = Элементы.Список.ТекущаяСтрока; СтрокаТЗ = ТаблЗн.Найти(ТекНоменклатура,"Номенклатура"); Если ЗначениеЗаполнено(СтрокаТЗ) Тогда Остаток1 = СтрокаТЗ.Количество; Иначе Остаток1 = 0; КонецЕсли; КонецПроцедуры // УказатьОстаткиСервер() указал поле для текущей строки |
|||
15
D_E_S_131
13.03.15
✎
14:46
|
В (6) речь про это
http://hkar.ru/zsln |
|||
16
program345
13.03.15
✎
20:52
|
(15) спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |