Имя: Пароль:
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
спасибо всем. не буду вас еще мучить. будем считать тему закрытым. спасибо за советы. далше сам буду
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.