Имя: Пароль:
1C
1С v8
Загрузка данных в справочник
, ,
0 amaderassy
 
25.08.15
12:03
Добрый день! Нужно взять значение из табл части документа и записать его в табл чать справочника, если его нет. Но что то ругается: Преобразование значения к типу Булево не может быть выполнено
  Если ИспользуемыеРаботы.Найти(СтрокаРаб.Авторабота) Не понимаю ничерта(

ИспользуемыеРаботы = ВидРемонта.ИспользуемыеРаботы.Выгрузить();          
    Для каждого СтрокаРаб Из Автоработы Цикл
        Если  ИспользуемыеРаботы.Найти(СтрокаРаб.Авторабота) Тогда
        Иначе
            Новстр = ИспользуемыеРаботы.Добавить();        
        КонецЕсли;    
        КонецЦикла;    
    ВидРемонта.ИспользуемыеРаботы.Загрузить(ИспользуемыеРаботы);
1 Флудер
 
25.08.15
12:06
Продам СП. Дорого.
2 Альбатрос
 
25.08.15
12:07
(0) Читай СП про метод .Найти()
3 Апош
 
25.08.15
12:07
ДенисЧ
Продам СП. Дорого.
   shuhard
научу пользоваться, двойной тариф
4 ДенисЧ
 
25.08.15
12:07
(0) у (1) не бери. У него контрафактный.
Бери у меня. У меня честный и правильный
5 palpetrovich
 
25.08.15
12:08
"Найти" номер строки возвращает ннбось :)
6 Ненавижу 1С
 
гуру
25.08.15
12:08
метод Найти не возвращает булев тип
7 Апош
 
25.08.15
12:08
ДенисЧ
Продам СП, дорого. Научу его читать. Очень дорого.Научу понимать прочитанное. Безумно дорого.
   Wobland
а зачем это ты торгуешь СП, которые ещё надо читать и понимать?
8 ДенисЧ
 
25.08.15
12:09
(5) Ещё один клиент...
День, похоже, начинает удаваться...
9 Апош
 
25.08.15
12:10
(6) а попытка перевернуть неопределену в булево происходит
10 aka AMIGO
 
модератор
25.08.15
12:11
(0) отладчиком надо пользоваться, когда неясно что вычисляется/возвращается, присваивается..
11 Fish
 
25.08.15
12:12
(9) Строку ТЗ тоже проблематично в булево преобразовать.
12 amaderassy
 
25.08.15
12:13
И как правильно делать тогда?(
13 ДенисЧ
 
25.08.15
12:14
(12) Купить у меня СП и прочитать, что возвращает функция Найти(0
14 rs_trade
 
25.08.15
12:15
(12) подумай. тыжпрограммист.
15 Альбатрос
 
25.08.15
12:19
(12) Почему ты не хочешь читать СП?
16 ДенисЧ
 
25.08.15
12:19
(15) Потому что не купил )
17 Альбатрос
 
25.08.15
12:23
(16) Логично) Сделай ему скидку, что ли... Может он бедный студент. =)
18 Торин
 
25.08.15
12:24
Для каждого СтрокаРаб Из Автоработы Цикл
   найдСтрока = ИспользуемыеРаботы.Найти(СтрокаРаб.Авторабота)
   Если найдСтрока = неопределено  Тогда
        Новстр = ИспользуемыеРаботы.Добавить();        
   КонецЕсли;  
КонецЦикла;

вот как-то так...
19 Апош
 
25.08.15
12:24
для наличия желания читать СП наличие самого СП не обязательно
20 vicof
 
25.08.15
12:27
(0) казалось бы, при чем тут "загрузка данных в справочник"
21 amaderassy
 
25.08.15
12:28
(18) Почти так и сделал, СП почитал понял косяк. теперь ругается на загрузить сейчас буду смотреть что за хрень я натворил там.
Во ттак стало ИспользуемыеРаботы = ВидРемонта.ИспользуемыеРаботы.Выгрузить();
    Для каждого СтрокаРаб Из Автоработы Цикл
        Найденнаястрока = ИспользуемыеРаботы.Найти("Авторабота");
        если Найденнаястрока = Неопределено тогда
            иначе
        Если  Найденнаястрока= СтрокаРаб.Авторабота Тогда
        Иначе
            Найденнаястрока = ИспользуемыеРаботы.Добавить();
        КонецЕсли;
        КонецЕсли;
        КонецЦикла;    
    ВидРемонта.ИспользуемыеРаботы.Загрузить(ИспользуемыеРаботы);
22 Альбатрос
 
25.08.15
12:30
23 amaderassy
 
25.08.15
12:32
Мда пишу фигню, пойду покурю и нормально делать начну.
24 salvator
 
25.08.15
12:33
(23) Ты имхо уже покурил.
Как думаешь, что вернёт это условие?
Если  Найденнаястрока= СтрокаРаб.Авторабота Тогда
25 amaderassy
 
25.08.15
13:10
ИспользуемыеРаботы = ВидРемонта.ИспользуемыеРаботы.Выгрузить();
    Для каждого СтрокаРаб Из Автоработы Цикл
        найдСтрока = ИспользуемыеРаботы.Найти(СтрокаРаб.Авторабота);
               Если найдСтрока = неопределено  Тогда
            Новстр = ИспользуемыеРаботы.Добавить();        
       КонецЕсли;  
КонецЦикла;
    Спр = ВидРемонта.ПолучитьОбъект();
    Спр.ИспользуемыеРаботы.Загрузить(ИспользуемыеРаботы);
    Спр.Записать();
Все загружает, но сами значения в поле авторабота в справочнике пустые, хотя строк такое же колличество.
26 Апош
 
25.08.15
13:11
(25) внезапно, правда?
27 Mankubus
 
25.08.15
13:13
(25)
Новстр = ИспользуемыеРаботы.Добавить();
Новстр.Авторабота = СтрокаРаб.Авторабота;
28 Альбатрос
 
25.08.15
13:13
(25) Ну логично, ведь ты пустые строки в ТЗ добавляешь
29 Апош
 
25.08.15
13:14
а загрузить колонку не хочешь? я даже не спрашиваю, на хрена данные в базе дублировать
30 amaderassy
 
25.08.15
13:16
(27) Точно! Спасибо всем за Сп и прочие наставления!!!
31 amaderassy
 
25.08.15
13:17
День не задался, итак начинающий только. А тут свет отрубили на работе, пришлось домой ехать, торс сцепления накрылся по пути. А тут заказчик торопит. В голове совсем пусто было. Такие дела(
Программист всегда исправляет последнюю ошибку.