Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перевод из базовой единицы измерения в тонны
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
gorik77
Всем доброго дня.
Помогите разобраться, или направить в нужное русло мысль. не могу разобраться как произвести Перевод из базовой единицы измерения в тонны для вывода на печать. Вроди все просто, выбираеш "ТекЭлемент" , для него выбираеш из спаравочника "ЕдИзм" Коэффициент для тонн и умножаеш на количество. а вот как ето организовать что то совсем в голову ничего не лезет.
Flexy
Не понятно в чем проблема...
Делаете новую единицу измерения "Тонна" и для нее задаете нужный коэффициент пересчета.
Или вы хотите полностью перевести учет на другую базовую единицу измерения?
gorik77
Полный перевод на другую базовую единицу не нужен. Необходимо при выводе на печать ТТН чтоб автоматически просчитывало в тоннах.
-=VJ=-
Цитата(gorik77 @ 14.06.11, 11:26) необходимо зарегистрироваться для просмотра ссылки
Необходимо при выводе на печать ТТН чтоб автоматически просчитывало в тоннах.


Ну и что именно не получается?
Код в студию.
gorik77
Цитата(-=VJ=- @ 14.06.11, 11:27) необходимо зарегистрироваться для просмотра ссылки
Ну и что именно не получается?
Код в студию.


вот с кодом и трабла, не могу сообразить как вообще достать именно коэффициент тонн для елемента если он не является базовой единицей измерения. туплю сегодня по черному.

вот проба но ето реальный бред. Да еще и получается деление на "0".
СпрЕд= СоздатьОбъект("Справочник.ЕдиницыИзмерения");    
Тон = СпрЕд.Коэффициент;
ТоннаПр = Кво/Тон;
DartRomanius
Собственно, так оно и есть (бред всмысле).

Цитата(gorik77 @ 14.06.11, 13:26) необходимо зарегистрироваться для просмотра ссылки
вот с кодом и трабла, не могу сообразить как вообще достать именно коэффициент тонн для елемента если он не является базовой единицей измерения. туплю сегодня по черному.

вот проба но ето реальный бред. Да еще и получается деление на "0".
СпрЕд= СоздатьОбъект("Справочник.ЕдиницыИзмерения");    
Тон = СпрЕд.Коэффициент;
ТоннаПр = Кво/Тон;


А поиск по справочнику? А отбор по нужному нам типу единицы измерения?
Pepe
Зачем искать то, что известно. Если у вас все в кг, а на печать надо в тоннах - пропишите в ячейку вывода формулу (вес в кг/1000). Или в процедуру вывода на печать добавьте ПечВтоннах=вес/1000. Можно сделать проверку на базовую единицу и в зависимости от ее значения выводить необходимое на печать.
-=VJ=-
Цитата(Pepe @ 14.06.11, 13:43) необходимо зарегистрироваться для просмотра ссылки
Зачем искать то, что известно.


Потому что может быть неизвестно.
Это лоскутное программирование - потом хвосты этих быстрых "заплаток" вылезают где только можно.
Лучше сразу делать так, чтобы потом не переделывать.
gorik77
Цитата(-=VJ=- @ 14.06.11, 13:48) необходимо зарегистрироваться для просмотра ссылки
Потому что может быть неизвестно.
Это лоскутное программирование - потом хвосты этих быстрых "заплаток" вылезают где только можно.
Лучше сразу делать так, чтобы потом не переделывать.


Подскажите хоть с чего начать, Запрос, процедура или каким другим методом и самое главное, как достать с подчиненного ЕдИзм Нужную единицу для рассчетов.
Vofka
Цитата
ак достать с подчиненного ЕдИзм Нужную единицу для рассчетов

Найдите по наименованию, проблема в чём?
-=VJ=-
Цитата(gorik77 @ 14.06.11, 14:06) необходимо зарегистрироваться для просмотра ссылки
Подскажите хоть с чего начать, Запрос, процедура или каким другим методом и самое главное, как достать с подчиненного ЕдИзм Нужную единицу для рассчетов.


Что-нибудь типа

СпрЕд=СоздатьОбъект("Справочник.ЕдиницыИзмерения");    
СпрЕд.ИспользоватьВладельца(ТМЦ);
СпрЕд.ВыбратьЭлементы();
Пока СпрЕд.ПолучитьЭлемент()=1 Цикл
   Если СпрЕд.Единица=ИскомаяЕдиница Тогда
      Тон = СпрЕд.Коэффициент;
      ТоннаПр = Кво/Тон;
      Прервать;
   КонецЕсли;
КонецЦикла;


Естественно с необходимыми изменениями.
Или, как вариант, использовать "НайтиПоРеквизиту", если хотите.
Или НайтиПоНаименованию
gorik77
Выстрадал блин!! хоть и все просто но почему то ну не шло в первый рабочий день недели ))

    Пока ПолучитьСтроку() = 1 Цикл  
//*********************************    
// Получение кол-ва тонн и мест используемого товаром
//*********************************
    СпрЕд=СоздатьОбъект("Справочник.ЕдиницыИзмерения");
    СпрЕд.ИспользоватьВладельца(ТМЦ);
    СпрЕд.НайтиПоНаименованию("т.");
    Если СпрЕд.Выбран()>0 Тогда
        Тон = СпрЕд.Коэффициент;
            ТоннаПр = (Коэффициент/Тон)*Кво;
        КонецЕсли;
     СпрЕд.НайтиПоНаименованию("Место");
    Если СпрЕд.Выбран()>0 Тогда
        Место = СпрЕд.Коэффициент;
            КвоМест = (Коэффициент/Место)*Кво;
        КонецЕсли;
//**************************************
    Таб.ВывестиСекцию("Строка");
        Ном = Ном+1;



всем спасибо за понимание!!!
Ziam
Боюсь, вдруг вам попадет Коэффициент = 0. от этого случая вы не застрахованы вашим кодом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.