0
- 14.05.2012 - 08:53
|
Здравствуй, всемогущиф All!!!! Нужно выбрать все единицы измерения, установленные для определенной номенклатуры. не могу разобраться что не так. Товар выбран уже, делаю выборку по ИпользоватьВладельца, а ничего не выбирается. Понимаю, что делаю неправильно... вот кусок кода: ------------------------------ Единицы = СоздатьОбъект("Справочник.Единицы"); Единицы.ИспользоватьВладельца(Товар.ТекущийЭлемент ()); Единицы.ВыбратьЭлементы(); Сообщить(Единицы.Наименование + "!!"); // здесь выводится только "!!" Пока Единицы.ПолучитьЭлемент() = 1 Цикл Сообщить( ОсновнаяЕдиница.Наименование); Если СокрЛП(ОсновнаяЕдиница.Наименование) = "кор." Тогда Табл.КолВК = Единицы.Коэффициент; Табл.ШтрихКодК = Единицы.ШтрихКод; НайденаЕдиница = 1; ИначеЕсли СокрЛП(ОсновнаяЕдиница.Наименование) = "р.р." Тогда Табл.КолВРР = Единицы.Коэффициент; Табл.ШтрихКодРР = Единицы.ШтрихКод; НайденаЕдиница = 1; КонецЕсли; КонецЦикла; ------------------------- | |
1
- 14.05.2012 - 08:57
| Перидиоческие реквизиты. | |
2
- 14.05.2012 - 08:59
|
строку потерял... Единицы = СоздатьОбъект("Справочник.Единицы"); Единицы.ИспользоватьВладельца(Товар.ТекущийЭлемент ()); Единицы.ВыбратьЭлементы(); ОсновнаяЕдиница = Единицы.ТекущийЭлемент()Сообщить(Единицы.Наименова ние + "!!"); // здесь выводится только "!!" Пока Единицы.ПолучитьЭлемент() = 1 Цикл Сообщить( ОсновнаяЕдиница.Наименование); Если СокрЛП(ОсновнаяЕдиница.Наименование) = "кор." Тогда Табл.КолВК = Единицы.Коэффициент; Табл.ШтрихКодК = Единицы.ШтрихКод; НайденаЕдиница = 1; ИначеЕсли СокрЛП(ОсновнаяЕдиница.Наименование) = "р.р." Тогда Табл.КолВРР = Единицы.Коэффициент; Табл.ШтрихКодРР = Единицы.ШтрихКод; НайденаЕдиница = 1; КонецЕсли; КонецЦикла; | |
3
- 14.05.2012 - 09:02
|
VZ: нет периодических реквизитов в справочнике Единицы. я не !С-ник, помоги допилить? | |
4
- 14.05.2012 - 09:21
| (2) Строку "Пока...Цикл" подними на две строки выше. | |
5
- 14.05.2012 - 09:21
|
Единица = СоздатьОбъект("Справочник.Единицы"); Единица.ИспользоватьВладельца(Номенклатура); Единица.ВыбратьЭлементы(); Пока Единица.ПолучитьЭлемент()=1 Цикл Сообщить(Единица.ОКЕИ.Наименование); КонецЦикла; прекрасно работает | |
6
- 14.05.2012 - 09:25
|
3-Crys > Единицы.ИспользоватьВладельца(Товар.ТекущийЭлемент()); А он, извиняюсь, существует? Владелец-то? Точно-точно? И не группа? Единицы.ВыбратьЭлементы(); ОсновнаяЕдиница = Единицы.ТекущийЭлемент(); Пока Единицы.ПолучитьЭлемент() = 1 Цикл... ВААбщето-о, ВыбратьЭлементы() - это для открыть выборку. А для получения элементов служыт метод ПолучитьЭлемент(). Но этого (получения), может и не быть, если ВыбратьЭлемент() получит пустое множество. О чем сразу честно предупреждает, возвращая нулевое значение... | |
7
- 14.05.2012 - 09:52
|
А..а.аааа! Заработало!!! ОКЕИ пропустил.... вечерком будут проверять дальше..... Спасибо всем!!! | |
8
- 22.05.2012 - 14:01
| (7) не "ОКЕИ пропустил" это с ледствие, а прична в том что у спр.Единицы - наименования нет, не нужно оно там... | |
9
- 22.05.2012 - 16:40
| 8-Чучундер >наименование нужно любому справочнику (как и код), а вот то что его нет в некоторых справочниках 1С - это фишка/глюк "вселенной 1С";-) | |
10
- 22.05.2012 - 16:47
| 9-Маус > В данном случае его нету правильно. Иначе замучаешься актуальность поддерживать. | |
| Интернет-форум Краснодарского края и Краснодара |