Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: функция возврата значения из табличной части справочника  (Прочитано 30772 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Jenya
Интересующийся

kz
Offline Offline

« : 29-11-2011 08:21 » 

Здравствуйте! Вот какая ситуация:Я начинающий программист в этом деле. Пробую написать базу в 1с 8.2 В документе "Приходная накладная" хочу возвращать цену со справочника. которая является не просто реквизитом, а реквизитом табличной части Справочника.  Жду помощи,спасибо заранее.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 29-11-2011 09:06 » 

Не понял - что значит "В документе ... хочу возвращать цену"?
Давай точнее задачу
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #2 : 29-11-2011 09:10 » 

 при добавлении очередной номенклатуры(товар ставлю в приход), чтоб цена бралась из справочника и подставлялась в документ автоматически.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 29-11-2011 09:33 » 

А каким образом ты определяешь нужную строку табличной части? по какому реквизиту (комбинации реквизитов)?
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #4 : 29-11-2011 10:08 » 

Толи я "....", то ли лижи не едут))) Вот как я делаю, чтоб у меня при выборе очередной строки, автоматически подставлялся код в позицию кода:
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #5 : 29-11-2011 10:09 » 

&НаСервере
   Функция ВернутьКод(вк)
     Возврат вк.Код
    КонецФункции
&НаКлиенте
Процедура ТоварТоварПриИзменении(Элемент)
   
   Элементы.Товар.ТекущиеДанные.КодНоменклатуры = ВернутьКод(Элементы.Товар.ТекущиеДанные.Товар);
      
КонецПроцедуры
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #6 : 29-11-2011 10:10 » 

Я хочу чтоб при изменении номенклатуры, подставлялась и цена тоже, только дело в том что код это просто реквизит,а цена это реквизит табличной части справочника
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 29-11-2011 21:26 » 

Читай внимательно что тебе отвечают (точнее о чем переспрашивают): каким образом ты определяешь нужную строку табличной части
Табличная часть априори содержит несколько строк (может быть и 0, может быть и одна). Как определить в какой строке нужная тебе цена?
В зависимости от ответа предложу вариант решения: через запрос или выборку
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #8 : 30-11-2011 03:31 » 

Я же делаю процедуру ПриИзмененииНоменклатуры, в которой указываеться, что строка определяется автоматически,та,на которой находится курсор. В общем текущая строка.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 30-11-2011 06:14 » 

Jenya, ладно. Читай с начала до просветления (включая свои сообщения). Когда будешь готов - продолжим

Добавлено через 5 минут и 28 секунд:
Jenya, Попробуем так
У тебя есть:
а) табличная часть в документе, в которой ты выбираешь номенклатуру и где нужно подстаить цену
б) табличная часть номенклатуры с ценам

По какому принципу ты из табличной части (б) выберешь нужную строку с ценой для (а)?
« Последнее редактирование: 30-11-2011 06:19 от Kivals » Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #10 : 30-11-2011 06:32 » 

брррр, по тому принципу, какая номенклатура находится в текущей строке, из того названия товара я и хочу брать цену(который), ...в общем напиши мне два варианта,а я попробую сама попробую определиться. Или скажи по какому принципу это сделать!  Скромно так...
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #11 : 30-11-2011 06:47 » 

у тебя для цены может быть заданно в справочнике несколько цен или только одна? если несколько цен заданно для одной выбранной тобою номенклатуры, то как ты определять будешь, которая цена должна подставиться в таблицу документа?

PS кстати, если ты возвращаешь только код номенклатуры в приведённом тобой примере, то у тебя в документе будет указанно в ячейке только строка. она конешно будет равна коду номенклатуры, которую ты выбирал, но с самой номенклатурой ты этим кодом документ не связал. возвращай ссылку.
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #12 : 30-11-2011 06:52 » 

Хватит говорить, что я "он", я "она" ), в справочнике несколько цен, по этому они и находятся в табличной части. И поэтому я и обратилась с этим вопросом, думаю может как-то можно поиском по таблице искать. Или может посоветует кто другой вариант. А зачем связывать с документом этот код? Это обязательно? мне просто нужно чтоб я его могла видеть в документах.
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #13 : 30-11-2011 07:05 » 

хорошо.
у тебя на одну номенклатуру заведена таблица с ценами. допустим там 5 различных цен.
ты в своём документе выбираешь эту номенклатуру.
которая из 5 различных цен должна попасть в документ?
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #14 : 30-11-2011 07:36 » 

Да, пытаюсь выбрать, точнее будет сказанно. Я выбираю номенклатуру, и хочу чтоб в колонку Цена закупа попадала цена закупа(из табличной части справочника) и так же с розничной ценой,допустим
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #15 : 30-11-2011 07:42 » 

т.е. в таблице с ценами номенклатуры у тебя есть колонка с типом цены и колонка с числовым значением цены, Верно?
а где определенно, что в данный конкретный документ у тебя должна будет подставляться именно розничная цена?
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #16 : 30-11-2011 07:44 » 

да верно, пока нигде не определенно, что я и пытаюсь сделать, что подставлялась именно то значение, предположим, которое носит название "розничная" и имеет числовое значение предположим "700"
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #17 : 30-11-2011 08:03 » 

а может быть такое что у вас на одну номенклатуру в таблице указанно две разных цены одного типа? например две розничных или две оптовых
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #18 : 30-11-2011 08:16 » 

нет исключено, если появляется ещё одна розничная,например, тогда она обновляется, то есть изменяется, и сосхраняется в истории. а в табличной части остается одна цена одного вида
Записан
Radistka
Помогающий

ru
Offline Offline
Пол: Женский

« Ответ #19 : 30-11-2011 08:50 » 

ну тогда вам нужно в документе прописать реквизит в котором вы будете выбирать какой тип цен номенклатуры подгружать и при выборе номенклатуры выбирать из вашей истории последнюю актуальную цену данного типа для данной номенклатуры. если нужно-могу дать пример кода
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #20 : 30-11-2011 09:07 » 

Всего не понимаю ещё,....буду примного благодарна посмотреть на подобный пример., жду кода
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 30-11-2011 09:42 » 

Jenya, в общем начнем с того, что у тебя неправильная организация данных (ну, точнее, неоптимальная). Для подобных целей в 8.Х введены такие объекты как Регистры сведений (периодические). В твоем случае регистр должен иметь измерения Номенклатура и Вид цены и ресурс Цена. В этом случае система сама будет отслеживать (без лишнего кода):
1) чтобы не было дублей Видов цен на один товар
2) чтобы цены обновлялась на указанную дату с сохранением всей истории
В документе ты должна точно знать какой вид цены используется (или из реквизита документа, или по виду документа и константе БД/рабочего места), и исходя из этих данных запросить значение цены по заданным измерениям (Номенклатура, Вид цены) на дату документа.

Хватит говорить, что я "он", я "она" )
Offtopic:
Для этого в профиле есть поле Пол
Записан
Jenya
Интересующийся

kz
Offline Offline

« Ответ #22 : 30-11-2011 12:19 » 

Ок. спасибо. Тогда буду познавать просторы программирования в этой сфере, в любом случае спасибо за потраченное время. А пол в настройках поменять уже не могу, ну да ладно)))
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines