![]() |
![]() |
![]() |
|
v7: Не записывает элемент справочника | ☑ | ||
---|---|---|---|---|
0
irina_pi
09.12.13
✎
14:40
|
Не записывается элемент справочника. Когда смотрю отладчиком, то в строке Спр.КорректныйАртикул=КорректныйАртикул, значение Спр.КорректныйАртикул указывается правильное. Как только перехожу на следующую строку, то это значение опять пустое.
Спр=СоздатьОбъект("Справочник.Номенклатура"); Если Спр.найтиПоКоду(Код,0)=1 тогда если КорректныйАртикул <>"НЕЗАПОЛНЕНО" тогда Спр.КорректныйАртикул=КорректныйАртикул; КонецЕсли; если СостояниеНоменклатуры <>"НЕЗАПОЛНЕНО" тогда Спр.СостояниеНоменклатуры=СостояниеНоменклатуры; КонецЕсли; если КодИБ <>"НЕЗАПОЛНЕНО" тогда Спр.КодИБ=КодИБ; КонецЕсли; если ИдентификаторБазыНоменклатуры <>"НЕЗАПОЛНЕНО" тогда Спр.ИдентификаторБазыНоменклатуры=ИдентификаторБазыНоменклатуры; КонецЕсли; СПР.Записать(); Конецесли; |
|||
1
Happy Bear
09.12.13
✎
14:42
|
(0) народ на мисте на продеже СП уже озолотился))
|
|||
2
КонецЦикла
09.12.13
✎
14:44
|
Ирина_Пи, где это все происходит, что за следующая строка?
|
|||
3
irina_pi
09.12.13
✎
14:47
|
(2)после Спр.КорректныйАртикул=КорректныйАртикул;
|
|||
4
Ёпрст
гуру
09.12.13
✎
14:48
|
(3) типы не совпадают.
|
|||
5
Ёпрст
гуру
09.12.13
✎
14:49
|
КорректныйАртикул - реквизит какого типа ?
Не периодический, случаем ? |
|||
6
irina_pi
09.12.13
✎
14:49
|
(4) Совпадают. Везде строка.
|
|||
7
mikecool
09.12.13
✎
14:50
|
(6) одна из черепашек врет, чудес не бывает
|
|||
8
irina_pi
09.12.13
✎
14:50
|
(5) Нет :)
|
|||
9
Fish
гуру
09.12.13
✎
14:50
|
(6) А чему равно значение КорректныйАртикул?
|
|||
10
Happy Bear
09.12.13
✎
14:52
|
Ребята совсем клюшки забыли.
ТекущийЭлемент() тебе в помощь. |
|||
11
irina_pi
09.12.13
✎
14:53
|
(9) например "006R00914"
|
|||
12
mikecool
09.12.13
✎
14:54
|
(10) и как он поможет?
|
|||
13
irina_pi
09.12.13
✎
14:54
|
Так тоже не работает
Спр=СоздатьОбъект("Справочник.Номенклатура"); Если Спр.найтиПоКоду(Код,0)=1 тогда Спр.ТекущийЭлемент(); если КорректныйАртикул <>"НЕЗАПОЛНЕНО" тогда Спр.КорректныйАртикул=КорректныйАртикул; КонецЕсли; если СостояниеНоменклатуры <>"НЕЗАПОЛНЕНО" тогда Спр.СостояниеНоменклатуры=СостояниеНоменклатуры; КонецЕсли; если КодИБ <>"НЕЗАПОЛНЕНО" тогда Спр.КодИБ=КодИБ; КонецЕсли; если ИдентификаторБазыНоменклатуры <>"НЕЗАПОЛНЕНО" тогда Спр.ИдентификаторБазыНоменклатуры=ИдентификаторБазыНоменклатуры; КонецЕсли; СПР.Записать(); Конецесли; |
|||
14
mikecool
09.12.13
✎
14:54
|
(13) так вообще не делай )
|
|||
15
mikecool
09.12.13
✎
14:55
|
(0) автор, что у тебя в табло открыто? небось что то типа спр = ""???
|
|||
16
irina_pi
09.12.13
✎
14:57
|
(15) нет. что-то типа Спр = C4848A №80 Картридж HP DJ 1000/1050C/1055CM, orig, yellow, 4400стр. (ПУСХНС)
|
|||
17
Ёпрст
гуру
09.12.13
✎
14:57
|
Тогда закрой отладчик и спи спойокйно, всё должно записываться, если условия проходят.
|
|||
18
mikecool
09.12.13
✎
14:58
|
(16) удали вообще все упоминания про Спр из табло
|
|||
19
irina_pi
09.12.13
✎
14:59
|
КорректныйАртикул = "C4848A"
Спр.КорректныйАртикул = "C4848A " Это когда стою на строке Спр.КорректныйАртикул=КорректныйАртикул; Когда переходит на следующую строку, то КорректныйАртикул = "C4848A" Спр.КорректныйАртикул = " "; |
|||
20
mikecool
09.12.13
✎
15:00
|
(19) табло очистила?
|
|||
21
irina_pi
09.12.13
✎
15:02
|
(20) как это поможет в работе обработки?
|
|||
22
hhhh
09.12.13
✎
15:03
|
(19) ну значит,
Спр.КорректныйАртикул = "C4848A " это у вас до записи, раз вы стоите на строке. А вы нам лапшу вешаете, что после записи. |
|||
23
Ёпрст
гуру
09.12.13
✎
15:04
|
(21) закрой табло , или лучше жуколов. У тебя всё работает.
|
|||
24
mikecool
09.12.13
✎
15:04
|
(21) потому что смотри (7)
|
|||
25
palpetrovich
09.12.13
✎
15:04
|
Оберни СПР.Записать(); в Попытку с расшифровкой Исключения
|
|||
26
Ёпрст
гуру
09.12.13
✎
15:04
|
мешает код в отладчике в табло, который.
|
|||
27
irina_pi
09.12.13
✎
15:06
|
(22) до этого пустое
(25) с попыткой тоже самое |
|||
28
1Сергей
09.12.13
✎
15:07
|
Упорная... Титан не стирается
|
|||
29
palpetrovich
09.12.13
✎
15:11
|
(27) а что "тоже самое" - элемент записывается или нет?
|
|||
30
mikecool
09.12.13
✎
15:12
|
(28) титановый клюв? ))
|
|||
31
irina_pi
09.12.13
✎
15:14
|
(27) не записывается
|
|||
32
palpetrovich
09.12.13
✎
15:16
|
(31) ОписаниеОшибки - не забыла?
Попытка Спр.Записать(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
33
irina_pi
09.12.13
✎
15:20
|
(32) не забыла, в Исключение не заходит.
|
|||
34
Fish
гуру
09.12.13
✎
15:22
|
(33) Значит, записывается :)
|
|||
35
irina_pi
09.12.13
✎
15:22
|
Значение исчезает Спр.КорректныйАртикул = "C4848A " после Спр.Записать()
|
|||
36
1Сергей
09.12.13
✎
15:23
|
(33) В модуле, случайно, первоя строка не "#ЗагрузитьИзФайла"?
|
|||
37
1Сергей
09.12.13
✎
15:24
|
(35) тю... проверь остальные реквизиты и удивись
|
|||
38
palpetrovich
09.12.13
✎
15:25
|
(35) дык. может не тот элемент справочника смотришь? или не в той базе?
|
|||
39
Мимохожий Однако
09.12.13
✎
15:26
|
СПР с латинскими буквами ))
|
|||
40
irina_pi
09.12.13
✎
15:28
|
(36) нет
(37) остальные тоже очищаются (38) к сожалению в той (39) нет |
|||
41
Мимохожий Однако
09.12.13
✎
15:28
|
Код - это код Родителя
|
|||
42
Мимохожий Однако
09.12.13
✎
15:31
|
Попробуй Спр.КорректныйАртикул=СокрЛП(КорректныйАртикул);
|
|||
43
DJ Anthon
09.12.13
✎
15:35
|
я один раз нарвался на то, что открыл обработку из другого каталога.
|
|||
44
Ёпрст
гуру
09.12.13
✎
15:39
|
тест на вшивость:
Если Спр.найтиПоКоду(Код,0)=1 тогда сообщить(Спр.ЭтоГруппа()); |
|||
45
palpetrovich
09.12.13
✎
15:40
|
фантастика и мистика в одном флаконе :) ...такой код на новойКнопке что дает?
Спр = СоздатьОбъект("Справочник.Номенклатура"); Спр.Новый(); Спр.УстановитьНовыйКод(); Спр.Наименование = "БлаБлаБла"; Спр.КорректныйАртикул="12345"; Спр.Записать(); |
|||
46
Масянька
09.12.13
✎
15:46
|
(45) Присоединяюсь к вопросу.
И, пожалуй, весь код хотелось бы узреть. |
|||
47
КонецЦикла
09.12.13
✎
16:06
|
(35) Тэкс... и что в этом странного? Все нормально, так и должно быть
Спр=СоздатьОбъект("Справочник.Номенклатура"); Если Спр.найтиПоКоду(Код,0)=1 тогда если КорректныйАртикул <>"НЕЗАПОЛНЕНО" тогда Спр.КорректныйАртикул=КорректныйАртикул; Сообщить("Код " + СокрЛП(Спр.Код) + " Артикул " + КорректныйАртикул); КонецЕсли; СПР.Записать(); Конецесли; Смотри потом у элемента с этим кодом что там проставилось. |
|||
48
КонецЦикла
09.12.13
✎
16:07
|
(44) Да, хорошая мысль
|
|||
49
Ёпрст
гуру
09.12.13
✎
16:08
|
(48) [:]|||[:], я (41) не заметил.. :(
|
|||
50
irina_pi
10.12.13
✎
07:19
|
Попробовала в другой базе с похожей конфигурацией, там все записывает.
Где можно проверить почему в одной базе записывает, а в другой нет? Права одинаковые Полные. |
|||
51
КонецЦикла
10.12.13
✎
07:33
|
В похожей или идентичной?
В похожей может не случиться (44), например |
|||
52
irina_pi
10.12.13
✎
07:36
|
(51) похожей. Сделала кнопку.
Процедура Кнопка() Спр1=СоздатьОбъект("Справочник.Номенклатура"); КорректныйАртикул="КорректныйАртикул"; Если Спр1.найтиПоКоду("00000531",0)=1 тогда Если Спр1.ЭтоГруппа()=0 тогда если КорректныйАртикул <>"НЕЗАПОЛНЕНО" тогда Спр1.КорректныйАртикул=СокрЛП(КорректныйАртикул); Сообщить("КодТ " + СокрЛП(Спр1.Код) + " Артикул " + СокрЛП(Спр1.КорректныйАртикул)); КонецЕсли; Попытка Спр1.Записать(); Сообщить("КодТ " + СокрЛП(Спр1.Код) + " Артикул " + СокрЛП(Спр1.КорректныйАртикул)); Сообщить(Спр1); Исключение Сообщить(ОписаниеОшибки()) КонецПопытки; КонецЕсли; Конецесли; КонецПроцедуры В первой базе пишет КодТ 00000531 Артикул КорректныйАртикул КодТ 00000531 Артикул 51625A №25 Картридж HP DJ 310/320/400/420С/500С/540/560С, orig, color, 150стр. Во второй КодТ 00000531 Артикул КорректныйАртикул КодТ 00000531 Артикул КорректныйАртикул 51625A №25 Картридж HP DJ 310/320/400/420С/500С/540/560С, orig, color, 150стр. |
|||
53
Wobland
10.12.13
✎
07:49
|
про тип артикулов уже было?
|
|||
55
КонецЦикла
10.12.13
✎
07:51
|
Спр1.Записать();
Сообщить("КодТ " + СокрЛП(Спр1.Код) + " Артикул " + СокрЛП(Спр1.КорректныйАртикул)); Сообщить(Спр1); Сообщить(Метаданные.Справочник("Номенклатура").Реквизит("КорректныйАртикул").Периодический); Сообщить(ТипЗначенияСтр(Спр1.КорректныйАртикул)); |
|||
56
Wobland
10.12.13
✎
07:52
|
слабаки. даже про фотку ни разу не намекнули
|
|||
57
irina_pi
10.12.13
✎
07:54
|
(55)
КодТ 00000531 Артикул КорректныйАртикул КодТ 00000531 Артикул 51625A №25 Картридж HP DJ 310/320/400/420С/500С/540/560С, orig, color, 150стр. 0 Строка |
|||
58
Wobland
10.12.13
✎
07:55
|
про черепашек уже говорили. я за черепашку
|
|||
59
КонецЦикла
10.12.13
✎
07:56
|
(57) На одном элементе или на всех? Можно переиндексироваться например, пока больше нет вариантов.
|
|||
60
irina_pi
10.12.13
✎
07:57
|
(59) на 3 пробовала.
|
|||
61
КонецЦикла
10.12.13
✎
07:57
|
(60) Руками записывается? :)
|
|||
62
ЧеловекДуши
10.12.13
✎
08:37
|
(0)Объяви "СПР" как переменную через "ПЕРЕМ", бывает помогает осознать то, что может 1С и предоставляет свободу от объявлении переменных, но с этим связанно куда больше проблем :)
Так же, зачем ты делаешь (записываешь элемент) "Спр.Записать();" в любом случае, если даже он у тебя не изменился? Логичней добавить условия по тексту: Перем Спр; //Добавить где то в начале процедуры или функции Перем НеЗаполнено; Перем ЗаписатьЭлемент; НеЗаполнено = "НЕЗАПОЛНЕНО"; //Для простаты изменнения признака, может надоест этот, то сделаешь другой Спр=СоздатьОбъект("Справочник.Номенклатура"); ЗаписатьЭлемент = 0; Если Спр.найтиПоКоду(Код,0)=1 тогда если КорректныйАртикул <>НеЗаполнено тогда Спр.КорректныйАртикул=КорректныйАртикул; ЗаписатьЭлемент = 1; КонецЕсли; если СостояниеНоменклатуры <>НеЗаполнено тогда Спр.СостояниеНоменклатуры=СостояниеНоменклатуры; ЗаписатьЭлемент = 1; КонецЕсли; если КодИБ <>НеЗаполнено тогда Спр.КодИБ=КодИБ; ЗаписатьЭлемент = 1; КонецЕсли; если ИдентификаторБазыНоменклатуры <>НеЗаполнено тогда Спр.ИдентификаторБазыНоменклатуры=ИдентификаторБазыНоменклатуры; ЗаписатьЭлемент = 1; КонецЕсли; Если ЗаписатьЭлемент = 1 Тогда СПР.Записать(); КонецЕсли; Конецесли; |
|||
63
Wobland
10.12.13
✎
08:38
|
>Для простаты изменнения признака
не нужно ей никаких простат |
|||
64
ЧеловекДуши
10.12.13
✎
08:39
|
(63) Ну да ... тоже нравится? :)
Простоты... |
|||
65
ЧеловекДуши
10.12.13
✎
08:40
|
(63) Судя по куску кода, человек 8-ник :)
|
|||
66
Bigbro
10.12.13
✎
08:50
|
базы не дбф с перекошенными индексами случаем?
|
|||
67
Bigbro
10.12.13
✎
08:53
|
а если после записать снова сделать
Спр1.найтиПоКоду("00000531",0); |
|||
68
Масянька
10.12.13
✎
10:54
|
Извините, что я вмешиваюсь...
А смысл кнопки озвучили? Мне, лично, не очень нравятся эти 2 строчки - что, где, когда.... КорректныйАртикул="КорректныйАртикул"; Спр1.КорректныйАртикул=СокрЛП(КорректныйАртикул) |
|||
69
mikecool
10.12.13
✎
10:58
|
у вас все еще не записывается???? оО
тогда мы не идем к вам |
|||
70
palpetrovich
10.12.13
✎
12:34
|
а про размер файла СпрНоменклатура спрашивали уже?
|
|||
71
dka80
10.12.13
✎
14:07
|
Спр.ТекущийЭлемент().КорректныйАртикул=КорректныйАртикул;
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |