Имя: Пароль:
1C
1С v8
Не пойму ошибку
0 tolok_d
 
26.09.12
14:09
Уверен что ошибка очень глупая, но тем не менее я не могу понять в чем дело. Прошу строго не судить, а просто тыкнуть носом в то где я сделал каку.


ТаблЗначТоварАналог = РаботаСАналогами.ПоискАналогов(ЭтотОбъект.Артикул);
        ЭлементыФормы.ТабличноеПолеТоварАналог.Значение = ТаблЗначТоварАналог;
       
       Для каждого Строка Из ТаблЗначТоварАналог Цикл
           
           
           НоваяСтрока = ЭлементыФормы.ТабличноеПолеТоварАналог.ТекущаяСтрока;
           НоваяСтрока.АртикулАналог = Строка.АртикулАналог;
           НоваяСтрока.Аналог = Строка.Аналог;
           
           
       КонецЦикла;
1 GROOVY
 
26.09.12
14:11
Что это?
2 tolok_d
 
26.09.12
14:11
ой не написал саму ошибку. Пишет что {Справочник.Номенклатура.Форма.ФормаЭлемента.Форма(2095)}: Значение не является значением объектного типа (АртикулАналог)
           НоваяСтрока.АртикулАналог = Строка.АртикулАналог;
3 Ненавижу Неопределен
 
26.09.12
14:11
сколько можно!
v8: заполнение табличной части
v8: Не заполняется соответствие

хм, номера тем, только две цифры поменяли
4 tolok_d
 
26.09.12
14:12
(1) заполнение ТЧ
5 GROOVY
 
26.09.12
14:13
(4) А почему через ЭлементыФормы?
6 GROOVY
 
26.09.12
14:14
Бррр... Мозг сломал, ушел из темы...
7 tolok_d
 
26.09.12
14:15
(5) ну а как по другому? На форме просто находится ТЧ
8 ZoRN
 
26.09.12
14:15
ЭлементыФормы.ТабличноеПолеТоварАналог.ТекущаяСтрока - вот это вот как вот не понятно как-то откуда 1С знает где строка то !
9 Reset
 
26.09.12
14:15
Ошибка в том, что занимаешься не тем чем можешь
10 tolok_d
 
26.09.12
14:17
(8) просто НоваяСтрока.Аналог = Строка.Аналог; запоняет нормально, а Артикль отказывается.
11 mikecool
 
26.09.12
14:17
Для каждого Строка Из ТаблЗначТоварАналог Цикл

         

           
           НоваяСтрока = ТабличноеПолеТоварАналог.Добавить();
           ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка, "АртикулАналог, Аналог");
           
           
       КонецЦикла;

мой гений дарит вам (с)
12 mikecool
 
26.09.12
14:18
даже так

Для каждого Строка Из ТаблЗначТоварАналог Цикл

       

           
           ЗаполнитьЗначенияСвойств(ТабличноеПолеТоварАналог.Добавить(), Строка, "АртикулАналог, Аналог");
           
           
       КонецЦикла;
13 mikecool
 
26.09.12
14:19
да даже так
ТаблЗначТоварАналог.Выгрузить(ТабличноеПолеТоварАналог, "АртикулАналог, Аналог") - вот тут только порядок параметров не помню
14 tolok_d
 
26.09.12
14:20
(13) спасибо
15 mikecool
 
26.09.12
14:21
(14) спасибо это очень много, 300 рублей - нормально
16 tolok_d
 
26.09.12
14:22
(15) не работает.
17 tolok_d
 
26.09.12
14:23
ладно. Всем спасибо. Сам буду разбираться
18 Волесвет
 
26.09.12
14:23
подскажите, что такое?
заходишь в конфигуратор, открываешь документ, идешь в формы, встаешь на форму документа, правой кнопкой скопировать(типо такую же форму получить), а он ошибку про ссылки((
19 mikecool
 
26.09.12
14:24
(16) ну я тоже не люблю с рублями расставаться )))
а что не работает?
20 tolok_d
 
26.09.12
14:25
(19))))
ну вообще там проблема первая в том, что Добавить() это процедура, а обращение как к функции
21 Omskdizel
 
26.09.12
14:28
(20) Обрати внимание, что Строка выделяется красненьким (в первом посте, да и в конфигураторе). Не используй это слово в качестве переменной. Это слово зарезервировано системой.
22 tolok_d
 
26.09.12
14:29
(20) уже исправил, Исход тот же.
23 Omskdizel
 
26.09.12
14:32
Отладчик пробовал? Значения корректно берутся? И вообще, всю процедуру покажи.
24 mih_io
 
26.09.12
14:32
(0) отладчик спасет тебя
25 tolok_d
 
26.09.12
14:35
(23) пробывал. Значение есть. Все нормально(через табло проверял)


ИначеЕсли ЭлементыФормы.ОсновнаяПанель.Страницы[ТекущаяСтраница] = ЭлементыФормы.ОсновнаяПанель.Страницы.Аналоги Тогда
       ТаблЗначТоварАналог = РаботаСАналогами.ПоискАналогов(ЭтотОбъект.Артикул);
        ЭлементыФормы.ТабличноеПолеТоварАналог.Значение = ТаблЗначТоварАналог;
       Для каждого ТабСтрока Из ТаблЗначТоварАналог Цикл
           
           НоваяСтрока = ЭлементыФормы.ТабличноеПолеТоварАналог.ТекущаяСтрока;
           НоваяСтрока.АртикулАналог = ТабСтрока.АртикулАналог;
           НоваяСтрока.Аналог = ТабСтрока.Аналог;
                       
       КонецЦикла;
               
   КонецЕсли;
26 tolok_d
 
26.09.12
14:36
(24) на него одна надежда)
27 hhhh
 
26.09.12
14:38
(26) вот за это тебя надо на гильотину сразу.

НоваяСтрока = ЭлементыФормы.ТабличноеПолеТоварАналог.ТекущаяСтрока;

Пиши

НоваяСтрока = ТабличноеПолеТоварАналог.Добавить();
28 Шапокляк
 
26.09.12
14:38
(26) ТабличноеПолеТоварАналог.Значение=ТаблЗначТоварАналог не?
29 Ненавижу Неопределен
 
26.09.12
14:38
это точно ТЧ, если да, то ТЧ чего?
30 tolok_d
 
26.09.12
14:43
(29) Табличная часть, которую заполняю:


Функция ПоискАналогов(Артикул = Неопределено) Экспорт
     
     Если Артикул = "" Тогда
         Возврат Ложь;
     КонецЕсли;
     
     Запрос = Новый Запрос;
     Запрос.УстановитьПараметр("ИскомыйАртикул", Артикул);
     Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                    |    АналогиНоменклатуры.АртикулАналог КАК АртикулАналог,
                    |    АналогиНоменклатуры.Аналог КАК АналогСсылка
                    |ИЗ
                    |    Справочник.АналогиНоменклатуры КАК АналогиНоменклатуры
                    |ГДЕ
                    |    АналогиНоменклатуры.Артикул = &ИскомыйАртикул";
     
     ВыпЗапрос = Запрос.Выполнить();
     
     
     Если ВыпЗапрос.Пустой() Тогда
         Возврат Неопределено;
     КонецЕсли;
     
     Выборка = ВыпЗапрос.Выбрать();
     Результат = Новый ТаблицаЗначений;
     Результат.Колонки.Добавить("АртикулАналог");
     Результат.Колонки.Добавить("Аналог");
     
     Пока Выборка.Следующий() цикл
         НоваяСтрока = Результат.Добавить();
         НоваяСтрока.АртикулАналог = Выборка.АртикулАналог;
         НоваяСтрока.Аналог = Выборка.АналогСсылка;
    КонецЦикла;
 
     Возврат Результат;
     
 КонецФункции
31 Ненавижу Неопределен
 
26.09.12
14:46
(30) тут только ТЗ есть

Результат = ВыпЗапрос.Выбрать().Выгрузить(); //остальное можно выкинуть
32 tolok_d
 
26.09.12
14:48
(31) сейчас попробую
33 Ненавижу Неопределен
 
26.09.12
14:49
(32) что ты пробовать будешь? эта строка на экран ТЗ не отобразит, ты же только визуально проверяешь
34 Ненавижу Неопределен
 
26.09.12
14:51
ТаблЗначТоварАналог = РаботаСАналогами.ПоискАналогов(ЭтотОбъект.Артикул);
ЭлементыФормы.ТабличноеПолеТоварАналог.Значение = ТаблЗначТоварАналог;
ЭлементыФормы.ТабличноеПолеТоварАналог.СоздатьКолонки();
35 tolok_d
 
26.09.12
15:01
(34) О_О  Все на столько просто.. да, туплю жостко. Спасибо огромное.
36 Reset
 
26.09.12
15:12
(21) В конфигураторе не выделяется
37 del123
 
26.09.12
15:19
(30) вот это конечно пять.. :))
     Выборка = ВыпЗапрос.Выбрать();
     Результат = Новый ТаблицаЗначений;
     Результат.Колонки.Добавить("АртикулАналог");
     Результат.Колонки.Добавить("Аналог");
     
     Пока Выборка.Следующий() цикл
         НоваяСтрока = Результат.Добавить();
         НоваяСтрока.АртикулАналог = Выборка.АртикулАналог;
         НоваяСтрока.Аналог = Выборка.АналогСсылка;
    КонецЦикла;
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший