|
Запись справочника "Номенклатура" | ☑ | ||
---|---|---|---|---|
0
Начинающий Чайник
28.01.14
✎
20:06
|
Добрый день! Помогите пожалуйста!
Конфа УТ 10.3.24.1 пишу обработку которая проверяет если не записаны единицы хранения остатков, то она создаёт их на основании базовой единицы. Ошибок никаких но и единицы не появляются. Код: Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ЭтоГруппа = ЛОЖЬ"; ТЗ = Запрос.Выполнить().Выгрузить(); Для каждого ЭлНомен Из ТЗ Цикл Если НЕ ЗначениеЗаполнено(ЭлНомен.Ссылка.ЕдиницаХраненияОстатков) Тогда СоздатьЕдиницуХранения(ЭлНомен); Попытка ЭлНомен.Ссылка.ПолучитьОбъект().Записать(); Исключение Сообщить(ОписаниеОшибки(),); КонецПопытки; КонецЕсли; КонецЦикла; КонецПроцедуры Процедура СоздатьЕдиницуХранения(ЭлНомен) ЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент(); ЕдИзм.Наименование = ЭлНомен.Ссылка.БазоваяЕдиницаИзмерения.Наименование; ЕдИзм.Владелец = ЭлНомен.Ссылка; ЕдИзм.Коэффициент = 1; ЕдИзм.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(ЭлНомен.Ссылка.БазоваяЕдиницаИзмерения.Наименование,,,); ЕдИзм.Записать(); КонецПроцедуры |
|||
1
GROOVY
28.01.14
✎
20:07
|
Феерично: ЭлНомен.Ссылка.ПолучитьОбъект().Записать();
|
|||
2
Мимохожий Однако
28.01.14
✎
20:08
|
"Ошибок никаких но"
|
|||
3
GROOVY
28.01.14
✎
20:09
|
Ктож вас всех учит так писать...
В запросе можно отобрать нужные элементы. Не надо писать "= Ложь". Не стоит использовать ТЗ для обхода результата запроса. Для этого есть Выборка. то, что в цикле, вообще жесть. |
|||
4
Начинающий Чайник
28.01.14
✎
20:12
|
Ребят) Хорош глумиться) Лучше бы помогли))
|
|||
5
Мимохожий Однако
28.01.14
✎
20:13
|
Денег нет ..
|
|||
6
hhhh
28.01.14
✎
20:17
|
а где должны единицы появиться?
|
|||
7
GROOVY
28.01.14
✎
20:19
|
Я тебе подскажу:
Вот это: ЭлНомен.Ссылка.ПолучитьОбъект().Записать(); равно Объект = ЭлНомен.Ссылка.ПолучитьОбъект(); Объект.Записать() и как бы между двумя этими строками должно устанавливаться значение реквизита ЕдиницаХраненияОстатков. |
|||
8
Китайский Муй
28.01.14
✎
20:23
|
(0) Где у тебя ЭлНомен.ЕдиницаХраненияОстатков = ЕдИзм.Ссылка;
И ЭлНомен.Записать(); ? |
|||
9
Китайский Муй
28.01.14
✎
20:23
|
(7) Во, у Чистова более правильно... :)
|
|||
10
DirecTwiX
28.01.14
✎
20:31
|
(3) "= Ложь" работает медленнее чем НЕ?
|
|||
11
МишКа
28.01.14
✎
20:36
|
Об = ЭлНомен.ПолучитьОбъект();
твой Объект = ЭлНомен.ПолучитьОбъект(); не будет работать в обработке. |
|||
12
МишКа
28.01.14
✎
20:38
|
(11) (7)
|
|||
13
GROOVY
28.01.14
✎
21:01
|
(11) С чего бы вдруг?
|
|||
14
GROOVY
28.01.14
✎
21:01
|
(10) Да, лишняя операция сравнения.
|
|||
15
МишКа
28.01.14
✎
21:25
|
(13) Аааа 10.3
Будет работать, извиняюсь. |
|||
16
GROOVY
28.01.14
✎
22:09
|
(15) Да в любой будет работать.
|
|||
17
oslokot
28.01.14
✎
22:48
|
(16) Павел, добрый вечер. Давно хотел спросить, что быстрее:
Если А <> В Тогда Если A = НЕ В Тогда ? |
|||
18
hhhh
28.01.14
✎
23:05
|
А <> В более надежно, тут не в скорости дело. Во втором варианте работать будет только если В типа булево.
|
|||
19
HEKPOH
28.01.14
✎
23:17
|
(3) А наши так и пишут :(
Устал бороться. Вижу - исправляю сам. Когда настроение есть :) Еще веселит код, типа Если А = Б Тогда Возврат Истина; Иначе Возврат Ложь; КонецЕсли; Ну, неужели трудно запомнить конструкцию: Возврат А = Б ??? |
|||
20
HEKPOH
28.01.14
✎
23:18
|
(18) вернее, если В можно привести к булево
|
|||
21
МишКа
28.01.14
✎
23:22
|
(16) В управляемых формах имя "объект" занято.
|
|||
22
HEKPOH
28.01.14
✎
23:23
|
(21) по умолчанию.
Никто не запрещает извратиться и "освободить" его :) |
|||
23
GROOVY
28.01.14
✎
23:39
|
(21) 1. Не занято, а по умолчанию создается основной реквизит формы, причем не во всех формах, основной реквизит называется так.
2. Кто мешает удалить его или переименовать? 3. Кто говорит, что дело происходит в модуле формы? 4. Почему в 11УТ нельзя использовать обычные формы? |
|||
24
Dethmont
28.01.14
✎
23:45
|
В (17) наверное хотел спросить:
"Павел, добрый вечер. Давно хотел спросить, что быстрее: " Если А <> В Тогда Если НЕ A = В Тогда |
|||
25
Dethmont
28.01.14
✎
23:46
|
(24)+ по логике второй вариант должен быть быстрее...
|
|||
26
GROOVY
29.01.14
✎
00:01
|
Вот людям заняться нечем %)
|
|||
27
Поpyчик-4
29.01.14
✎
00:07
|
(19) Аналогично.
Исправляю сам. Когда есть желание и время. Про Док.Реквизит.Ссылка = Регистр.Измерение.Ссылка или что-то подобное в соединениях или условиях тихо молчу. |
|||
28
Pasha
29.01.14
✎
00:41
|
(0) Вот эти люди позорют профсоюз....
|
|||
29
Начинающий Чайник
29.01.14
✎
08:48
|
Всё разобрался просто возврат забыл сделать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |