Имя: Пароль:
1C
1C 7.7
v7: Как присваивать код?
0 Эльчин
 
07.05.13
14:07
Код такой:
СпрНоменклатура.ИспользоватьРодителя(РодительСсылка);
СпрНоменклатура.Новый();        
СпрНоменклатура.ТипНоменклатуры = Перечисление.ТипыНоменклатуры.Товар;
СпрНоменклатура.ТипТовара = Перечисление.ТипыТоваров.Собственный;      
СпрНоменклатура.Код=КодВосток;
СпрНоменклатура.Наименование=Товар;
СпрНоменклатура.Записать();

Параметры я получаю из другой базы, и создаю новый элемент основываясь на них. ПриЗаписи выводить ошибку.
Первый раз:
СпрНоменклатура.Записать();    
{Обработка.ПеремещениеДокументов.Форма.Модуль(875)}: Неверно задан код! 2437
Думал что проблема в типах.
СпрНоменклатура.Код=КодВосток изменил на СпрНоменклатура.Код=Число(КодВосток)
это прошло(не смотря что тип "Код"-а Строка)...
Второй раз:
СпрНоменклатура.Записать();    
{Обработка.ПеремещениеДокументов.Форма.Модуль(875)}: Код не уникальный!
Значение было "FIT-44526". Видел што тип значение Строка. Удалил "Число()". Сработала
Третий раз:
СпрНоменклатура.Записать();    
{Обработка.ПеремещениеДокументов.Форма.Модуль(875)}: Неверно задан код! ЭЗС-ШЗП10/
Знаете ли вы вчем проблема? Как решать эти проблемы? Буду очен благодарен если поможете(извините из за ошибок в тексте)
1 Волшебник
 
07.05.13
14:09
зачем ты изучаешь 7.7 ?
поставь v8, там нет таких ошибок
2 Эльчин
 
07.05.13
14:10
клиент так хотель
3 Эльчин
 
07.05.13
14:10
он уже давно изпользует 7.7. не хотел переходить в 8
4 Волшебник
 
07.05.13
14:11
(2) Бросай свой Азербайджан, приезжай в Москву. Заодно и русский подучишь
5 Эльчин
 
07.05.13
14:13
(4) Очень хочу. Планирую. но я пока начинающий. туда прида как профессионал
6 Ковычки
 
07.05.13
14:15
Спр.УстановитьНовыйКод(ххх);
7 Волшебник
 
07.05.13
14:16
(5) Приезжай как начинающий, устраивайся в любой франч, тебя научат, быстро станешь профи
8 Эльчин
 
07.05.13
14:16
(6) у меня есть КодВосток. мне нужен он как Код. а не новый
9 NS
 
07.05.13
14:17
(8) Но этот код не уникальный.
10 Эльчин
 
07.05.13
14:17
(7) спасибо за совет. пока нет
11 Эльчин
 
07.05.13
14:18
(9) провериль, он уникалный
12 Базис
 
naïve
07.05.13
14:19
(4) Зачем зовёшь, на рынках запрет на иностранцев, и экстремисты кругом, даже намаз нельзя намазать спокойно.
13 Эльчин
 
07.05.13
14:20
(12) я слышал что там спокойно чем здесь
14 NS
 
07.05.13
14:20
СпрНоменклатура.Код=сокрлп(КодВосток);
И какая длина кода в конфигураторе?
15 Базис
 
naïve
07.05.13
14:21
(13) Специально заманивают. Я ж говорю, экстремисты и ультрарадикалы.
16 Базис
 
naïve
07.05.13
14:22
А теперь ещё и тесты на историю и знание языка придумали.
17 Эльчин
 
07.05.13
14:22
(14) сокрлп попробовал, не помогает. Длина 11
18 NS
 
07.05.13
14:24
Слэш в коде справочника запрещен.
http://forum.infostart.ru/forum9/topic53891/
19 Эльчин
 
07.05.13
14:24
(16) слышал об этом
20 NS
 
07.05.13
14:24
Заменяй его через стрзаменить() на другой символ.
21 Волшебник
 
07.05.13
14:24
заведи реквизит справочника "МойКод" и пиши туда всё, что хочешь.

системное поле "Код" оставь числовым
22 Эльчин
 
07.05.13
14:29
(20) этого не могу, нужен как есть
23 Эльчин
 
07.05.13
14:30
(21) не знаю, решение ли это?...
24 ХомаБрут
 
07.05.13
14:35
(23) ты прям сомневаешься, как Гамлет.
"МойКод" - хорошее решение. Галочку "Сортировка" не забудь поставить.
25 NS
 
07.05.13
14:35
(22) На всякий случай еще раз повторю - слэш в коде справочника запрещен. Что ты еще хочешь услышать?
26 Волшебник
 
07.05.13
14:36
(25) суммируя вышесказанное, методы решения проблемы таковы:
1. убрать слэш
2. завести новый реквизит
3. поставить v8
4. рвануть в Москву
27 Barbos520
 
07.05.13
14:38
ну как вариант, код текстовый значит Строка(КодВосток)  или отключить проверку уникальности, перекинуть все и потом включить проверку уникальности
28 vladko
 
07.05.13
14:41
(0) освой ещё отлачик в 7ке.
Посмотри, что у тебя находится в КодВосток на момент возникновения ошибки. А так же посмотри, есть ли такой код уже в справочнике номенклатуры. Ну и наличие спец.символов в КодВосток убери.
29 Эльчин
 
07.05.13
14:41
спасибо всем. буду думать
30 Эльчин
 
07.05.13
14:42
(28) использую отладчик, без него мне не куда. проверил всё
31 Эльчин
 
07.05.13
14:53
(25) но первая и вторая проблема опят будут в далнейшем выводится. второй раз проблема решено с помошю Число(). не смотря что тип "Код"-а Строка. тепер я удалил число. а что будет в далнейшем? проблема что то другое. в третий раз может быть проблема толко в слэше. а другие ошибки? что с ними делать? кажется решение "МойКод". но думаю что это приведет к другим проблемам где используется Код этого справочника
32 NS
 
07.05.13
14:54
(31) Если тебе нужен уникальный код, то какая-же проблема в проверке уникальности?
33 Эльчин
 
07.05.13
14:58
(32) не понил что хочеш говорить
34 Stella0608
 
07.05.13
15:01
Не поняла, зачем использовать Число()? Код будет точно неверный.
35 Stella0608
 
07.05.13
15:03
Попробуй так:
//СпрНоменклатура.Код=КодВосток;
КодВосток = СокрЛП(КодВосток);
Сообщить(КодВосток);
СпрНоменклатура.Код=КодВосток;

что выдает?
36 Эльчин
 
07.05.13
15:03
(34)
Первый раз:
СпрНоменклатура.Записать();    
{Обработка.ПеремещениеДокументов.Форма.Модуль(875)}: Неверно задан код! 2437
Думал что проблема в типах.
СпрНоменклатура.Код=КодВосток изменил на СпрНоменклатура.Код=Число(КодВосток)
это прошло(не смотря что тип "Код"-а Строка).
этот конфигурация псих...
37 Эльчин
 
07.05.13
15:04
(35) сказал что с отладчиком всё по шагу проверил, всё как надо
38 Stella0608
 
07.05.13
15:05
Если строку преобразовывать в число, с кодом фигня будет... ну разве что код не полностью числовой (судя по сообщения ниже - это не так).
39 NS
 
07.05.13
15:06
(33) У тебя ругается на уникальность кода. Знаешь что такое уникальность? А во втором случае на слэш, "/" - его нельзя использовать в коде.
40 Stella0608
 
07.05.13
15:07
Ну и что что отладчик? Он вполне может глючит. Буквально на днях упорно показывал глобальную переменную пустой, пока 1с не перезапустила. Попробуй "сообщить".
Кстати, число("FIT-44526") выдает 0, неудивительно что код не уникальный.
41 Эльчин
 
07.05.13
15:08
(39) проверял, код уникален
42 Stella0608
 
07.05.13
15:09
(41) См. 40.
43 NS
 
07.05.13
15:09
(41) Не может ругаться на уникальность, если код уникален.
44 Эльчин
 
07.05.13
15:10
(40) "Кстати, число("FIT-44526") выдает 0, неудивительно что код не уникальный."
согласен
45 Эльчин
 
07.05.13
15:12
спасибо всем. не буду вас еще мучить. будем считать тему закрытым. спасибо за советы. далше сам буду
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн