|
v8: Как получить цены номенклатуры? | ☑ | ||
---|---|---|---|---|
0
Noviy_Novichok
26.06.12
✎
11:49
|
Помогите мне пожалуйста! Я в этом деле совсем новичок. Извините, что возможно похожие темы уже были, Но не получается у меня ни как(
Задача, в том, что мне нужно в новую таблицу занести значение цены каждой номенклатуры. Цену нужно брать из регистра Сведений. Вот как я пытаюсь сделать: Функция ПолучитьЦену() Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.Номенклатура |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить(); КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) Перемен = Справочники.Номенклатура.Выбрать(); ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Номенклатура"); ТабЗнач.Колонки.Добавить("Цена"); ТабЗнач.ВыбратьСтроку(""); НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей(); ЦенаТ = ПолучитьЦену(); Для Каждого СтрокаЦенаТ Из ЦенаТ Цикл НаборЗаписей.Отбор.Цена.Установить (СтрокаЦенаТ.Цена); НаборЗаписей.ЗагрузитьКолонку(РегистрыСведений.ЦеныНоменклатуры.Цена, "Цена"); НаборЗаписей.Записать(Истина); Строка = ТабЗнач.Добавить(); Строка.Цена = НаборЗаписей.ЗагрузитьКолонку(РегистрыСведений.ЦеныНоменклатуры.Цена); Строка.Цена = Перемен.Наименование; КонецЦикла; Строка = ТабЗнач.ВыбратьСтроку(""); КонецПроцедуры |
|||
1
mikecool
26.06.12
✎
11:50
|
Функция ПолучитьЦену()
Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.Номенклатура |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних() КАК ЦеныНоменклатуры"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить(); КонецФункции фсе |
|||
2
mikecool
26.06.12
✎
11:51
|
+1
ТабЗнач = ПолучитьЦену(); |
|||
3
aleks-id
26.06.12
✎
11:53
|
(1) ты внимательно прочитал?
>>значение цены каждой номенклатуры уже соединение просится ;) |
|||
4
mikecool
26.06.12
✎
11:57
|
(3) не, ну это уже автору подумать надо ))
главное - что отвожу от ахинеи, что в (0) написана )) |
|||
5
Noviy_Novichok
26.06.12
✎
12:00
|
Спасибо Вам Огромное! Что смогли откликнуться на мою беду(
У меня в результате таблица пустая выходит. Вот как я делаю: Функция ПолучитьЦену() Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.Номенклатура |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних() КАК ЦеныНоменклатуры"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить(); КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) // Вставить содержимое обработчика. ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Цена"); ТабЗнач.ВыбратьСтроку(""); ТабЗнач = ПолучитьЦену(); Строка = ТабЗнач.ВыбратьСтроку(""); КонецПроцедуры |
|||
6
Cube
26.06.12
✎
12:01
|
(5) Делай так:
Функция ПолучитьЦену() Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена, | ЦеныНоменклатуры.Номенклатура |ИЗ | РегистрСведений.ЦеныНоменклатуры.СрезПоследних() КАК ЦеныНоменклатуры"; Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить(); КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) ТабЗнач = ПолучитьЦену(); КонецПроцедуры |
|||
7
pochemu
26.06.12
✎
12:06
|
(0) Не совсем понятно что требуется. Тебе нужно получить таблицу актуальных цен на всю номенклатуру? Если да - то получим весь список номенклатуры с ценами на неё:
Функция ПолучитьЦену() Запрос = Новый Запрос; ТекстЗапроса = " |ВЫБРАТЬ | СпрНоменклатура.Наименование, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Активность = ИСТИНА) КАК ЦеныНоменклатурыСрезПоследних | ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.Текст = ТекстЗапроса; РезультатЗапроса = Запрос.Выполнить(); Возврат РезультатЗапроса.Выгрузить(); КонецФункции Процедура КнопкаВыполнитьНажатие(Кнопка) ТабЗнач = ПолучитьЦену(); КонецПроцедуры |
|||
8
Noviy_Novichok
26.06.12
✎
12:06
|
Всё дело в том, что в результате при нажатии на кнопку у меня должна выйти таблица, две колонки: номенклатура и цена.
Когда я использую Ваш вариант кода, у меня совсем нечего не выходит( Если можете, подскажите пожалуйста, как мне нужно сделать, что выходил результат. |
|||
9
Noviy_Novichok
26.06.12
✎
12:11
|
Вот, что я прописую в процедуре при нажатии кнопки:
Процедура КнопкаВыполнитьНажатие(Кнопка) ТабЗнач = Новый ТаблицаЗначений; ТабЗнач.Колонки.Добавить("Номенклатура"); ТабЗнач.Колонки.Добавить("Цена"); ТабЗнач.ВыбратьСтроку(""); ТабЗнач = ПолучитьЦену(); Строка = ТабЗнач.ВыбратьСтроку(""); КонецПроцедуры В результате у меня выходит номенклатура, а цены нет( Специалисты 1С, подскажите пожалуйста, каким образом мне вывести эту цену. |
|||
10
Liova
26.06.12
✎
12:15
|
А ТабЗнач на форме есть?
|
|||
11
Cube
26.06.12
✎
12:15
|
А цены в регистре есть?
|
|||
12
Noviy_Novichok
26.06.12
✎
12:19
|
Да, ТабЗнач на форме есть.
Да, цены в регистре сведений есть. |
|||
13
Liova
26.06.12
✎
12:21
|
Колонки на форме все видны?
|
|||
14
Noviy_Novichok
26.06.12
✎
12:22
|
Да, выходит две колонки номенклатура и цена.
Колонка номенклатура выходит с записями, а поле цена пустая получается( |
|||
15
Noviy_Novichok
26.06.12
✎
12:26
|
Может ошибка в том, что в регистре Сведений, ЦЕНА записана в ресурсах?
В измерениях записана Номенклатура, а в ресурсах: Валюта, Цена Прошу Вас, подскажите каким образом мне следовать! |
|||
16
Aleks73
26.06.12
✎
12:28
|
Вывести КУДА ?
|
|||
17
Noviy_Novichok
26.06.12
✎
12:30
|
В таблицу значений, которая появляется при нажатии на кнопку.
|
|||
18
Cube
26.06.12
✎
12:36
|
(17) На, балуйся: http://files.mail.ru/1FTV2D
У меня работает, вот код: Процедура КнопкаВыполнитьНажатие(Кнопка) Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ | СпрНоменклатура.Наименование, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, Активность = ИСТИНА) КАК ЦеныНоменклатурыСрезПоследних | ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка)"; Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.Текст = ТекстЗапроса; ТабличноеПоле1 = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки(); КонецПроцедуры |
|||
19
Noviy_Novichok
26.06.12
✎
12:40
|
Cube, Спасибо Вам Огромнейшее! Извините за беспокойство!
Я попробовала у себя, номенклатура выходит, а поле Цена пустое. В чём может быть у меня причина? |
|||
20
Cube
26.06.12
✎
12:43
|
(19) В регистре нет цен.
|
|||
21
Cube
26.06.12
✎
12:44
|
(19) Ты девушка? Тогда надо пол в профиле поменять и вставить фото :)
|
|||
22
Noviy_Novichok
26.06.12
✎
12:46
|
Да, девушка) Я не видела какой пол у меня стоит (я нечего не выставляла), сейчас с этой бедой разберусь и зайду в настройки всё пропишу)
|
|||
23
Noviy_Novichok
26.06.12
✎
12:47
|
А в регистре цены есть(
|
|||
24
Cube
26.06.12
✎
12:48
|
(22) И фотку вставить не забудь, а то помогать не будем :)
|
|||
25
Ткачев
26.06.12
✎
12:48
|
(23)Фотку регистров в студию
|
|||
26
Cube
26.06.12
✎
12:48
|
(23) Давай уже скриншоты.
|
|||
27
pochemu
26.06.12
✎
12:55
|
(23) Ты загрузила внешнюю обработку которую прислали в (18)?
|
|||
28
Noviy_Novichok
26.06.12
✎
12:56
|
Пока не могу понять как прикреплять скриншоты, но я их на файлообменник прислала:http://files.mail.ru/8OPHB7
|
|||
29
Noviy_Novichok
26.06.12
✎
12:57
|
pochemu, Да, загрузила!
Номенклатура выходит, а поле Цена пустое. В чём может быть у меня причина? |
|||
30
Ткачев
26.06.12
✎
12:58
|
А документ установка цен есть ?
|
|||
31
Noviy_Novichok
26.06.12
✎
13:01
|
Да,да, есть) Вот тут я положила скриншот http://files.mail.ru/H6RKXZ
|
|||
32
pochemu
26.06.12
✎
13:01
|
(29) Убери в запросе присланной тебе внешней обработки условие актуальности
|
|||
33
Cube
26.06.12
✎
13:02
|
(28) Так не пойдет. Скриншоты заливай на http://itmages.ru , а сюда ссылки на них выкладывай.
|
|||
34
pochemu
26.06.12
✎
13:02
|
(31)(32) Если точне то зарос должен быть такой:
ТекстЗапроса = "ВЫБРАТЬ | СпрНоменклатура.Наименование, | ЦеныНоменклатурыСрезПоследних.Цена |ИЗ | Справочник.Номенклатура КАК СпрНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних | ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = СпрНоменклатура.Ссылка)"; |
|||
35
pochemu
26.06.12
✎
13:03
|
(33) У неё в регистре нет активности..
|
|||
36
Ткачев
26.06.12
✎
13:03
|
(31)В конфигураторе это понятно что есть, а в программе он есть ?
|
|||
37
Cube
26.06.12
✎
13:05
|
(31) В режиме ПРЕДПРИЯТИЕ зайди сюда:
Меню -> Операции -> Регистры сведений -> Цены номенклатуры и сделай нам скриншот. |
|||
38
Noviy_Novichok
26.06.12
✎
13:08
|
Ткачев и Cube а в Предприятии этот регистр пустой оказался(
|
|||
39
Noviy_Novichok
26.06.12
✎
13:09
|
Мне так не удобно, что я отнимаю время у Вас! Но без Вас я совсем ни как(
|
|||
40
pochemu
26.06.12
✎
13:09
|
(38) =)
|
|||
41
Cube
26.06.12
✎
13:10
|
(38) А вот и ответ...
|
|||
42
Cube
26.06.12
✎
13:10
|
(39) Вставь фотку в профиль, этого будет достаточно))
|
|||
43
Noviy_Novichok
26.06.12
✎
13:11
|
pochemu,Спасибо Вам! Я сделала всё как Вы мне написали.
Но поле цена пустое. Наверно, причина в том, что в предприятии этот регистр у меня совсем пустой? |
|||
44
Cube
26.06.12
✎
13:12
|
(43) Да, раз данных о ценах нет, то какие цифры ты хочешь получить в колонке цена? Сделай установку цен и цены появятся.
|
|||
45
Noviy_Novichok
26.06.12
✎
13:12
|
ОГРОМНОЕ СПАСИБО ВСЕМ, кто смог Уделить своё время!
Ещё раз, извиняюсь за беспокойство! |
|||
46
Ткачев
26.06.12
✎
13:12
|
На основании 1.png сделайте документ Установка цен и регистр будет заполнен.
|
|||
47
Noviy_Novichok
26.06.12
✎
13:13
|
Я Всё теперь поняла! Спасибо Вам!!!
|
|||
48
Cube
26.06.12
✎
13:16
|
Фотку, фотку, фотку!!! :)
|
|||
49
Noviy_Novichok
26.06.12
✎
13:16
|
Cube, на счёт фото) Я не блондинка, просто всего одну неделю работаю по 1С, поэтому и задаю возможно "глупые" вопросы!
|
|||
50
Cube
26.06.12
✎
13:17
|
(49) Да ладно, программистами не рождаются. Все когда-то начинали...
P.S. Чтобы ответить нужно просто в круглых скобках написать номер сообщения, на которое отвечаешь. |
|||
51
Noviy_Novichok
26.06.12
✎
13:18
|
Но я очень благодарна тем, кто смог откликнуться на мою просьбу! Удачи Вам и Всего Наилучшего!
|
|||
52
Cube
26.06.12
✎
13:20
|
(51) Лучшая благодарность для нас - это фото)
|
|||
53
Noviy_Novichok
26.06.12
✎
13:21
|
(50) Хорошо, теперь буду знать)
Я в настройках пол поменяла, а фото смогу только вечером загрузить) |
|||
54
Cube
26.06.12
✎
13:22
|
(53) Загрузи фотку из контакта/одноклассников)
|
|||
55
pochemu
26.06.12
✎
13:35
|
(54) Ага
|
|||
56
Noviy_Novichok
27.06.12
✎
02:21
|
Всё, я загрузила своё фото)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |