Имя: Пароль:
1C
 
Присвоить реквизиту значение из массива
, , ,
0 Лалым
 
30.07.15
11:47
Есть куча (12) реквизитов табличной части типа дней1...  дней12
данные есть в массиве ДнейОтработано[а]
Как в цикле загнать эти данные в ТЧ документа не используя
дней1 = ДнейОтработано[1]
дней2 = ДнейОтработано[2]
и так далее
1 johnny17
 
30.07.15
11:49
Попробуй ТЧ["поле1"]
2 Maxus43
 
30.07.15
11:50
Текст = "Дней"+ к + "= "ДнейОтработано" + к;
Выполнить к;

как то так попробуй)
3 Maxus43
 
30.07.15
11:50
*выполнить(текст)
4 Timon1405
 
30.07.15
11:51
Для Сч=1 По 12 Цикл
  ТЧ["Дней"+Сч] = ДнейОтработано[Сч];
КонецЦикла;
5 Лалым
 
30.07.15
11:52
(1) наверное ТЧ["поле" +а]
ну щас буду пробовать
6 Лалым
 
30.07.15
12:09
(3) Авполнить - ругается
7 Maxus43
 
30.07.15
12:16
(6) ну в СП глянь синтаксис команды выполнить, и чо она делает. я идею кинул
8 Poluk
 
30.07.15
12:32
Попробуй :

Для Сч=1 По 12 Цикл
  ТЧ["Дней"+Строка(Сч)] = ДнейОтработано[Сч];
КонецЦикла;
9 shpioleg
 
30.07.15
12:42
Цикл лучше крутить
Для сч = 0 по ДнейОтработано.ВГраница() Цикл
10 Лалым
 
30.07.15
12:52
(8) ТЧ<<?>>.["Дн"+Строка(а)] = ОтработаноноДней;
{Документ.Больничные.Форма.Модуль(32)}: Переменная не определена (ТЧ)
(9) цикл то крутится нормально, присвоить реквизиту  значение вот в чем проблема
11 Лалым
 
30.07.15
12:54
(8) Это если точка после ТЧ  если точки нет то переменная не обявлена как массив
12 Лалым
 
30.07.15
13:09
Ап
13 Лалым
 
30.07.15
13:15
ДенисЧ где ты
ты должен знать
14 shpioleg
 
30.07.15
13:17
(13) Лол. Синтакс-помощник тоже знает.
15 Лалым
 
30.07.15
13:25
(14) Если знаешь что у него спрашивать. у Сп имеется в виду
16 shpioleg
 
30.07.15
13:46
(15)

    ОтработаноДней = Новый Массив;
    Для ш =1 по 5 Цикл
        ОтработаноДней.Добавить(ш*2);    
    КонецЦикла;
    //10 строк добавим
    Для ш =1 по 10 Цикл
        нсТЧДни = Объект.ТЧДни.Добавить();
        Для инд = 0 по ОтработаноДней.ВГраница() Цикл
            нсТЧДни["Дней" + (инд + 1)] = ОтработаноДней[инд];    
        КонецЦикла;        
    КонецЦикла;
17 Лалым
 
30.07.15
17:43
(16) при чем тут десять строк при чем тут шаги и прочее
задача до одури однозначна, есь реквизиты у табличной части документа
12 штук одного реквизита Дн1,Дн2 и так доалее до Дн12
и 12 штук другого ЗРП1, ЗРП2 и так далее до ЗРП12
Есть некая процедура которая находит и помещает в массив данные дляэтих реквизитов
Как в цикл же дать имя реквизиту и присвоить ему значение
По идее как в (4) или в (8)
но так не работает
18 Лалым
 
30.07.15
17:49
задача заменить вот этот код
    Дн1 = РабДней[1];
    ЗРП1 = Зарплата[1]
    Дн2 = РабДней[2];
    ЗРП2 = Зарплата[2]
    Дн3 = РабДней[3];
    ЗРП3 = Зарплата[3]
    Дн4 = РабДней[4];
    ЗРП4 = Зарплата[4]
    Дн5 = РабДней[5];
    ЗРП5 = Зарплата[5]
    Дн6 = РабДней[6];
    ЗРП6 = Зарплата[6]
    Дн7 = РабДней[7];
    ЗРП7 = Зарплата[7]
    Дн8 = РабДней[8];
    ЗРП8 = Зарплата[8]
    Дн9 = РабДней[9];
    ЗРП9 = Зарплата[9]
    Дн10 = РабДней[10];
    ЗРП10 = Зарплата[10]
    Дн11 = РабДней[11];
    ЗРП11 = Зарплата[11]
    Дн12 = РабДней[12];
    ЗРП12 = Зарплата[12]
чем нибуть покомпактней и покрасивей
19 salvator
 
30.07.15
17:55
(17) "но так не работает"

А че именно не работает-то - самим надо догадаться?
20 Лалым
 
30.07.15
17:56
(19) Ошибку выдает выше писал
21 salvator
 
30.07.15
17:59
(20) И что неясного в тексте ошибки?
22 Лалым
 
30.07.15
18:02
Ясно что не  не принимает ТЧ ни как переменную ни как массив
объявить ТЧ масивом???
23 johnny17
 
30.07.15
18:24
ТЧ - это что, табличная часть или строка таб. части?
24 Лалым
 
30.07.15
18:26
По идее табличная часть
25 johnny17
 
30.07.15
18:30
Ндя ТЧ - это как таблица значений, у нее нет твоих реквизитов, только набор строк, а тебе надо обращаться к строке таб. части:

Строка = ТЧ.Добавить();
Строка["Дн" + Ном] = Мас[Ном];
26 Лалым
 
30.07.15
18:49
давайте сформулируем по другому есть  переменная ИмяРеквизита
я ее получаю просто
ИмяРеквизита = "ДР"+Строка(а);
как присвоить  значение данному реквизиту табличной части документа.
забудем про циклы и прочее
27 grigo
 
30.07.15
18:52
ТабЧасть[ИндексСтрокиТабЧасти][ИмяРеквизита] = ЗначениеРеквизита.
28 grigo
 
30.07.15
18:53
Пример:
Товары[0]["Номенклатура"] = СсылкаНаНоменклатуру.
29 Лалым
 
30.07.15
18:58
(27) Это наверное из восьмерки гдето
30 mistеr
 
30.07.15
18:59
(26) "ТЧ" замени на свою "РабДней"! Тебе ж только пример дали, нужно и свою голову включать.
31 mistеr
 
30.07.15
18:59
(30) Или как там у тебя ТЧ называется, я не читал внимательно...
32 Лалым
 
30.07.15
19:00
(27) Что такое ТабЧасть?????
33 Остап Сулейманович
 
30.07.15
19:00
(28) Непробъет. Он все норовит перед квадратной открывающей скобкой точку поставить.
34 Лалым
 
30.07.15
19:01
не нашел я нигде такого, табчасть, ТЧ Табличная часть и прочее
35 Остап Сулейманович
 
30.07.15
19:01
(29) А у тебя кто? Клюшки что ли? Так там вообще все просто.
36 Лалым
 
30.07.15
19:02
ну да клюшки конечно
37 Лалым
 
30.07.15
19:02
Вроде ж секцию ставил 7
38 Лалым
 
30.07.15
19:05
(35) так как все таки просто???
39 Остап Сулейманович
 
30.07.15
19:05
+(35) Если для клюшек то вотЪ :
В форме
Для Сч = 1 По 31 Цикл
     УстановитьАтрубут("Дн"+Сч, ДнейОтработано[Сч]);
     УстановитьАтрубут("Зрп"+Сч, Зарплата[Сч]);
КонецЦикла;
40 Остап Сулейманович
 
30.07.15
19:11
/*УстановитьАтрИбут
41 mistеr
 
30.07.15
19:15
(36) Е-маё...
42 Лалым
 
30.07.15
19:19
(39) УстановитьАтрубут<<?>>("ДР"+ а, РабДней[а]);
{Документ.Больничные.Форма.Модуль(37)}: Процедура не обнаружена (УстановитьАтрубут)
УстановитьАтрубут<<?>>("ЗРП"+а, Зарплата[а]);
{Документ.Больничные.Форма.Модуль(38)}: Процедура не обнаружена (УстановитьАтрубут)
43 Лалым
 
30.07.15
19:21
Это наверное если мы используем в таком виде
Док.УстановитьАтрибут(Атрибут,значение)
а я нахожусь в документе как мне на него спозиционироваться если он еще не записан?
44 Остап Сулейманович
 
30.07.15
19:25
(42) см. (40)
45 Лалым
 
30.07.15
19:26
Флеш и звездочка это есть текущий документ???
46 Остап Сулейманович
 
30.07.15
19:30
(45) Птля... Имя процедуры звучит не УстановитьАтр_у_бут, а УстановитьАтр_И_бут. Синтаксическая ошибка в написании слова Атрибут.
47 Лалым
 
30.07.15
19:30
ну я и тупорылый
48 Лалым
 
30.07.15
19:31
(46) Извини что поморочил, спасибо огромное все летает как надо
замылился уже
49 salvator
 
31.07.15
10:44
"Шарик, ты балбес" (с)
50 grigo
 
31.07.15
16:39
ненене, в телеграммах поздравления нужно писать:
"Поздравляю, Шарик, ты - балбес" )
51 Лалым
 
01.08.15
21:58
(49) (50) какие вы умные ребята когда вопрос решен. , но увы вы спасибо не заработали
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший