Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   ТиС: помогите, не выбираеются единицы измерения (http://forums.kuban.ru/f1040/tis_pomogite_ne_vybiraeyutsya_edinicy_izmereniya-2600626.html)

Crys 14.05.2012 08:53

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

VZ 14.05.2012 08:57

Перидиоческие реквизиты.

Crys 14.05.2012 08:59

строку потерял...

Единицы = СоздатьОбъект("Справочник.Единицы");
Единицы.ИспользоватьВладельца(Товар.ТекущийЭлемент ());
Единицы.ВыбратьЭлементы();

ОсновнаяЕдиница = Единицы.ТекущийЭлемент()Сообщить(Единицы.Наименование + "!!"); // здесь выводится только "!!"
Пока Единицы.ПолучитьЭлемент() = 1 Цикл
Сообщить( ОсновнаяЕдиница.Наименование);
Если СокрЛП(ОсновнаяЕдиница.Наименование) = "кор." Тогда
Табл.КолВК = Единицы.Коэффициент;
Табл.ШтрихКодК = Единицы.ШтрихКод;
НайденаЕдиница = 1;
ИначеЕсли СокрЛП(ОсновнаяЕдиница.Наименование) = "р.р." Тогда
Табл.КолВРР = Единицы.Коэффициент;
Табл.ШтрихКодРР = Единицы.ШтрихКод;
НайденаЕдиница = 1;
КонецЕсли;
КонецЦикла;

Crys 14.05.2012 09:02

VZ: нет периодических реквизитов в справочнике Единицы.
я не !С-ник, помоги допилить?

danich7 14.05.2012 09:21

(2) Строку "Пока...Цикл" подними на две строки выше.

Маус 14.05.2012 09:21

Единица = СоздатьОбъект("Справочник.Единицы");
Единица.ИспользоватьВладельца(Номенклатура);
Единица.ВыбратьЭлементы();
Пока Единица.ПолучитьЭлемент()=1 Цикл
Сообщить(Единица.ОКЕИ.Наименование);
КонецЦикла;

прекрасно работает

VZ 14.05.2012 09:25

3-Crys > [em]Единицы.ИспользоватьВладельца([b]Товар.ТекущийЭлемент()[/b])[/em];
А он, извиняюсь, существует? Владелец-то? Точно-точно? И не группа?

[em]Единицы.ВыбратьЭлементы();
ОсновнаяЕдиница = Единицы.ТекущийЭлемент();
Пока Единицы.ПолучитьЭлемент() = 1 Цикл...[/em]
ВААбщето-о, [em]ВыбратьЭлементы()[/em] - это для открыть выборку. А для получения элементов служыт метод [em]ПолучитьЭлемент()[/em]. Но этого (получения), может и не быть, если ВыбратьЭлемент() получит [b]пустое[/b] множество. О чем сразу честно предупреждает, возвращая нулевое значение...

Crys 14.05.2012 09:52

А..а.аааа! Заработало!!!
ОКЕИ пропустил....
вечерком будут проверять дальше.....
Спасибо всем!!!

Чучундер 22.05.2012 14:01

(7) не "ОКЕИ пропустил" это с ледствие, а прична в том что у спр.Единицы - наименования нет, не нужно оно там...

Маус 22.05.2012 16:40

8-Чучундер >наименование нужно любому справочнику (как и код), а вот то что его нет в некоторых справочниках 1С - это фишка/глюк "вселенной 1С";-)

Sadovnikov 22.05.2012 16:47

9-Маус > В данном случае его нету правильно. Иначе замучаешься актуальность поддерживать.


Текущее время: 13:05. Часовой пояс GMT +3.