Имя: Пароль:
1C
 
Странного хочу. Перебрать таблицу на форме.
0 toran1
 
16.06.16
15:48
Доброго. Я конечно понимаю что извращение, но блин такая мне обработка досталась. Как это мне перебрать таблицу на форме. Толстый клиент, 8,2.
Спасибо.
1 MrStomak
 
16.06.16
15:49
1. Посмотреть в "Данные" реквизит формы, связанный с таблицей
2. Перебрать
3. ????
4. PROFIT
2 Зая Бусечка
 
16.06.16
15:50
Для каждого стр из ЭлементыФормы.ТаблицаНаФорме....
3 toran1
 
16.06.16
15:52
(1) А вот болт. Уже отладчиком прошел, нету в данные, данных. А на экране вижу.
4 toran1
 
16.06.16
15:53
(2)Ошибка.
Итератор для значения не определен
Код
Для Каждого ТекСтрока Из ЭтаФорма.ЭлементыФормы.Товары Цикл
5 hhhh
 
16.06.16
15:58
Для Каждого ТекСтрока Из Товары Цикл
6 Euguln
 
16.06.16
16:01
Для Каждого ТекСтрока Из ЭтаФорма.ЭлементыФормы.Товары.ПолучитьЭлементы() Цикл
7 toran1
 
16.06.16
16:17
(6) Метод объекта не обнаружен (ПолучитьЭлементы)
    Для Каждого ТекСтрока Из ЭтаФорма.ЭлементыФормы.Товары.ПолучитьЭлементы() Цикл
(5) Фиг, пусто тама.
8 ilkoder
 
16.06.16
16:19
А таблица случайно не отображает документ или справочник какой?
9 toran1
 
16.06.16
16:22
Вот такие свойства.
http://prntscr.com/bh3u0q
10 toran1
 
16.06.16
16:22
(8) Точно нет, это внешняя обработка.
11 drcrasher
 
16.06.16
16:22
таблица в конфигураторе видна? или отдельно вкорячивается на форму?
12 Ёпрст
 
16.06.16
16:23
(10) и че, как в (5) не работает разве ?
13 drcrasher
 
16.06.16
16:24
+(12) ну или ЭтотОбъект.Товары
14 toran1
 
16.06.16
16:27
(11) Видна
http://prntscr.com/bh3wix
15 Euguln
 
16.06.16
16:29
8.2 жешь. ПриПолученииДанных событие кури.
16 ilkoder
 
16.06.16
16:29
А зачем вообще получать элементы формы, они же просто отображают табличную часть
Для Каждого ТекСтрока Из Товары Цикл
17 takefive
 
16.06.16
16:30
А что у тебя "ОсновнойРеквизитФормы"?
18 ilkoder
 
16.06.16
16:30
это ведь толстый клиент, а не управляемые формы
19 toran1
 
16.06.16
16:33
(12) Пусто тама.
http://prntscr.com/bh3ydr
Хотя вижу же
http://prntscr.com/bh3z9c
20 ilkoder
 
16.06.16
16:35
так они наверняка заполняются при выводе на форму
21 takefive
 
16.06.16
16:41
ОсновнойРеквизитФормы на закладке реквизиты выделен жирным...
22 lEvGl
 
гуру
16.06.16
16:47
(0) та ппц, разберись откуда колонка заполняется
23 Ёпрст
 
16.06.16
16:57
(19) че пусто ?
всё там есть. А так, то что ты видишь, может тупо в ПриВыводеСтроки отображается или в ПриПолучченииДанных
24 toran1
 
17.06.16
07:51
Ну и как мне до них добраться?
Таблица заполняется по кнопке. Я на форму кинул свою кнопку где тупо и написал код перебрать.
Процедура ОсновныеДействияФормыВАкт(Кнопка)
    Для Каждого ТекСтрока Из Товары Цикл
        Сообщить(" - 11 " + ТекСтрока.Номенклатура);
           Сообщить(" - 22 " + ТекСтрока.АлкоПДФ);
    КонецЦикла
КонецПроцедуры

Так вот номенклатура выводится, а АлкоПДФ - пусто.
В общем око видит, зуб неймет. Хочу, хочу.
25 samozvanec
 
17.06.16
08:39
(24) короче инструкция
1. переходишь в модуль, туда, где код писан
2. жмешь контрол-ф
3. пишешь там АлкоПДФ
4. жми искать, пока не найдешь, что туда кладут
26 Lexey_
 
17.06.16
09:05
(0) ну если строковые значения тебя устроят то:
Для каждого ТекСтрока Из Товары Цикл
    Сообщить(ЭлементыФормы.Товары.ОформлениеСтроки(ТекСтрока).Ячейки.АлкоПДФ.Текст);
КонецЦикла;
27 catena
 
17.06.16
09:30
(24)Посмотри на форме колонка АлкоПДФ связана с данными таблицы или тупо отдельное поле ввода?
28 toran1
 
17.06.16
09:48
(25) Болт. Там хитрая процедура заполнения. Большая такая. Мне ее не осилить.
(26)Чето я не въехал, перебираем один объект Таблица, смотрим на другой? Не работает.
(27)Связана, но заполнение ее от меня ускользает. Больно обработка мудрено написано.
29 Lexey_
 
17.06.16
09:53
(28) работает
30 Smile 8D
 
17.06.16
10:08
(28) Т.е. по факту ты просишь нас угадать что происходит в коде, который мы не видим, потому что ты видя код не можешь в нем разобраться?
31 toran1
 
17.06.16
10:15
(29) Тогда тоже пусто.
32 toran1
 
17.06.16
10:16
(30) Нет, я хочу эту таблицу с формы. Там данные есть. И именно с формы, потому как она заполняется хрен ногу сломит.
33 toran1
 
17.06.16
10:22
Вот, с вашей помощью, нарыл где они заполняются эти поля.
Помогите понять логику кода. Плиз.
Процедура ТаблицаТоваровПриПолученииДанных(Элемент, ОформленияСтрок)
    
    ВестиСерийныеНомера = "ВестиСерийныеНомера";
    Если Найти(мНазваниеКонфигурации,"штрихм") > 0 Тогда
        ВестиСерийныеНомера = "УчетПоСерийнымНомерам";
    КонецЕсли;
    
    СтруктураПоискаДополнительныхПолей = Новый Структура("ПолеШапкиДокументаТСД_Имя,ПолеСтрокиДокументаТСД_НомерСтроки");
    
    Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл
        Если  Найти(мНазваниеКонфигурации, "далионуправлениемагазином") > 0 тогда
        ИначеЕсли  Найти(мНазваниеКонфигурации, "автосалон5") > 0 тогда
            Попытка
                Если ОформлениеСтроки.Ячейки.Номенклатура.Значение <> Неопределено и ОформлениеСтроки.Ячейки.Номенклатура.Значение.ТипНоменклатуры.УникальностьСерийногоНомера тогда
                    ОформлениеСтроки.Ячейки.Номенклатура.УстановитьКартинку(мКартинкаСерийныеНомера);
                КонецЕсли;
            Исключение
            Конецпопытки;                   
        Иначе
            Попытка
                Если ОформлениеСтроки.Ячейки.Номенклатура.Значение <> Неопределено и ОформлениеСтроки.Ячейки.Номенклатура.Значение[ВестиСерийныеНомера] тогда
                    ОформлениеСтроки.Ячейки.Номенклатура.УстановитьКартинку(мКартинкаСерийныеНомера);
                КонецЕсли;
            Исключение
            Конецпопытки;
        КонецЕсли;
        
        Если ОформлениеСтроки.Ячейки.Количество.Значение <> Неопределено и ОформлениеСтроки.Ячейки.Количество.Значение <  ОформлениеСтроки.Ячейки.КоличествоПлан.Значение Тогда
            ОформлениеСтроки.ЦветТекста = Новый Цвет(255, 0, 0);
        иначе
            ОформлениеСтроки.ЦветТекста =  ЦветаСтиля.ЦветТекстаПоля;
        КонецЕсли;
        
        //заполнение дополнительных полей.+         
        СтрокаВТаблицеТовары = Товары.Найти(ОформлениеСтроки.Ячейки.НомерСтроки.Значение,"НомерСтроки");
        Если СтрокаВТаблицеТовары <> Неопределено тогда
            СтруктураПоискаДополнительныхПолей.Вставить("ПолеШапкиДокументаТСД_Имя",СтрокаВТаблицеТовары.ДокументТСД);
            СтруктураПоискаДополнительныхПолей.Вставить("ПолеСтрокиДокументаТСД_НомерСтроки",Строка(СтрокаВТаблицеТовары.НомерСтрокиДокументаТСД));            
            НайденныеСтроки = ТаблицаСоВсемиПолямиДокументаТСД.НайтиСтроки(СтруктураПоискаДополнительныхПолей);
            Если НайденныеСтроки.Количество() > 0 Тогда
                НайденнаяСтрока = НайденныеСтроки[0];
                Для каждого КолонкаТаблицы из ТаблицаСоВсемиПолямиДокументаТСД.Колонки Цикл
                    КолонкаТаблицыИмя = КолонкаТаблицы.Имя;
                    Если КолонкаТаблицыИмя = "ПолеШапкиДокументаТСД_Имя" тогда
                        Продолжить
                    КонецЕсли;                       
                    ОформлениеСтроки.Ячейки[КолонкаТаблицыИмя].Текст    = НайденнаяСтрока[КолонкаТаблицы.Имя];
                КонецЦикла;
            КонецЕсли;
        КонецЕсли;
        //заполнение дополнительных полей.-
    КонецЦикла;
34 Lexey_
 
17.06.16
10:25
(31) докажи
35 lEvGl
 
гуру
17.06.16
10:27
(32) заполни сам и будешь знать :)
ТаблицаСоВсемиПолямиДокументаТСД вроде это исходная таблица, если так, то можно перебрать ее, минуя табличное поле, и получить данные
36 toran1
 
17.06.16
10:30
(34)
Так написал.
Процедура ОсновныеДействияФормыВАкт(Кнопка)
    Для каждого ТекСтрока Из Товары Цикл
           Сообщить(" - 11 " + ЭлементыФормы.Товары.ОформлениеСтроки(ТекСтрока).Ячейки.ПДФ417.Текст);
    КонецЦикла;
КонецПроцедуры

На выходе.
- 11
- 11
- 11
- 11
- 11
37 Lexey_
 
17.06.16
10:34
(36) а АлкоПДФ вместо ПДФ417 пробовал?
38 toran1
 
17.06.16
10:39
(37) Угу. И не только. Кроме номенклатуры в остальном облом.
39 ovrfox
 
17.06.16
10:39
Логики в коде мало
А идея в том, чтобы не рассчитывать отдельно значение поля и отдельно его раскраску.
40 toran1
 
17.06.16
10:45
(35) Бинго. Это Таблица значений, и тама все есть.
я тя люблю.
41 Ёпрст
 
17.06.16
10:45
Да ё, смотри , как и чем заполнена ТаблицаСоВсемиПолямиДокументаТСД и привет
42 Ёпрст
 
17.06.16
10:47
(33) если че, нет там никакой логики. Просто для каждой видимой строки Товары ищется соответствие по номеру строки в табличке ТаблицаСоВсемиПолямиДокументаТСД  и выводится Текст в табличное поле. Усё
43 hhhh
 
17.06.16
10:52
(40) не всё так просто.
44 toran1
 
17.06.16
10:54
(43) Чегой это?
45 toran1
 
17.06.16
11:18
Колись давай, а то напугал тут и в кусты.
46 eryomin
 
17.06.16
11:32
(36) поставь точку останова на  "Для Каждого ТекСтрока Из Товары Цикл" и посмотри, какие коллекции вообще есть на форме. Что понравится, то и перебирай.
47 FIXXXL
 
17.06.16
13:01
(42) образец "как не надо копрокодить"
более всего радует:
Если  Найти(мНазваниеКонфигурации, "далионуправлениемагазином") > 0