Имя: Пароль:
1C
1C 7.7
v7: Помогите с 7.7
, ,
0 rchervak
 
18.07.12
17:37
База 7.7 ТиС.
Задача добавить 3000 карт в базу. групповой обработкой.
с семеркой никогда не сталкивался, пишу на Восьмерке.

Написал код на 8.2 :

   Для ном = НачальноеЗначениеШтрихкода По КонечноеЗначениеШтрихкода Цикл
       Штрихкод=стрзаменить(ном,символы.нпп,"");
       
       Если ДобавлятьКонтрольныйСимвол тогда
           Штрихкод = Штрихкод + РаботаСТорговымОборудованием.КонтрольныйСимволEAN(ШтрихКод, 13);
       КонецЕсли;
       
       НайденнаяКарта=Справочники.ИнформационныеКарты.НайтиПоРеквизиту("КодКарты", Штрихкод);
       Если не НайденнаяКарта.пустая() Тогда
           НайденнаяКарта=НайденнаяКарта.ПолучитьОбъект()
       иначе
           НайденнаяКарта=Справочники.ИнформационныеКарты.СоздатьЭлемент();
       КонецЕсли;
       
       Если ЗначениеЗаполнено(Штрихкод) Тогда
       НайденнаяКарта.КодКарты= Штрихкод;
   КонецЕсли;
............//заполняем все реквизиты

Попытка
   НайденнаяКарта.Записать();
    Сообщить("Записана Карта "+НайденнаяКарта.Наименование+" / "+НайденнаяКарта.КодКарты+"");

Исключение
   Сообщить("не удалось записать карту"+НайденнаяКарта.КодКарты+"");
   
КонецПопытки;


Теперь задача тоже самое на 7.7.. подскажите как правильно?
1 Rie
 
18.07.12
17:38
(0) Наверное, стоило бы перед тем как писать код - изучить встроенный язык системы 1С:Предприятие 7.7?
(Честно говоря, код на 8.2 - тоже не впечатляет).
2 rchervak
 
18.07.12
17:39
да это разовое, больше никогда и не понадобится..
3 BlackSeaCat
 
18.07.12
17:39
"Пригласите специалиста" - не? Жаба?
4 rchervak
 
18.07.12
17:40
а я? чем не специалист?
5 Базис
 
naïve
18.07.12
17:41
500 рублей?
6 Sh1ko
 
18.07.12
17:41
ctrl+С в 8-ке, ctrl+V в 7.7, делов то. Главное что бы конвертер кода был подключен.
7 hhhh
 
18.07.12
17:42
(1) не, похоже на типовую. Он хитрый, жучара, скопипастил кусок из типовой, а говорит, что сам написал.
8 Базис
 
naïve
18.07.12
17:42
(6) ОМ РаботаСТорговымОборудованием ещё перенести
9 Sh1ko
 
18.07.12
17:43
(8) общие модули в глобальник надо вставлять, если жкк не читал, не лезь в тему!
10 rchervak
 
18.07.12
17:46
(7) сам писал. чесн. слово
11 Rie
 
18.07.12
17:50
(10) Ну так - сколько?
12 rchervak
 
18.07.12
17:52
нисколько
13 rchervak
 
18.07.12
17:53
я все для всех делаю абсолютно бескорыстно..
14 Rie
 
18.07.12
17:53
(12) Тогда задавайте конкретные вопросы, а не просите выполнить за Вас Вашу работу бесплатно.
15 vladko
 
18.07.12
17:55
(0) примерно так:

СпрКарты = СоздатьОбъект("Справочник.ИнформационныеКарты");
Для ном = НачальноеЗначениеШтрихкода По КонечноеЗначениеШтрихкода Цикл
       //Штрихкод=стрзаменить(ном,символы.нпп,""); на 7.7 неразрывного пробела нет
       
       Если ДобавлятьКонтрольныйСимвол = 1 тогда //ДобавлятьКонтрольныйСимвол - это флажок на форме
         //Здесь надо разобраться, где хранится в 7.7  КонтрольныйСимволEAN и подставить
         Штрихкод = Штрихкод + РаботаСТорговымОборудованием.КонтрольныйСимволEAN(ШтрихКод, 13);
       КонецЕсли;        
       
       Если СпрКарты.НайтиПоРеквизиту("КодКарты", Штрихкод) = 0 Тогда
           СпрКарты.Новый();
           СпрКарты.Записать();
       КонецЕсли;
       НайденнаяКарта=СпрКарты.ТекущийЭлемент();
       
        Если ПустоеЗначение(Штрихкод) = 0 Тогда
       НайденнаяКарта.КодКарты= Штрихкод;
   КонецЕсли;
............//заполняем все реквизиты


Попытка
   НайденнаяКарта.Записать();
    Сообщить("Записана Карта "+НайденнаяКарта.Наименование+" / "+НайденнаяКарта.КодКарты+"");

Исключение
   Сообщить("не удалось записать карту"+НайденнаяКарта.КодКарты+"");
   
КонецПопытки;
16 vladko
 
18.07.12
17:56
забыл вместо
Штрихкод=стрзаменить(ном,символы.нпп,"");
написать
Штрихкод=Строка(ном);
17 Lea_Lear
 
18.07.12
17:57
Все один в один только вместо
НайденнаяКарта=НайденнаяКарта.ПолучитьОбъект()
       иначе
           НайденнаяКарта=Справочники.ИнформационныеКарты.СоздатьЭлемент();

немного по другому:

НайденнаяКарта=НайденнаяКарта.ТекущийЭлемент()

и
ИнформационныеКарты.Новый();
НайденнаяКарта=ИнформационныеКарты.ТекущийЭлемент();
18 rchervak
 
18.07.12
17:58
(17) спс. ща буду пробывать..
19 Tatitutu
 
18.07.12
18:01
(16) может заменить

Если СпрКарты.НайтиПоРеквизиту("КодКарты", Штрихкод) = 0 Тогда
           СпрКарты.Новый();
           СпрКарты.Записать();
КонецЕсли;
       НайденнаяКарта=СпрКарты.ТекущийЭлемент();
       
   Если ПустоеЗначение(Штрихкод) = 0 Тогда
       НайденнаяКарта.КодКарты= Штрихкод;
   КонецЕсли;

на
Если ПустоеЗначение(Штрихкод) = 0 Тогда
      Если СпрКарты.НайтиПоРеквизиту("КодКарты", Штрихкод) = 0 Тогда
           СпрКарты.Новый();
           СпрКарты.КодКарты= Штрихкод;
           СпрКарты.Записать();
       КонецЕсли;
       НайденнаяКарта=СпрКарты.ТекущийЭлемент();      
КонецЕсли;
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.