Вход | Регистрация

1С:Предприятие ::

Метки:отчеты

Гон с программным выбором единиц измерения...

Я
   Malicious Babai
 
30.06.04 - 12:31
Господа программеры в 1С, суть проблемы такая:
необходимо добавить в таблицу Оборотно-сальдовой ведомости по счету значения единиц измерения для выводимых материалов. Добавлять-то добавляет, но далеко не всегда, если в качестве субконто выбрана группа, а не отдельный материал, т.е. выходит гон со списком значений, в который заносятся значения единиц измерения. Ошибка скорее всего детская, но не судите строго - с встроенным языком 1С начал работу совсем недавно :(
Вот исходник гонимой процедуры:

Процедура ВыделениеЕдИзмерения() 
    спрМат=СоздатьОбъект("Справочник.Материалы");
    Если (ВыбвидСубконто1.Выбран()=1) и (ВыбВидСубконто1=ВидыСубконто.Материалы) тогда 
        Если ПустоеЗначение(Субконто1)=0 тогда
            Если Субконто1.ЭтоГруппа()=1 тогда
                МатИзм=СоздатьОбъект("СписокЗначений");
                спрМат.ВыбратьЭлементы();
                Пока спрМат.ПолучитьЭлемент()=1 цикл
                    Если спрМат.ЭтоГруппа()=1 тогда
                        продолжить;
                    Иначе
                        Если спрМат.ПринадлежитГруппе(Субконто1)=1 тогда
                            МатИзм.ДобавитьЗначение(спрМат.ЕдиницаИзмерения);
                        КонецЕсли;
                    КонецЕсли;
                КонецЦикла;
            Иначе
                МатИзм="";
            КонецЕсли;
        Иначе
            МатИзм=СоздатьОбъект("СписокЗначений");
            спрМат.ВыбратьЭлементы();
            Пока спрМат.получитьЭлементы()=1 цикл
                Если спрМат.ЭтоГруппа()=0 тогда
                    МатИзм.ДобавитьЭлемент(спрМат.ЕдиницаИзмерения);
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
        Иначе матИзм="";
    КонецЕсли;
КонецПроцедуры
 
  Рекламное место пустует
   AlexMan
 
1 - 30.06.04 - 12:52
ДобавитьЭлемент()- нет такого метода для Списка значений.
   SnarkHunter
 
2 - 30.06.04 - 12:55
Поверьте, компьютер - послушный исполнитель воли человека. Что Вы ему дали, то он и перепутал...
   Черт
 
3 - 30.06.04 - 13:06
(3) Lol, у меня  шеф  хочет что бы компьютер контролировал все, и при не правильных действиях  говорил что это можно, а это запрещено
   Malicious Babai
 
4 - 30.06.04 - 13:46
Ну исправил я строку, где была отмечена ошибка... теперь стоит ДобавитьЗначение(...) - ошибка остается: т.е. зачастую выдается всякая хрень (например, что количество микросхем исчисляется в метрах или литрах :)) ), либбо вообще пустые ячейки. Т.е. редкий случай правильной выборки получается :(
   AlexMan
 
5 - 30.06.04 - 13:55
(3) Или все шефы одинаковы или мы работаем в одной конторе.
(4) ПринадлежитГруппе-посмотри описалово к методу
   Killgur
 
6 - 30.06.04 - 14:34
(0) Че то я не пойму чего ты хочешь?
1) Нужно чтобы в каждой строке после наименования материала выводилась его единица измерения?
2) Для группы выводились все единицы измерения входящих материалов?

или все таки хочешь чтобы в шапке вывелись все ед. изм.?
   Malicious Babai
 
7 - 30.06.04 - 17:34
Хочу я чтобу в секции с указанием количества выводилось помимо самого количества и единица измерения (что тут непонятного? ну скажем 56 м ). но это не функция вывода в таблицу, а всего лишь отбор значений для поледующего вывода
   AlexMan
 
8 - 30.06.04 - 17:39
Читай 10 раз (6) , если не поможет застрелись.
   Malicious Babai
 
9 - 30.06.04 - 17:52
AlexMan
Ежели такой умный, то сам стреляйся :))
Лучше скажи, что ты можешь предложить в качестве выражения для идентификации группы? Ведь в данном случае Субконто1 является группой. Разве не так?
   AlexMan
 
10 - 30.06.04 - 18:08
Родитель()
 
 
   AlexMan
 
11 - 30.06.04 - 18:09
+(10) Родитель (без скобок)
   Malicious Babai
 
12 - 01.07.04 - 04:48
AlexMan
т.е. ПринадлежитГруппе(Родитель().Родитель) ? дык так ошибка синтаксиса выскакивает, что процедура не обнаружена или что она должна иметь логическое выражение. Если же писать так ПринадлежитГруппе(Субконто1.Родитель().Родитель) , то он не может найти соответствующее поле агрегатного типа и опять же про лог. выражение
   Malicious Babai
 
13 - 01.07.04 - 07:33
всё, дамы и господа, проблему нашел... она так сказать не совсем в этой функции заключается, а в данном исходнике код вполне рабочий.
Тема закрыта.... Всем Спасибо за обсуждение и советы!


Список тем форума
Рекламное место пустует   Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует