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

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

Метки: 

Как получить код из справочника зная субконто

Я
   Вжик
20.08.04 - 04:36
Есть таблица значений
    ТЗ=СоздатьОбъект("ТаблицаЗначений");
   //ТЗ.НоваяКолонка("Ном",,,,,,,);

    ТЗ.НоваяКолонка("Код",,,,,,,);
    ТЗ.НоваяКолонка("Материал",,,,,,,);
    ТЗ.НоваяКолонка("Подразделение",,,,,,,);
    ТЗ.НоваяКолонка("Остаток",,,,,,,);
    ТЗ.УдалитьСтроки();
 
  Рекламное место пустует
   Вжик
1 - 20.08.04 - 04:43
+ к (0)
Есть бух.итоги
Счет10="10";
БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
БухИт.ИспользоватьСубконто(ВидыСубконто.Материалы);
БухИт.ИспользоватьСубконто(ВидыСубконто.Подразделения,Подразделение);
БухИт.ВключатьСубсчета(1,);
БухИт.ВыполнитьЗапрос(,ДатаДок,Счет10,,,,,"К");
БухИт.ВыбратьСубконто(,,,,,"Наименование");

//Заполняем таблицу значений из БухИт

Пока БухИт.ПолучитьСубконто() = 1 Цикл
ТЗ.НоваяСтрока();
ТЗ.Материал = БухИт.Субконто();
ТЗ.Остаток     = БухИт.СКД("К");
//По выбранному субконто требуется определить код материала из Справочника


ТЗ.Код        =????????????????????????????
КонецЦикла;

Вопрос: Что написать, что бы из справочника в ТЗ попал код материала?
PS. ЖКК, tutor_1c смотрел, но не знаю.
спасибо
   Морозов Александр
 
2 - 20.08.04 - 05:19
ТЗ.Код=ТЗ.Материал.Код
Только зачем, когда его и так можно получить в любой момент?
   Вжик
3 - 20.08.04 - 05:23
СПАСИБО. Получилось.
   Вжик
4 - 20.08.04 - 05:45
//Заполняем таблицу значений из БухИт

Пока БухИт.ПолучитьСубконто() = 1 Цикл
    ТЗ.НоваяСтрока();
    ТЗ.Материал = БухИт.Субконто();
    ТЗ.Остаток     = БухИт.СКД("К");
//По выбранному субконто определяем код материала из Справочника

    ТЗ.Код=ТЗ.Материал.Код//Спасибо Морозову Александру! 


    КонецЦикла;
    Если ТЗ.КоличествоСтрок() = 0 Тогда
Предупреждение("Не обнаружено ни одного материала на мастере
|по выбранному назначению использования на "+Формат(ДатаДок,"Д ДДММММГГГГ"));
    КонецЕсли;

// 3. Теперь надо отобразить ТЗ для возможности выбора материала в документ

         ф=1;
Если ТЗ.ВыбратьСтроку(ф,"Материалы, числящиеся в выбранном подразделении")=1 Тогда 
//Отображаем на экране ТЗ

           //ф=ТЗ.ТекущаяСтрока(1);

            Сообщить("Номер строки ТЗ ="+ф);
            НоваяСтрока();
            Материалы = ТЗ.ПолучитьЗначение(ф,"Материал");
            Количество = ТЗ.ПолучитьЗначение(ф,"Остаток");
    КонецЕсли;

КонецПроцедуры

На экран выводится правильно заполненная ТЗ, а когда я выбираю строку, то в таблицу документа попадает только Количество, а название материала - нет. Что я не правильно делаю?
   SnarkHunter
 
5 - 20.08.04 - 06:11
1. Не соответствуют типы в документе и ТЗ
2. Пустое значение в ТЗ
   Вжик
6 - 20.08.04 - 06:28
Значение в ТЗ не пустое. Это и так видно. Поэтому ясно, что типы не соответствуют. Так что написать, что бы привести тип из ТЗ к типу Справочник.Материалы ?
   SnarkHunter
 
7 - 20.08.04 - 06:36
Реквизит "Материалы" в заполняемом документе какого типа?
   427
 
8 - 20.08.04 - 06:43
какой то неправильный Вжик...

неверно определенная ТЗ  + косяки с заполнением....
   Вжик
9 - 20.08.04 - 09:40
Извините, вздремнул малость.
Для (7). Реквизит "Материалы" в заполняемом документе имеет тип Справочник.Материалы
Для (8). Согласен "неправильный Вжик". Надо больше спать. Но ТЗ заполняется и правильно отображается
   427
 
10 - 20.08.04 - 09:56
Об этом нельзя судить по внешнему виду... А маленькую пенку в объявлении ТЗ ты допустил сразу...
 
 
   Вжик
11 - 20.08.04 - 09:58
Правду говорят, что утро ночи мудреннее. В табличной части реквизит имеет имя "Материал", а я выходит присваивал значение из ТЗ переменной "Материалы". Всем спасибо. Больше (пока) вопросов нет по этому поводу.


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