Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
12 Дек 2017, 05:58
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: ДЕлаю выбрузку из dbf, не передается дробная часть  (Прочитано 2540 раз)

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

Оффлайн Dobrolubov

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-12
  • Сайт: 
  • Профессия: Ученик 1С
Доброго дня, подскажите, как  мне сделать так чтобы дробная часть передавалась в том значении в котором имеется, а не округлялась?(((((


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
опишите подробнее, как вы делаете. можно с куском кода.

Оффлайн Dobrolubov

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-12
  • Сайт: 
  • Профессия: Ученик 1С
  дбф1 = новый XBASe;
 дбф1.Кодировка = КодировкаXBase.OEM;
 дбф1.ОткрытьФайл("D:\dBase\kZ(prob)\kkorm.dbf");

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

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

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
НовыйРецепт.Процент тип значения какой? сколько знаков после запятой?

Оффлайн Slin

  • Глобальный модератор
  • *****
  • Сообщений: 780
  • РЕПУТАЦИЯ: 247
  • КПД: 32%
  • Game over...
  • Регистрация: 2010-10-13
  • Сайт: 
  • Профессия: Программист 1С
дбфр.procent - он округляет проценты, пример(в DBF 0,821  а в 1с он пишет 1)
Означает ли это, что в dbf уже округлено?
Выбор то невелик: либо в dbf уже так, либо НовыйРецепт.Процент - тип без дробной части
skype: slin-dev

Оффлайн Dobrolubov

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-12
  • Сайт: 
  • Профессия: Ученик 1С
а,чет я затупил, думал, что там 3 знака после запятой. а сам не поставил)) спасибо.

А есть еще вопрос изложу чуть ниже

Оффлайн Dobrolubov

  • **
  • Сообщений: 70
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2012-03-12
  • Сайт: 
  • Профессия: Ученик 1С
В общем, в справочнике номенклатура, содержится, и корм и сырье. мне даны 2 таблицы dbf. (таб.1-сырье, таб.2-рецепт) структруа 1ой таблицы: syryo: N,3 ; syryoname: C,15 структура 2ой таблицы: kkorm:C,12; syryo:N,3;procent:R,5
обе таблицы я перетаскиваю в номенклатуру. с 1ой проблем вообще никаких. а для я делаю табличную часть в которой у меня размещается рецепт (Рецепт состоит из 2х колонок это : наименование сырья, то бишь берётся из номенклатуры, и процент который я тащу из 2ой таблицы)
ну вообщем гляньте код и задайте вопросы я не могу сформулировать вопроса))


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

ДБФ = Новый 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;
          НовыйРецепт.Записать();
       
                   конеццикла;

 
 РодительТМЦ1 = Справочники.Номенклатура.СоздатьГруппу();
         РодительТМЦ1.Наименование = "КомбиКорм";
         РодительТМЦ1.Записать();
         РодительСсылка1 = РодительТМЦ1.Ссылка;
   колзап = дбфр.КоличествоЗаписей();      
к = 1000;         
     Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   Рецептов.Наименование КАК Наименование,
      |   Рецептов.Сырье,
      |   Рецептов.Процент
      |ИЗ
      |   Справочник.Рецептов КАК Рецептов
      |
      |СГРУППИРОВАТЬ ПО
      |   Рецептов.Наименование,
      |   Рецептов.Сырье,
      |   Рецептов.Процент
      |ИТОГИ ПО
      |   Наименование";

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

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

       ВыборкаДетальныеЗаписи = ВыборкаНаименование.Выбрать();

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

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


Теги:
 

Часть четвертая: переход на «1С» версии «3.0». Где в программе находятся «Параметры учета»? Алгоритм настройки кадрового учета в новой версии программы «1С»

Автор 1cwikiРаздел Зарплата и управление персоналом

Ответов: 0
Просмотров: 3958
Последний ответ 20 Мар 2015, 12:58
от 1cwiki
Что быстрее: Загрузить табличную часть в запрос и там добавить колонки, или пробежаться циклом по ТЧ и добавить значения в колонки

Автор ZeedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 977
Последний ответ 11 Июл 2016, 09:00
от vitasw
табличная часть, реквизит "сумма"

Автор otabekРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2456
Последний ответ 01 Мар 2014, 22:27
от DmitriyF
часть уплаченного НДФЛ не попадает в справку 2-ндфл

Автор КаринаСРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 1667
Последний ответ 30 Янв 2015, 02:08
от MuI_I_Ika
вывести макет с внешн. отчета в табличную часть отчета..

Автор sergei82Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 7
Просмотров: 5101
Последний ответ 28 Янв 2010, 09:07
от Slin

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
167 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
42 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
31 Сообщений
Golickoff Golickoff
28 Сообщений
BuhRust
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 226
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal