Как сделать отбор по регистру сведений? #637727


#0 by life
Всем привет, как сделать отбор по регистру сведений, где есть измерение "Цена" которое ссылается на перечисление цены. Я это пробую сделать в форме приходной накладной при выборе номенклатуры. [/CODE] а вот функция которая должна получать значение цены КонецФункции[/CODE] вот как здесь можно отсортировать по значению из перечисления Цены, приходные
#0 by life
Всем привет, как сделать отбор по регистру сведений, где есть измерение "Цена" которое ссылается на перечисление цены. Я это пробую сделать в форме приходной накладной при выборе номенклатуры. [/CODE] а вот функция которая должна получать значение цены КонецФункции[/CODE] вот как здесь можно отсортировать по значению из перечисления Цены, приходные
#1 by Wobland
тип цены - перечисление? не очень приятно. в отбор засунь, зачем сортировать
#2 by life
да да, а можно показать этот отбор на примере кода? пожалуйста
#3 by Wobland
вообще, ерунда какая-то. приходная цена у нас внезапно откуда-то выскакивает, когда должна руками заноситься
#4 by life
она заносится в регистр сведений, там три измерения
#5 by Wobland
да вы тут сговорились? Пример:
#6 by Wobland
три измерения. одно - номенклатура, понятно. какая из нескольких цен тебя интересуют?
#7 by life
так? КонецФункции теперь ошибку выдает: Значение не является значением объектного типа (Цена)
#8 by Wobland
нуда. Номенклатура, ТипЦены. третье измерение какое? и какая одна из нескольких цен тебя интересует?
#9 by life
нет, измерения у регистра два, ТМЦ и Цены, Цены - это перечисление, мне нужно сделать отбор где значение в перечисление "Приходная". Прошу прощения, я полный нубик в 1с, тяжело мысли выразить. посмотри скрин пожалуйста
#10 by zulu_mix
а чем запрос то не устраивает?
#11 by Wobland
Новый Структура("ТМЦ, ВидЦены", ТекТМЦ, Перечисление.ЧтоТам?);
#12 by zak555
если так написать ? Отбор = Новый Структура;
#13 by Wobland
они их боятся. у меня второй день репетиторства идёт, ответственно заявляю "ВЫБРАТЬ и ещё куча букв"; в них вселяет панику ну или так
#14 by Wobland
и автор наконец раскроет смысл подстановки цены при поступлении?
#15 by zak555
ошибка как будто ЗначениеЦены не структура
#16 by life
спасибо, но ошибка не исчезла {Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма}: Значение не является значением объектного типа (Цена) &НаКлиенте
#17 by Wobland
а цена-то есть?
#18 by zak555
&НаСервере
#19 by zak555
&НаСервере
#20 by life
да, я их сразу занес в регистр вот картинка (не смотри плиз на наименования тмц, это пример только)
#21 by Wobland
&НаСервере - это по умолчанию. но лучше ставить, конечно
#22 by Wobland
не вижу
#23 by Wobland
+ вижу, что даты не вижу, остальное не вижу
#24 by life
наверно это из-за дат, сейчас исправлю
#25 by Wobland
я тоже был молодым когда-то. но до седых волос дожил,а не знаю, как ругается платформа на ПолучитьПоследнее к непериодическому регистру
#26 by zak555
получитьПоследнее и для непериодчиского же действует
#27 by Wobland
СП против
#28 by life
поставил периодичность в пределах секунды, сделал новые записи в регистр. теперь такая ошибка {Документ.ПриходнаяНакладная.Форма.ФормаДокумента.Форма}: Ошибка при вызове метода контекста (ПолучитьПоследнее)    ЗначениеЦены = РегистрыСведений.Цены.ПолучитьПоследнее(ТекДата, Отбор); по причине: Несоответствие типов (Параметр номер ""1"") Несоответствие типов (Параметр номер ""1"")
#29 by Wobland
сказать тебе, что ТекДата - это не дата или сам догадаешься?
#30 by Wobland
+ точно, она у тебя ТМЦ
#31 by zak555
действительно
#32 by zak555
забыл
#33 by life
так это же только аргумент по назначению? Процедура ПриходТаблицаТМЦПриИзменении(Элемент)
#34 by Wobland
ну. внутри своей функции ТекТМЦ у тебя - это дата, а ТекДата - это ТекСтрока.ТМЦ
#35 by life
спасибо,поменял местами. просто не думал что тут параметры только по ссылку можно передавать (это я про 1с)
#36 by Wobland
я вот сейчас ничего не понял кроме спасибо. ты не мог бы уже сразу сказать, что всё заработало, всем большое спасибо?
#37 by Wobland
+ и ответить на сакральный вопрос
#38 by life
спасибо большое всем, работает. что за вопрос?
#39 by Wobland
->
#40 by life
в тестовом задании написано так сделать. в принципе все логично, сначала вносятся цены, потом приходуется товар. а что не так?
#41 by Wobland
цены определяются поступлением. по сколько дали, столько и цена. и действовать тут надо наоборот как раз - при проведении поступления менять регистр про цены. ну это по моей скромной логике вещей
#42 by Wobland
вот юзер взял портянку на 250 позиций, пробежался, вбил цены в регистр. потом пошёл создавать документ поступление, опять пошёл сканировать портянку...
#43 by life
завтра уточню этот момент, спасибо за советы.
#44 by hhhh
нет ну если постоянный поставщик, он прайсы пересылает заранее в экселе, почему нет?
#45 by Wobland
а ни о чём таком автор не говорил. почему бы и нет, конечно
#46 by Wobland
>сначала вносятся цены ладно, убедил. необязательно руками вносятся ;)
#47 by life
а как можно получить значение реквизита документа? метод ТекущиеДанные не работает
#48 by Wobland
какого и зачем*?
#49 by Wobland
и где? ТекущиеДанные - это для таблицы на форме. телпатирую: Объект.Реквизит
#50 by life
в документе расходная накладная есть реквизит цены, который ведет на перечисление виды цен, при его изменении должна меняться значение цены в табличной части. т.е. я так понимаю нужно узнать значение этого реквизита и сделать выборку из регистра сведений по этому значению.
#51 by Wobland
Объект.ТипЦен или как там у тебя
#52 by life
то что нужно, спасибо.
#53 by Wobland
а ну-ка вопрос на засыпку. скажи, зачем нужен реквизит Цена в ТЧ документа? цены ж и без этого в регистре есть
#54 by life
что бы их в ручную можно было править, в случаи необходимости.
#55 by Wobland
и что делать, если я завтра новый тип цен захочу, и насколько это будет удобно
#56 by Wobland
изменишь в документе руками. что от этого изменится, кроме самого документа?
#57 by Wobland
а сумму в ТЧ менять можно? цена пересчитывается?
#58 by life
я так глубоко не вникал в такие вопросы, я еще учусь.
#59 by Wobland
а я тебя учу. делай так, чтоб твоя поделка не рухнула от любых допустимых действий
#60 by life
я с тобой согласен. но мне нужно сделать т.к. дали в задании, это на вакансию джуниора типа)
#61 by Wobland
дык делай. при изменении количества сумму считаешь - это из задания? а про цену ничего не сказано? додумай
#62 by Wobland
*про сумму
#63 by Wobland
дойдёшь до реализации - скажи, фокус покажу ;)
#64 by life
а цена должно меняться, если изменено значение Виды цен ( это реквизит расходной накладно, перечисление которое) и нужно еще меня когда выбирается контрагент. и вот тут еще один вопрос, в  справочники контрагентов есть реквизит Вид цены (все то же, многострадальное перечисление) вот как получить этот атрибут при выборе в реквизитах расходной накладной? ТекЦена = Объект.Контрагент. -  и здесь тип цены которое у него в реквизите указано
#65 by life
оффтоп. а как тут форматировать код?
#66 by Wobland
>справочники контрагентов есть реквизит Вид цены представь себе контрагента, который продаёт нам и покупает у нас. кривое проектирование налицо вопрос не понял. Объект.Контрагент.ТипЦены - не оно? {1С}тут код{/1С} - только с квадратными скобками
#67 by life
насчет проектирования согласен, но это же только учебный пример. ошибка : Поле объекта не обнаружено (ВидЦены) но этот реквизит есть у справочника и заполнен.
#68 by Wobland
нету этого реквизита ты же видишь, как я ломаю твою учебную поделку. будет лучше, если её будет ломать кто-то другой и в более официальной обстановке?
#69 by life
мне тяжело дать однозначный ответ =) но я склоняюсь к тому что следует выполнять задания строго по ТЗ.
#70 by Wobland
слушай, а покажи. я падавана нагружу
#71 by life
завтра фотик -сфоткаю, а то на теле камера плохая. посмотри пожалуйста на реквизит
#72 by life
завтра заберу фотик* а как тут свои сообщения редактировать?
#73 by Wobland
ты продолжаешь издеваться мелким разрешением?
#74 by Wobland
никак
#75 by Wobland
контрагент у тебя не контрагент
#76 by life
почему? ссылка на справочник контрагенты есть.
#77 by Wobland
Объект.Контрагент какого типа?
#78 by life
вот такого СправочникСсылка.Контрагенты
#79 by Wobland
тогда где-то врёшь. покажи по аналогии с этим: справочники контрагентов есть реквизит Вид цены
#80 by Wobland
тфу, с этим:
#81 by life
ссори за разрешение.
#82 by Wobland
а, нуда. за этим придётся на сервер сходить
#83 by life
спасибо заработало, а как ты определил?
#84 by Wobland
посмотрел внимательными глазами. я вообще мелкое разрешение не разглядывал
#85 by life
ошибки нет, но и не выводит нечего &НаСервере
#86 by Wobland
Сообщить("От такой вот вид цены: "+Объект.Контрагент.ВидЦены);
#87 by life
все равно не какого сообщения нет
#88 by life
сообщения не выводятся только в этой процедуре &НаСервере
#89 by Wobland
хм, даже на клиенте &НаКлиенте
#90 by Wobland
#91 by life
это значит что у меня....?
#92 by Wobland
не оттуда растут руки ;) платформа какая?
#93 by life
8.2
#94 by Wobland
это я понял
#95 by Wobland
у меня 1С:Предприятие 8.2 (8.2.16.352)
#96 by Wobland
плин, а я не верил, что сотню сделаем
#97 by life
а из-за чего это процедура может не работать?
#98 by life
это ппц какой то, для аналогично реквизита склад все работает(
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям