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


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

Метки:

Значения реквизитов табличной части дока

Я
   Magnus
 
05.08.04 - 14:51
при вводе значений реквизитов в табличной части документа, некоторые из них должны тянуться из предыдущих документов. При этом значения, которые тянутся - ненулевые. Однако, когда происходит ввод значений, они оказываются нулевыми. Что не так делаю?
 
  Рекламное место пустует
   lexa
 
1 - 05.08.04 - 14:54
код приведи
   Magnus
 
2 - 05.08.04 - 14:56
Перем Док_план;

Процедура ПриОткрытии()
    ПриЗаписиПерепроводить(1);
    док_план=создатьОбъект("Документ.ЗакупкиПоВидуМуки");
    док_план.ВыбратьДокументы(Начмесяца(ДатаДок),конмесяца(ДатаДок));
    Док_план.ПолучитьДокумент(); 
...........................
Функция Дебеторка()
    Если Док_план.датадок=Начмесяца(датадок) Тогда
        Док_план.выбратьстроки();
        Пока Док_план.получитьстроку()=1 Цикл    
            Если док_план.ВидМуки=ВидМуки Тогда 
                Если док_план.Поставщик=Поставщик Тогда
                    Возврат док_план.Дебетор;
                Иначе Возврат 0;
                КонецЕсли;  
            КонецЕсли;  
        КонецЦикла;
    КонецЕсли;
КонецФункции
КонецПроцедуры  

Док_план.Дебетор - непустая, проверял в отладчике.
   lexa
 
3 - 05.08.04 - 15:03
а функция что возвращает?
если у тебя Док_план.Дебетор - непустая  и условия выполняются (хотя ты берешь документы на 1 число месяца) то должно быть не ноль и покажи как ты эту функцию используешь
   Magnus
 
4 - 05.08.04 - 15:06
(3) Функция дебеторка висит на столбце Дебетор таблично части дока. Если на форму класть элемент текст и повесить на него эту функцию, то значение показывается.
   lexa
 
5 - 05.08.04 - 15:16
т.е. при вводе новой строки документа у тебя должна подтянуться дебеторка в некий реквизит?
   Magnus
 
6 - 05.08.04 - 15:17
(5) именно
   Magnus
 
7 - 05.08.04 - 15:18
+ 5 Но всегда показывается 0.
   lexa
 
8 - 05.08.04 - 15:22
ты покажи как ты реквизиту табличной части присваиваешь значение функции
   Magnus
 
9 - 05.08.04 - 15:26
этому реквизиту присваивается значение функции Дебеторка, описанной выше
   lexa
 
10 - 05.08.04 - 15:27
а в каком месте ПриВводеНовойСтроки(), ПриИзменении()
 
 
   Magnus
 
11 - 05.08.04 - 15:31
Вот так делаю:

Процедура ПриВводеСтроки()
    дебеторка();
КонецПроцедуры
   lexa
 
12 - 05.08.04 - 15:32
а где реквизит которому ты присваиваешь?
Процедура ПриВводеСтроки() 
   реквизит = дебеторка(); 
КонецПроцедуры
   Magnus
 
13 - 05.08.04 - 15:36
вот так написал, но результат тот же:
Процедура ПриВводеСтроки()
    дебеторская=дебеторка();
КонецПроцедуры
   lexa
 
14 - 05.08.04 - 15:43
правильно что о
у тебя на ммомент ввода строки может быть не заполнен поставщик или вид муки
поставщик скорей всего в шапке сидит, а видмуки в табличной части
Процедура ПриИзменненииВидаМуки()
   Если Поставщик.Выбран() = 0 Тогда
   Сообщить("Невыбран поставщик"); 
   КонецЕсли;
   дебеторская=дебеторка(); 
КонецПроцедуры
Вставь ПриИзменненииВидаМуки()в свойствах колонки видмуки в дополнительно
   Magnus
 
15 - 05.08.04 - 15:46
Наоборот -- вид муки в шапке, а поставщик в таблице
   Magnus
 
16 - 05.08.04 - 15:47
Заработало, спасибо, lexa.
   Magnus
 
17 - 05.08.04 - 16:02
написал процедуру:
Процедура ПриИзменненииПоставщика() 
    Если Поставщик.Выбран() = 0 Тогда 
        Сообщить("Не выбран поставщик"); 
    КонецЕсли; 
    Дебеторская=Дебеторка();  
    Кредиторская=Кредиторка();
    ПланОбъем=ПланОбъем();
    ПланСкмма=ПланСумма();
КонецПроцедуры

значение суммы почему-то не выводится
   lexa
 
18 - 05.08.04 - 16:09
сумму в студию и не забудь написать ПриИзмененииВидаМуки(), которая будет пересчитывать всю табличную часть
   Magnus
 
19 - 05.08.04 - 16:10
Функция ПланСумма()
    Если Док_план.датадок=НачМесяца(датадок) Тогда
        Док_план.выбратьстроки();
        Пока Док_план.получитьстроку()=1 Цикл
            Если док_план.ВидМуки=ВидМуки Тогда 
                Если док_план.Поставщик=Поставщик Тогда
                    возврат Док_план.Сумма;    
                    Иначе Возврат 0;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;      
КонецФункции
   lexa
 
20 - 05.08.04 - 16:13
а если сделать как в (4)
   Magnus
 
21 - 05.08.04 - 16:15
ПриИзмененииВидаМуки() написал
   lexa
 
22 - 05.08.04 - 16:17
(21) молодец
   Magnus
 
23 - 05.08.04 - 16:20
(21) естественно сделано как в 4 . В тексте непустое значение
   lexa
 
24 - 05.08.04 - 16:23
на ПланСкмма неругается?
   Magnus
 
25 - 05.08.04 - 16:27
(24) Не ругается, но и не выводила, спасибо, взлетело.



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