1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Помогите с 8кой

Тема в разделе "1C и всё что с ней связано", создана пользователем ikar-rus, 2 окт 2007.

  1. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Начал перебираться с 7.7 на 8.0 и тут встретил множество проблем....:
    Есть справочник: в нем: наименование, реквизит-цена.
    Есть документ: реквизиты таб части - наименование, цена.
    Может я чего не пойму но в 7ке реквизитам документа можно было назначать тип конкретного реквизита справочника, а 8ке - только целый справочник без разделения на реквизиты!?!?!?!?
    Ну допустим, с наименованием это проходит вполне нормально, а как правильно изьять цену????
     
  2. b00tch

    b00tch Гость

    Репутация:
    0
    не бывает типа "реквизит справочника"... бывает "СправочникСсылка" - через него доступны все реквизиты справочника...

    примерно так:
    ДокументТабличнаяЧасть.Цена = СправочникНоменклатура.Цена;
     
  3. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Ну сначала хотелось бы правильно задать тип реквизита документа, а окошко только вот такое
    Помогите с 8кой
    и никак не выбрать справочник.цена.

    А вот уже в модуле когда приходится руками сопоставлять цену, нужно что-то вроде:
    ТекСтрока=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока;
    Элем=ТекСтрока.Наименование;
    Точка=Справочники.СтРахода.НайтиПоНаименованию(Элем);
    Цена=Точка.Получить(Цена);

    p.s. это не конкретный код, а его идея.
    Но если у нас забиты несколько одинаковых наименований. Что будет?
     
  4. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    ТекСтрока=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока;
    ТекЭл=ТекСтрока.Наименование;
    Спр=Справочники.СтРасхода.НайтиПоНаименованию(ТекЭл);
    Цена=Спр.Цена;
    ТекСтрока.Цена=Цена;

    Вот в таком варианте при наличии двух одинаковых наименований с разной ценой, извлекается цена которая была забита раньше. (причем мне не нужно искать раньше это было или позже мне нужна цена конкретного товара (одинаковые товары могут находиться в разных ветках иерархии)
     
  5. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    ТекСтрока=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока;
    ТекЭл=ТекСтрока.Наименование;
    Спр=Справочники.СтРасхода.НайтиПоНаименованию(ТекЭл);
    Цена=Спр.Цена;
    ТекСтрока.Цена=Цена;

    Вот в таком варианте при наличии двух одинаковых наименований с разной ценой, извлекается цена которая была забита раньше. (причем мне не нужно искать раньше это было или позже мне нужна цена конкретного товара (одинаковые товары могут находиться в разных ветках иерархии)
     
  6. b00tch

    b00tch Гость

    Репутация:
    0
    тип реквизита документа Цена должен быть тип Число...
    цены храни не в справочнике, а в рег. сведений - тогда с одинак. наименованиями проблем не будет...
     
  7. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    А как же иерархия,группировки?

    Еще вопрос: Создаю отчет, в нем запрос. По сути он должен из докумета выбрать все записи товара и суммы, сгрупировать и просумировать, причем все это за определенный период.
    1. Не пойму как отсортировать период. пишет Ошибка при вызове метода контекста (Выполнить): Неверные параметры в операции сравнения. Нельзя сравнивать поля неограниченной длины и поля несовместимых типов. Расход.Дата <<?>>МЕЖДУ &НачПериода И &КонПериода

    НачПериода и КонПериода имеют тип Дата.

    2.В таком варианте запроса никак не пойму как обратиться к полю КОД
    Выборка.Код пишет нет такого параметра.

     
  8. b00tch

    b00tch Гость

    Репутация:
    0
    - в справочнике... а в рег. сведений измерение типа СправочникСсылка.НашСправочник

    в 8-ке запрос не работает с переменными модуля, только со своими параметрами:
    Код:
    	Запрос.УстановитьПараметр("НачПериода", НачалоДня(НачПериода));
    Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));

    может, у тебя нет параметра Наименование в обл. таб. документа?...
    отладчиком посмотри перем. Выборка внутри цикла... какие у нее доступны свойства?
     
  9. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Вот два варианта запроса. Но ни один не работает в полной мере правильно.....
    1.Все бы хорошо, но зачем он группирует по ДАТЕ??? (это делает конструктор, а если оставить только РасходТабличнаяЧасть1.Код, то пишет ошибка)
    2. А вот в этом никак не могу добраться до результатов: Выборка.Наименование не работает, как и все остальные варианты вплоть до Выборка.ТабличнаяЧасть1.Колонки.Наименование
    Вот выборка в отладчике:
    Помогите с 8кой
     
  10. b00tch

    b00tch Гость

    Репутация:
    0
    фича конструктора...
    используй не СГРУППИРОВАТЬ а ИТОГИ...

    в выборке доступны только поля, указанные в СГРУППИРОВАТЬ...
     
  11. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Можно по-подробнее, а то я что-то не понял как именно ты предлагаешь это сделать?
     
  12. b00tch

    b00tch Гость

    Репутация:
    0
    РегСведений Цены
    Имерения:
    СтатьяРасхода тип - СправочникСсылка.СтРасхода
    Ресурсы:
    Цена тип - Число

    Код:
    ТекСтрока=ЭлементыФормы.ТабличнаяЧасть1.ТекущаяСтрока;
    ТекЭл=ТекСтрока.Статьярасхода; //тип - СправочникСсылка.СтРасхода
    Отбор = Новый Структура;
    Отбор.Установить("Статьярасхода",ТекЭл);
    Стр=РегистрыСведений.Цены.ПолучитьПоследнее(,Отбор);
    Цена=Стр.Цена;
    ТекСтрока.Цена=Цена;
     
  13. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Еще вопрос по запросу. Как-то он странно группирует... допустим у меня за месяц два раза всречается хлеб по 11,5 тогда я получаю
    Смотрел выборку в отладчике внутри цыкла, так и не смог найти отличия этих трех значений(что-бы отфильтровать ненужные)
    Кстати так и неполучилось реализовать регистры сведений. Сильно ругается на строчку
    , уж как я ее не крутил...
     
  14. b00tch

    b00tch Гость

    Репутация:
    0
    <!--QuoteBegin-ikar-rus+9:10:2007, 10:59 -->
    <span class="vbquote">(ikar-rus @ 9:10:2007, 10:59 )</span><!--QuoteEBegin-->Еще вопрос по запросу. Как-то он странно группирует... допустим у меня за месяц два раза всречается хлеб по 11,5 тогда я получаю
    [snapback]81081" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    в запросе
    Код:
    | ОБЩИЕ,
    соответственно, 1 строчка - общий итог (11,5+11,5)

    кстати, Лев соединение ни к чему... достаточно написать после ВЫБРАТЬ
    Код:
    | РасходТабличнаяЧасть1.Ссылка.Дата

    сорри, конечно же
    Код:
    Отбор.Вставить("Статьярасхода",ТекЭл);
    с другой стороны, неплохой повод научиться интерпретировать сообщения об ошибках и пользоваться синтакс-помощником... хехе
     
  15. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    Итоги смог разобрать по частям с помощью Выборка.Уровень()

    Кстати ... может это только мое мнение, но систакс помошник в 8ке какой-то неудобный...
    Наконец забил в документе выборку через регистрыСведений. Теперь пытаюсь сделать заполнение этого регистра из справочника при ИЗМЕНЕНИИ.
    Вот что я сделать:
    Код:
    Процедура СправочникСписокЦенаПриИзменении(Элемент)
    ТекЭл=ЭлементыФормы.СправочникСписок.ТекущиеДанные;
    Цена=ТекЭл.Цена;
    Выборка = Новый Структура("СтатьяРасхода",ТекЭл);
    Регистр=РегистрыСведений.Цены;
    Объект=Регистр.Получить(Выборка);
    ...
    КонецПроцедуры
    Вот в отладцике у меня у Объекта цена в любом случае 0. Регистр сам забивал вручную. Может неправильно выборка делается???
     
  16. b00tch

    b00tch Гость

    Репутация:
    0
    у регистра только одно измерение?
     
  17. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    да - цена

    сорри...
    Измерение - СтатьяРасхода
    Ресурс - Цена
    Реквизитов нет
     
  18. b00tch

    b00tch Гость

    Репутация:
    0
    посмотри отладчиком, что у тебя в ТекЭл в момент вставки в структуру... тип должен совпадать с типом измерения... и значение вообще есть какое нибудь?
    регистр кстати непериодический, я надеюсь?
     
  19. ikar-rus

    ikar-rus Гость

    Репутация:
    0
    вот три принсткрина в отладчике Помогите с 8кой
    Помогите с 8кой
    и наконец результат:
    Помогите с 8кой

    Измерение регистра не периодическое. тип-справочник.СтРасходы
     
  20. b00tch

    b00tch Гость

    Репутация:
    0
    см. первый скрин:
    ТекЭл - (значение) Хлеб - (тип) СправочникОбъект.СтРасхода

    а в регистре
    Измерение
    СтатьяРасхода - (тип) СправочникСсылка.СтРасхода

    разницу видишь?
     
Загрузка...

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