Имя: Пароль:
1C
1С v8
Заполнение табличной части в 8.2
,
0 hawk1
 
16.04.13
18:01
Написал процедуру для заполнения табличной части документа

&НаСервере
Процедура Заполнить(Команда)
   СпрСотр = Справочники.Сотрудники;
   СписокСотр = СпрСотр.Выбрать();
   Для Каждого Сотр Из СписокСотр Цикл
       Сообщить(Сотр);
       Стр = Элементы.РасчетЗаработнойПлаты.ДобавитьСтроку();
       Стр.Сотрудник = Сотр;
       Стр.Оклад = Сотр.Должность.Оклад;
   КонецЦикла
КонецПроцедуры

Повесил ее на кнопку. Но почему-то при нажатии ничего не происходит
1 Любопытная
 
16.04.13
18:01
Потому что команды на клиенте
2 Wobland
 
16.04.13
18:11
>Элементы.РасчетЗаработнойПлаты.ДобавитьСтроку();
очередной новоиспытатель, не понимающий разницы между данными и их визуализацией. зачем в элементы управления стучишься?
3 grayshadow
 
16.04.13
18:46
Стр = РасчетЗаработнойПлаты.Добавить();
4 hawk1
 
16.04.13
18:55
Сделал так
&НаКлиенте
Процедура Заполнить(Команда)
   ЗаполнитьСписокСотрудников();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьСписокСотрудников()
   СпрСотр = Справочники.Сотрудники;
   СписокСотр = СпрСотр.Выбрать();
   Для Каждого Сотр Из СписокСотр Цикл
       Сообщить(Сотр);
       Стр = Элементы.РасчетЗаработнойПлаты.ДобавитьСтроку();
       Стр.Сотрудник = Сотр;
       Стр.Оклад = Сотр.Должность.Оклад;
   КонецЦикла
КонецПроцедуры

Теперь говорит что итератор для значения не определен.
5 Wobland
 
16.04.13
19:04
(4) поддерживаю
6 grayshadow
 
16.04.13
19:13
пока СписокСотр.Следующий() Цикл
7 grayshadow
 
16.04.13
19:19
и хватит уже добавлять строку в элементы формы:)
8 Мимохожий Однако
 
16.04.13
20:00
(4) см. (3)
(4) см. (3)
(4) см. (3)
(4) см. (3)
9 hawk1
 
16.04.13
20:10
Сделал.
   Объект.РасчетЗаработнойПлаты.Очистить();
   СпрСотр = Справочники.Сотрудники;
   СписокСотр = СпрСотр.Выбрать();
   Пока СписокСотр.Следующий() Цикл
       Сотр = СписокСотр.ПолучитьОбъект();
       Стр = Объект.РасчетЗаработнойПлаты.Добавить();
       Стр.Сотрудник = Сотр.Наименование;
       Стр.Оклад = Сотр.Должность.Оклад;
   КонецЦикла
Поле Оклад заполняется, а поле Сотрудник почему то остается пустым.
10 Мимохожий Однако
 
16.04.13
20:13
Стр.Сотрудник = Сотр.Ссылка;
11 Мимохожий Однако
 
16.04.13
20:14
Сотр = СписокСотр.ПолучитьОбъект(); //лишнее
12 hawk1
 
16.04.13
21:34
А как перебрать все строки табличной части чтоб можно было обращаться к отдельным ее реквизитам?
13 Rovan
 
гуру
16.04.13
22:09
(12) Для каждого т_строка ИЗ ТаблЧасть Цикл
Рекв = т_строка.Рекв;
...
14 hawk1
 
16.04.13
22:25
ЗП = Сотр.Оклад / Объект.КоличествоКалендарныхДней * Сотр.КоличествоОтработанныхДней;
       Если Число(ЗП) < Константы.МРОТ Тогда
           ЗП = Константы.МРОТ;
       КонецЕсли;
выдает ошибку Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
15 borozavr
 
16.04.13
22:34
Надо Константы.МРОТ.Получить()
16 unkairosed
 
16.04.13
22:40
При всем потенциальном уважении к неизвестному мне ТС не могу понять, как человек со стажем 3.5 года может задавать такие вопросы. Или клюшки?
17 zippygrill
 
16.04.13
23:07
(16) да...не говори :)