Имя: Пароль:
1C
 
УФ - программные реквизиты и поля форм
0 Maniac
 
19.12.17
22:36
Фух какой то ужас. если бы 1С не вылетала без толку было бы ясно что не так.
Уже раз 50 вылетает. Где баг?

МассивРеквизитов = Новый Массив;
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("Строка"));
    ОписаниеТипа = Новый ОписаниеТипов(МассивТипов);
    НомерКартинки = 0;
    
    Для Каждого Выборка Из СписокКартинокТовара Цикл
        НомерКартинки = НомерКартинки + 1;
        ИмяРеквизита = "КартинкаТовара"+НомерКартинки;
        МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита,ОписаниеТипа,ИмяРеквизита));
    КонецЦикла;

    ИзменитьРеквизиты(МассивРеквизитов);
1 Maniac
 
19.12.17
22:36
Вылетает короче на последней строке.
Если ее комментирую. то все ок.

Но у этого метода больше нифига и нет. Значит массив что то не так с ним. Но что
2 vde69
 
модератор
19.12.17
22:37
НомерКартинки = НомерКартинки + Формат(1, ".....");
3 vde69
 
модератор
19.12.17
22:38
точнее

ИмяРеквизита = "КартинкаТовара"+формат(НомерКартинки,"...");

короче неразрывный пробел
4 Maniac
 
19.12.17
22:46
У меня там 1 картинка у товара. пробелов нет
5 Maniac
 
19.12.17
22:47
КартинкаТовара1 - сто процентов.

да и Новый РеквизитФормы(ИмяРеквизита,ОписаниеТипа,ИмяРеквизита)

срабатывает. но все равно валит.
6 Maniac
 
19.12.17
22:49
Вот просто сделал безо всяких номеров

ИмяРеквизита = "КартинкаТовара";
    МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита,ОписаниеТипа,ИмяРеквизита));

    ИзменитьРеквизиты(МассивРеквизитов);


и все равно валит
7 France
 
19.12.17
23:18
ну, ваще т, в цивилизованных странах массивы всегда с нуля начинаются.
а нецивилизованный маньяк при одной картинке пытается получить вторую..
8 Maniac
 
19.12.17
23:24
И о чем это ты? где я там картинку пытаюсь получить? и причем тут начало массива.
9 Maniac
 
19.12.17
23:25
Вот валит ошибку даже без номеров.

МассивРеквизитов = Новый Массив;
    МассивТипов = Новый Массив;
    МассивТипов.Добавить(Тип("Строка"));
    КвалификаторыСтроки = Новый КвалификаторыСтроки(50);
    ОписаниеТипа = Новый ОписаниеТипов(МассивТипов, ,КвалификаторыСтроки);
    
    ИмяРеквизита = "КартинкаТовара";
    МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита,ОписаниеТипа,ИмяРеквизита));
    ИзменитьРеквизиты(МассивРеквизитов);
10 Cyberhawk
 
19.12.17
23:26
Реквизит уже добавлен пади
11 vde69
 
модератор
19.12.17
23:28
попробуй так

ИзменитьРеквизиты(МассивРеквизитов, новый массив);
12 France
 
19.12.17
23:31
(9) ле, друг.. а развеж картинки в платформе - это не массив? получи картинку "0", а не "1" или без номера
13 Maniac
 
19.12.17
23:55
Валится и все. Серверная процедура. но при активации строки.
Надоело мучать.

Перенес в другую серверную при нажатии просто кнопки. и задал 10 штук. создание.
Все нафиг. работает.
3 часа убил.
При активации строки не пашет. очистку делал.

В любом случае нафиг.
14 Maniac
 
19.12.17
23:56
(12) але. причем тут картинки.
То что в переменной "КартинкаТовара" - еще не значит ничего.
15 France
 
19.12.17
23:56
а что ж ты, родимый, не оспариваешь 12?
16 France
 
19.12.17
23:56
о.. вижу, оспариваешь..
17 Maniac
 
19.12.17
23:58
и причем тут с нуля или не с нуля.
У меня массив пустой. в него потом Добавить.
ООн сам все делает с нуля.

А метод ИзменитьРеквизиты - не работает. пофую какого названия реквизит и какие числа в нем. не городи.

У меня там где то запара идет с чисткой и тп.
КОроче нафиг эту дрочь.
Создал 10 реквизитов сразу предопределенных.

буду дальше просто с готовыми работать. Меньше нагрузки будет.
18 France
 
19.12.17
23:58
и, явно ж же ж, не договариваешь..
19 France
 
19.12.17
23:58
(17) н Паскаль программировал?
20 France
 
20.12.17
00:14
чо, Маня, решил таки время на программирование потратить?..
я тебя поддерживаю в этом))
21 France
 
20.12.17
00:15
как только про Паскаль почитаешь в вики - отпишись))
22 France
 
20.12.17
00:16
и заскочи на Красноармейскую в Ростове, учебка там)) закинь пацанам сикареты - а денежьку, может быть, я тебе компенсирую))
23 h-sp
 
20.12.17
00:17
(17)  но при активации строки.  - вот это хрень. Не должно работать.
24 France
 
20.12.17
00:19
(23) оставьпарня.. онпокаизучаетклиентсервернуюархитектуру
25 h-sp
 
20.12.17
00:25
(24) кто? Маня?
26 tesseract
 
20.12.17
00:28
А зачем путь к реквизиту указывать? У тебя же нет его в БД. Возможно просто косяк в платформе. Зачем тебе картинки заводить свои?  Почему стандартным механизмом из БСП не воспользоваться?
27 France
 
20.12.17
00:29
(25) ну да.. надо же и попрограммировать ему..
28 France
 
20.12.17
00:30
(26) он не знает что такое бсп, платформа и тд и тп)) и паскаль даже сейчас усиленно изучает))
29 tesseract
 
20.12.17
00:32
(28) Паскаль лучший язык для изучения программирования. Приучает к качественному коду. Ява-скриптизеры пусть в фин-системы не лезут нах.
30 France
 
20.12.17
00:33
(29) я предлагаю выслушать ответ Мани на этот вопрос))
31 France
 
20.12.17
00:34
+на вопрос про Паскаль..
34 France
 
20.12.17
01:30
ответь в скайп, если не чорт.. меня тут, понятно, забанят...
35 h-sp
 
20.12.17
01:47
(9) да (26) прав, надо

МассивРеквизитов.Добавить(Новый РеквизитФормы(ИмяРеквизита,ОписаниеТипа,""));



РеквизитФормы (FormAttribute)
Путь (Path)
Использование:

Чтение и запись.
Описание:

Тип: Строка.
Содержит путь к реквизиту. Не включает имя реквизита.
36 tesseract
 
20.12.17
02:04
(35) Ну так я так делаю для облегчения обновления измененных баз :-)