8.х Создание темы

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Сергей1111, 27 июл 2016.

?

В чем моя ошибка

  1. Прописать превес

    0 голосов
    0,0%
  2. Вывод результата

    0 голосов
    0,0%
  1. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Уже лучше, поскольку "конфа" опирается на УПП, и имеет доработки от "Интеко", то теперь вопрос сложнее, с какой формой работаете обычной или управляемой (от этого зависят элементы их методы доступные на клиенте)
  2. TopicStarter Overlay
    Сергей1111
    Offline

    Сергей1111

    Регистрация:
    27 июл 2016
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Обычная форма.
    --- Объединение сообщений, 27 июл 2016 ---
    Радченко М.Г читаю, конечно появляются прояснения по не которым вопросам, но еще многое не понятно.
  3. TopicStarter Overlay
    Сергей1111
    Offline

    Сергей1111

    Регистрация:
    27 июл 2016
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Подсказки закончились?
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    вопросы продолжились
    ВзвешиваниеЖивотных - это документ? в дереве конфигурации посмотрите какие у него табличные части
    если Взвешивание - табличная часть и Привес - реквизит в ней, то надо как-то так
    Код:
    ПривесСтроки = Привес / Взвешивание.Количество();
    Для Каждого СтрокаВзвешивание ИЗ Взвешивание Цикл
        СтрокаВзвешивание.Привес = ПривесСтроки;
    КонецЦикла;
    
  5. TopicStarter Overlay
    Сергей1111
    Offline

    Сергей1111

    Регистрация:
    27 июл 2016
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Процедура ВвестиПривес(Кнопка)

    Дельта = 0;
    Если ВвестиЧисло(Дельта, "Введите привес", 15, 3) Тогда
    Для Каждого Строка Из Взвешивание Цикл
    ПривесСтроки = Дельта / Дельта.ПривесСтроки();
    Строка.Привес = ПривесСтроки;

    КонецЦикла;
    КонецЕсли;
    ПерезаполнитьПредыдущийВесИПривесы();
    КонецПроцедуры

    Поругался на ПривесСтроки:
    {Документ.КА_ВедомостьВзвешиванияЖивотных.Форма.ФормаДокумента.Форма(74)}: Значение не является значением объектного типа (ПривесСтроки)
    ПривесСтроки = Дельта / Дельта.ПривесСтроки();
    --- Объединение сообщений, 28 июл 2016 ---
    Что нужно сделать?
  6. Yuriy_Alexandrovich
    Offline

    Yuriy_Alexandrovich Профессионал в 1С Команда форума

    Регистрация:
    15 сен 2011
    Сообщения:
    1.275
    Симпатии:
    76
    Баллы:
    54
    Ну вот смотри, у тебя Дельта - переменная тип "число" ( потому что "Дельта =0"), далее, а вы обращаетесь к ней как к объектному типу данных ("Дельта.ПривесСтроки()")
    Если у вас существует отдельная функция "ПривесСтроки" тогда -
    Код:
    ПривесСтроки = Дельта/ПривесСтроки(Дельта)
    --- Объединение сообщений, 28 июл 2016 ---
    Что тоже не очень, поскольку имя переменной и функции совпадают.
    --- Объединение сообщений, 28 июл 2016 ---
    Лучше функцию переименовать, что-то типа "ПолучитьПривесВСтроке()", и конечно, функция в модуле формы должна быть описана
  7. TopicStarter Overlay
    Сергей1111
    Offline

    Сергей1111

    Регистрация:
    27 июл 2016
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    Процедура РаспределитьПривес(Кнопка)
    ЗапросПривес = Новый Запрос();
    ЗапросПривес.Текст = "ВЫБРАТЬ
    | КА_МассаСкота.Масса
    |ИЗ
    | РегистрСведений.КА_МассаСкота КАК КА_МассаСкота";
    Привес=Взвешивание.ВыгрузитьКолонки("Привес");
    ЗапросПривес.УстановитьПараметр("Привес", Привес);
    ТабВзвешивания = ЗапросПривес.Выполнить().Выгрузить();
    ПривесСтр = 0;
    Если ВвестиЧисло (ПривесСтр, "Введите привес", 15, 2) Тогда
    Для Каждого Строка Из Взвешивание Цикл
    Строка.Привес = ПривесСтр / КоличествоСтрок; ///? как правильно прописать эту строку она должна довать результат деления и выводить в каждую строку привес.(500 / количество строка Привес )= результат в каждую строку Привес
    Строка.Масса = Строка.МассаПред + Строка.Привес;
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры
Похожие темы
  1. mialord
    Ответов:
    9
    Просмотров:
    1.317
  2. Тимон
    Ответов:
    8
    Просмотров:
    1.131
Загрузка...

Поделиться этой страницей