Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 23:00

Проблема с типами данных

Автор Dobrolubov, 09 окт 2012, 09:54

0 Пользователей и 1 гость просматривают эту тему.

Dobrolubov

Процедура КнопкаВыполнитьНажатие(Кнопка)

ДБФ = Новый XBase;
ДБФ.Кодировка = КодировкаXBase.OEM;
ДБФ.ОткрытьФайл("D:\dBase\kZ(prob)\SYRYO.dbf");
РодительТМЦ = Справочники.Номенклатура.СоздатьГруппу();
         РодительТМЦ.Наименование = "Сырье";
         РодительТМЦ.Записать();
         РодительСсылка = РодительТМЦ.Ссылка;
Пока ДБФ.Следующая() Цикл
    НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НоваяНоменклатура.Код = ДБФ.SYRYO;
НоваяНоменклатура.Наименование = ДБФ.syryonam;
НоваяНоменклатура.Признак = перечисления.Признак_корм_сырье.Сырье;
НоваяНоменклатура.Родитель = РодительСсылка;
НоваяНоменклатура.Записать();
КонецЦикла;
ДБФ.ЗакрытьФайл();      
  дбф1 = новый XBASe;
дбф1.Кодировка = КодировкаXBase.OEM;
дбф1.ОткрытьФайл("D:\dBase\kZ(prob)\kkorm.dbf");

дбфР = новый XBASe;
дбфР.Кодировка = КодировкаXBase.OEM;
дбфР.ОткрытьФайл("D:\dBase\kZ(prob)\recept.dbf");

    пока дбфр.Следующая() цикл
       НовыйРецепт = Справочники.Рецептов.СоздатьЭлемент();
НовыйРецепт.Наименование=дбфр.kkorm;
НовыйРецепт.Сырье=дбфр.syryo;
НовыйРецепт.Процент=дбфр.procent;
новыйрецепт.Корм=дбфр.syryo;
НовыйРецепт.Записать();
    конеццикла;


РодительТМЦ1 = Справочники.Номенклатура.СоздатьГруппу();
         РодительТМЦ1.Наименование = "КомбиКорм";
         РодительТМЦ1.Записать();
         РодительСсылка1 = РодительТМЦ1.Ссылка;
   колзап = дбфр.КоличествоЗаписей();      
к = 1000;         
      
   //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   Рецептов.Наименование КАК Наименование,
      |   Рецептов.Процент,
      |   Рецептов.Сырье,
      |   ном.Код,
      |   ном.Наименование КАК Наименование1,
      |   Рецептов.Ссылка,
      |   ном.Ссылка КАК Ссылка1
      |ИЗ
      |   Справочник.Рецептов КАК Рецептов
      |      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ном КАК ном
      |      ПО Рецептов.Сырье = ном.Код
      |
      |СГРУППИРОВАТЬ ПО
      |   Рецептов.Наименование,
      |   Рецептов.Процент,
      |   Рецептов.Сырье,
      |   ном.Код,
      |   ном.Наименование,
      |   Рецептов.Ссылка,
      |   ном.Ссылка
      |ИТОГИ ПО
      |   Наименование";

   Результат = Запрос.Выполнить();

   ВыборкаНаименование = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
     спрн=справочники.Номенклатура.Выбрать();

   Пока ВыборкаНаименование.Следующий() Цикл
      к = к + 1;
    
   новрец = Справочники.Номенклатура.СоздатьЭлемент();
   новрец.Код = к;
   новрец.Наименование = выборканаименование.наименование;
   новрец.Признак = перечисления.Признак_корм_сырье.КомбиКорм;
   новрец.Родитель = РодительСсылка1;
      ВыборкаДетальныеЗаписи = ВыборкаНаименование.Выбрать();

      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         НоваяСтрокаТЧ =новрец.ТабличнаяЧасть1.Добавить();
   НоваяСтрокаТЧ.НаименованиеСырья = ВыборкаДетальныеЗаписи.наименование1.ссылка1;
   НоваяСтрокаТЧ.ПроцентВвода = ВыборкаДетальныеЗаписи.Процент;
         КонецЦикла;
   новрец.Записать();
   КонецЦикла;

   //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА




   

   
          
   
дбфР.ЗакрытьФайл();
дбф1.ЗакрытьФайл();
КонецПроцедуры

Gunner

вместо  ном.Наименование КАК Наименование1 в запросе берите из таблицы Ссылку (ном.Ссылка КАК Наименование1)  и тогда
НоваяСтрокаТЧ.НаименованиеСырья = ВыборкаДетальныеЗаписи.Наименование1;   //тип "ссылка" = тип "ссылка"

Dobrolubov


Gunner

а во в запрсое уже есть ссылка, не увидел, тогда только одну строку изменить
НоваяСтрокаТЧ.НаименованиеСырья = ВыборкаДетальныеЗаписи.Ссылка1 - вот так должно быть

Dobrolubov

спасибо, всё ок)там со справочниками немного еще намудил, ну щас всё гуд)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск