Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
22 Янв 2018, 05:36
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: РегистрСведении  (Прочитано 9704 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sachok7778

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 8.1
Короче есть
1. РегистрСведений=Цены;Измерение:Номенклатура, Ресурс: Цена.
2. Есть Документ=Приходная и Расходная

Мне надо чтобы когда выбираю в документе номенклатуру чтобы  поставились актуальные цены автоматически к данному товару.


Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2860
  • РЕПУТАЦИЯ: 547
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Re: РегистрСведении
« Ответ #1: 05 Янв 2012, 22:03 »
И что тебе в этом мешает?
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн Public_enemy

  • **
  • Сообщений: 52
  • РЕПУТАЦИЯ: 6
  • КПД: 12%
  • Регистрация: 2011-10-13
  • Сайт: www.alliancesystems.ru
  • Профессия: Программист 1С
Re: РегистрСведении
« Ответ #2: 06 Янв 2012, 01:41 »
Создай общий модуль (назвать можешь как угодно, лишь бы тебе было понятно)
в свойствах модуля поставь галку сервер
и вот примерный текст кода (Это фрагмент из моей конфигурации), переложи на свою


//Получаем актуальную цену из регистра
Функция РознечнаяЦена(АктуальнаяДата,ЭлементНоменклатуры) Экспорт
    //Создаем структуру отбора
     Отбор = Новый Структура("Номенклатура", ЭлементНоменклатуры);
     
     //Получаем актуальное значение ресурса
     ЗначениеРесурса = РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(АктуальнаяДата, Отбор);
     Возврат ЗначениеРесурса.Цена;
    
 КонецФункции   


&НаКлиенте
Процедура ТаблицаПокупокНоменклатураПриИзменении(Элемент)
 

    Строка = Элементы.ТаблицаПокупок.ТекущиеДанные;
                                           
    Строка.Цена   = РаботаСоСправочниками.РознечнаяЦена(Объект.Дата, Строка.Номенклатура);

КонецПроцедуры

красным выделено то как вызывается функция
В параметрах передаешь дату и номенклатуру


Оффлайн Public_enemy

  • **
  • Сообщений: 52
  • РЕПУТАЦИЯ: 6
  • КПД: 12%
  • Регистрация: 2011-10-13
  • Сайт: www.alliancesystems.ru
  • Профессия: Программист 1С
Re: РегистрСведении
« Ответ #3: 06 Янв 2012, 01:52 »
еще можно с помощью запроса получить такие данные

Оффлайн sachok7778

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 8.1
Re: РегистрСведении
« Ответ #4: 06 Янв 2012, 05:45 »
Короче есть
1. РегистрСведений=Цены;Измерение:Номенклатура, Ресурс: Цена.
2. Есть Документ=Приходная и Расходная

Мне надо чтобы когда выбираю в документе номенклатуру чтобы  поставились актуальные цены автоматически к данному товару.
В натуре, братан,
может тебе еще телка, тачка, хата нужны.
Ты только скажи. А то я спать не могу, как вот таким хачикам услужить хочу. Короче, может тебе ботинки еще почистить?

если не знаешь  ответ, не влезай
мой вопрос к тем кто знает ответ

Оффлайн Шурик_1985

  • *
  • Сообщений: 44
  • РЕПУТАЦИЯ: 5
  • КПД: 11%
  • )
  • Регистрация: 2011-05-14
  • Сайт: 
  • Профессия: Ученик 1С
Re: РегистрСведении
« Ответ #5: 06 Янв 2012, 14:41 »
Можно сделать при активации строки, потом запрос на сервере :

Процедура ПолучитьЦенуНаНоменклатура (Номенклатура) Экспорт
   
   
   Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ЦеныНоменклатурыСрезПоследних.ВидЦен,
      |   ЦеныНоменклатурыСрезПоследних.Цена
      |ИЗ
      |   РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
      |ГДЕ
      |   ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура";

   Запрос.УстановитьПараметр("Номенклатура", Справочники.Номенклатура.НайтиПоНаименованию(Номенклатура));
   ЭтаФорма.Цена.Загрузить(Запрос.Выполнить().Выгрузить());

КонецПроцедуры;
Усё чотко!

Оффлайн sachok7778

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 8.1
Re: РегистрСведении
« Ответ #6: 11 Янв 2012, 21:50 »
есть общий модуль: Имя: РаботаСоСправочниками.

Функция РозничнаяЦена(АктуальнаяДата,ЭлементНоменклатуры) Экспорт
   Отбор = Новый Структура("Номенклатура",ЭлементНоменклатуры);
   ЗначРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);
   Возврат ЗначРесурсов.Цена;               
КонецФункции // РозничнаяЦена()


Вызываю из модуля формы:

&НаКлиенте
Процедура ПереченьНоменклатурыНоменклатураПриИзменении(Элемент)
   ТекДанные=Элементы.ПереченьНоменклатуры.ТекущиеДанные;
   ТекДанные.Цена=РаботаСоСправочниками.РозничнаяЦена(Объект.Дата,ТекДанные.Номенклатура);
КонецПроцедуры

при проверке на синтаксис все гуд
но в режиме пользователя после выбора товар выдает ошибку:

{ОбщийМодуль.РаботаСоСправочниками.Модуль(3)}: Ошибка при вызове метода контекста (ПолучитьПоследнее): Недопустимое значение параметра (параметр номер '2')
   ЗначРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);
Недопустимое значение параметра (параметр номер '2')

Вроде все сделал норм но не могу понять в чем проблема

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2860
  • РЕПУТАЦИЯ: 547
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Re: РегистрСведении
« Ответ #7: 11 Янв 2012, 22:38 »
В регистре измерение номенклатура индексируется???
Если нет, то только запросом. Или про индексируй измерение номенклатура!!!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн sachok7778

  • *
  • Сообщений: 27
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2011-10-06
  • Сайт: 
  • Профессия: Программист 8.1
Re: РегистрСведении
« Ответ #8: 11 Янв 2012, 23:49 »
В регистре измерение номенклатура индексируется???
Если нет, то только запросом. Или про индексируй измерение номенклатура!!!

Поставил индексировать все равно. ошибка показывает здесь:
ЗначРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);

{ОбщийМодуль.РаботаСоСправочниками.Модуль(3)}: Ошибка при вызове метода контекста (ПолучитьПоследнее): Недопустимое значение параметра (параметр номер '2')
   ЗначРесурсов=РегистрыСведений.Цены.ПолучитьПоследнее(АктуальнаяДата,Отбор);
Недопустимое значение параметра (параметр номер '2')


Кстати  я все делаю по книге Радченко но пока не получается

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2860
  • РЕПУТАЦИЯ: 547
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Re: РегистрСведении
« Ответ #9: 12 Янв 2012, 02:30 »
Выложи сюда конфу
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
100 Сообщений
AIFrame
57 Сообщений
alex0402
29 Сообщений
kiksi
24 Сообщений
pavl_vs
24 Сообщений
alexandr_ll
17 Сообщений
Norfolk
16 Сообщений
andron81_81
16 Сообщений
KOI8-R
14 Сообщений
MuI_I_Ika MuI_I_Ika
13 Сообщений

* Кто онлайн

  • Точка Гостей: 298
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal