|
Заполнить цены по последнему поступлению | ☑ | ||
---|---|---|---|---|
0
Альбатрос
14.12.11
✎
09:02
|
УТ 10.3
Задача: Заполнить закупочные цены по последним документам поступления. Вот такой запросик: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ПартииТоваровНаСкладахОбороты.Номенклатура, | ПартииТоваровНаСкладахОбороты.ДокументОприходования КАК Док, | ПартииТоваровНаСкладахОбороты.СтоимостьПриход КАК Цена |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&Дата,Номенклатура = &Ном) | КАК ПартииТоваровНаСкладахОбороты"; Запрос.УстановитьПараметр("Ном", Ном.Ссылка); Запрос.УстановитьПараметр("Дата", ТекущаяДата()); 1. даже такой запрос не работает, вываливается ошибка: по причине: {(6, 70)}: Неверные параметры "РегистрНакопления.ПартииТоваровНаСкладах.Обороты, 1" РегистрНакопления.ПартииТоваровНаСкладах.Обороты(&Дата,Номенклатура <<?>>= &Ном) Ном у меня справочникСсылка.Номенклатура 2. Собссно, что дописать в этот запрос, чтоб он отбирал только по последнему поступлению? Уважаемые, помогите! Заранее благодарен. |
|||
1
Wobland
14.12.11
✎
09:03
|
ВЫБРАТЬ ПЕРВЫЕ 1 без упорядочивания выбирает какой угодно
|
|||
2
Wobland
14.12.11
✎
09:04
|
в оборотах первые два параметра - дата. юзай конструктор
|
|||
3
Галахад
гуру
14.12.11
✎
09:06
|
Гм. А там нету стандартной "Установки цен номенклатуры"?
|
|||
4
Ненавижу 1С
гуру
14.12.11
✎
09:06
|
ага, еще наверное этот ЗАПРОС в цикле? тогда это КОШМАР
|
|||
5
aleks-id
14.12.11
✎
09:07
|
подозреваю что сей монструозный выверт выполняется в цикле для каждой строки...
|
|||
6
Альбатрос
14.12.11
✎
09:32
|
(1) Спс, вот так заработало.
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ПартииТоваровНаСкладахОбороты.Номенклатура, | ПартииТоваровНаСкладахОбороты.ДокументОприходования КАК Док, | ПартииТоваровНаСкладахОбороты.СтоимостьПриход КАК Цена, | ПартииТоваровНаСкладахОбороты.ДокументОприходования.Дата КАК ДокументОприходованияДата |ИЗ | РегистрНакопления.ПартииТоваровНаСкладах.Обороты КАК ПартииТоваровНаСкладахОбороты |ГДЕ | ПартииТоваровНаСкладахОбороты.Номенклатура = &Ном | |УПОРЯДОЧИТЬ ПО | ДокументОприходованияДата Убыв"; (2) Убрал дату ваще, так то меня весь период интересует. (3)Есть, на данных запроса она и будет заполняться. (4)(5) Пока пробую только для одного элемента, но вообще надо для всех. Их примерно 40000. Как оптимизировать этот запрос? |
|||
7
Альбатрос
14.12.11
✎
09:33
|
+(6) и да, почему не работает:
| РегистрНакопления.ПартииТоваровНаСкладах.Обороты(Номенклатура = &Ном) |
|||
8
ILM
гуру
14.12.11
✎
09:34
|
(6) Получай сразу запросом цены по всем позициям номенклатуры...
|
|||
9
Ненавижу 1С
гуру
14.12.11
✎
09:51
|
(7) потому что надо читать мануал иногда и смотреть какие параметры и как передвать в виртуальную таблицу
РегистрНакопления.ПартииТоваровНаСкладах.Обороты(,,Номенклатура = &Ном) подумай кстати оставлять ли пустыми первые 2 параметра |
|||
10
Альбатрос
14.12.11
✎
09:57
|
(9)Спс, я уже сам понял =) Да, нужно оставить их пустыми, т.к. нужен весь период. Есть позиции, которые закупились четыре года назад и больше не закупались. А продаваться - продаются.
В любом случае, запрос неверный. Он выдал мне стоимость поступления + стоимость перемещения. По ходу отбор нужно делать по регистратору, отсюда еще один вопрос: Как поставить условие, что вид регистратора должен быть Поступление? |
|||
11
Ненавижу 1С
гуру
14.12.11
✎
10:00
|
(10) послушай, есть еще регистр Закупки, может он спасет отца русской демократии?
|
|||
12
Альбатрос
14.12.11
✎
10:03
|
(11) Спасибо, щас попробую =)
|
|||
13
Галахад
гуру
14.12.11
✎
10:05
|
(6) А там нет кнопки, что то типа "Заполнить из Поступления"?
|
|||
14
Альбатрос
14.12.11
✎
10:22
|
(11) Еще раз спасибо!!! Регистр Закупки - то, что надо.
(13) Есть конечно, но ты представляешь, сколько мне вручную туда надо поступлений добавить? |
|||
15
Альбатрос
14.12.11
✎
12:33
|
Все же не так шоколадно. В стоимость включается еще и поступление по доп. расходам. Как его исключить?
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 | ЗакупкиОбороты.Номенклатура, | ЗакупкиОбороты.ДокументЗакупки.Дата КАК ДокументЗакупкиДата, | ЗакупкиОбороты.КоличествоОборот КАК КОЛВО, | ЗакупкиОбороты.СтоимостьОборот КАК Цена, | ЗакупкиОбороты.ДокументЗакупки КАК Док |ИЗ | РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты |ГДЕ | ЗакупкиОбороты.Номенклатура = &Ном | |УПОРЯДОЧИТЬ ПО | ДокументЗакупкиДата УБЫВ"; |
|||
16
Альбатрос
14.12.11
✎
12:43
|
Все же апну. Неохота подчиненные доки копать...
|
|||
17
Галахад
гуру
14.12.11
✎
12:48
|
(15) закупкиобороты.регистратор ссылка документ.потулпнеиетоваровуслуг
|
|||
18
Альбатрос
14.12.11
✎
12:54
|
(17) условие такое что ли?
|
|||
19
Галахад
гуру
14.12.11
✎
12:57
|
(18) Типа того. Только орф ошибки исправь.
|
|||
20
Альбатрос
14.12.11
✎
13:03
|
(19) В СП написано, что "Данное поле не может быть использовано в условии отбора записей."
|
|||
21
Галахад
гуру
14.12.11
✎
13:06
|
(20) Ну, хозяин барин.
|
|||
22
Альбатрос
14.12.11
✎
13:09
|
(21) Не, просто я не понял, как его использовать. Ведь в "Регистратор" хранится ссылка на конкретный док, а мне, получается надо отобрать по виду документа. Я хз, как это сделать.
ГДЕ закупкиОбороты.Регистратор = Документ.ПоступлениеТоваровУслуг. Так что ли??? |
|||
23
Галахад
гуру
14.12.11
✎
13:10
|
ГДЕ закупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг
|
|||
24
sergeev-ag-1977
14.12.11
✎
13:15
|
(0) Вопрос по постановочной части: а если в последнем поступлении цена стала ниже? В остальном можно, если не ошибаюсь, на базовом функционале допилить не дописывая ничего....
|
|||
25
Альбатрос
14.12.11
✎
13:15
|
(23)Не взлетело.
|ГДЕ | ЗакупкиОбороты.Номенклатура = &Ном |И | ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг по причине: {(12, 19)}: Поле не найдено "ЗакупкиОбороты.Регистратор" ЗакупкиОбороты.<<?>>Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг Там вправду такого поля нет |
|||
26
sergeev-ag-1977
14.12.11
✎
13:16
|
(24) П.С. Вы когда машину покупаете тоже руль и педали переставлять начинаете ?
|
|||
27
Альбатрос
14.12.11
✎
13:17
|
(24) Им это неважно. На базовом функционале это как?
(26) То есть? |
|||
28
sergeev-ag-1977
14.12.11
✎
13:19
|
(27) то что это им не важно - это значит постановки нет вовсе!
На базовом, это значит что можно ничего не писать и решить поставленную задачу! |
|||
29
Галахад
гуру
14.12.11
✎
13:19
|
А, ну да.
РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты(, , Регистратор, , ) |
|||
30
sergeev-ag-1977
14.12.11
✎
13:21
|
(28) Если заказчик одобрит - скажите что 1С, а особенно торговля, вообще отстой! Получите хотя бы бюджет в 100 миллионов рублей и напишите свою Торговлю на платформе 1С! ;-)
|
|||
31
Альбатрос
14.12.11
✎
13:24
|
(28) Вы знаете способ, как это сделать без обработки? Поделитесь, будьте добры. Я вот кроме как ручками заполнять установку цен номенклатуры по поступлениям, другого способа не знаю.
|
|||
32
Альбатрос
14.12.11
✎
13:25
|
(29) блин, не летит, я похоже жестко втупляю.
"ВЫБРАТЬ ПЕРВЫЕ 1 | ЗакупкиОбороты.Номенклатура, | ЗакупкиОбороты.ДокументЗакупки.Дата КАК ДокументЗакупкиДата, | ЗакупкиОбороты.КоличествоОборот КАК КОЛВО, | ЗакупкиОбороты.СтоимостьОборот КАК Цена, | ЗакупкиОбороты.ДокументЗакупки КАК Док |ИЗ | РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты(,,Регистратор,,) |ГДЕ | ЗакупкиОбороты.Номенклатура = &Ном |И | ЗакупкиОбороты.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг | |УПОРЯДОЧИТЬ ПО | ДокументЗакупкиДата УБЫВ"; Так не пашет. |
|||
33
sergeev-ag-1977
14.12.11
✎
13:27
|
А Вы в документе поступления товаров и услуг посмотрите кнопочку "Ввод на основании" - есть такая! Удивит наверное до глубины души ... ;-)
|
|||
34
Галахад
гуру
14.12.11
✎
13:29
|
(32) Это я туплю. :-)
РегистрНакопления.Закупки.Обороты(, , Регистратор, , ) КАК ЗакупкиОбороты Конечно же. |
|||
35
Альбатрос
14.12.11
✎
13:34
|
(33) Вы предлагаете прощелкать все поступления и ввести на их основании установку цен?!? Я действительно удивлен!!! Пару недель щелкать буду, это точно. Вы наверное, не поняли, мне нужно установить цены на УЖЕ введенных доках, а их очень много. Это разовая обработка. А дальше, конечно, на основании.
|
|||
36
Альбатрос
14.12.11
✎
13:38
|
(34) И все равно не летит =)
по причине: {(8, 1)}: Неверные параметры "РегистрНакопления.Закупки.Обороты" <<?>>РегистрНакопления.Закупки.Обороты(, , Регистратор, , ) КАК ЗакупкиОбороты |
|||
37
sergeev-ag-1977
14.12.11
✎
13:38
|
(35) Тогда тем более странно, что нет постановки задачи. Это меня удивляет больше всего. Вы что пишете? Скажите что пишете - объясню как!
|
|||
38
Галахад
гуру
14.12.11
✎
13:38
|
(35) Там, наверное есть обработказаполнения. По идее ее можно было бы задействовать, что бы не ваять свое.
|
|||
39
sergeev-ag-1977
14.12.11
✎
13:40
|
Да там много что есть, только молодой человек не знает что делать хочет и пытается это делать ... Так далеко не уехать ...
|
|||
40
sergeev-ag-1977
14.12.11
✎
13:42
|
Вот к примеру: есть 2 номенклатуры, и поступления:
Поступление 1: Ном.1 10 шт 100 рублей без НДС Ном.2 10 шт 200 рублей без НДС Поступление 2: Ном.1 10 шт. 118 рублей с НДС Ном.2 10 шт. 236 рублей с НДС Поступление 3: Ном.1 1 шт. 1 рубль без НДС - пусть всё в один день - какие должны быть цены ? |
|||
41
sergeev-ag-1977
14.12.11
✎
13:43
|
Где постановка ?
|
|||
42
sergeev-ag-1977
14.12.11
✎
13:44
|
"Быстроногий Ахиллес никогда не догонит неторопливую черепаху"
|
|||
43
Галахад
гуру
14.12.11
✎
13:45
|
(40) Да какая разница? Им приблизительно надо.
|
|||
44
sergeev-ag-1977
14.12.11
✎
13:45
|
1 рубль - на всю номенклатуру! Если мало - 100 рублей !
|
|||
45
sergeev-ag-1977
14.12.11
✎
13:46
|
Тогда юзай регистр закупки!
|
|||
46
sergeev-ag-1977
14.12.11
✎
13:46
|
И в запросе функцию "Выразить"
|
|||
47
sergeev-ag-1977
14.12.11
✎
13:46
|
что бы на 0 не делить.
|
|||
48
sergeev-ag-1977
14.12.11
✎
13:49
|
ВЫБРАТЬ
ЗакупкиОбороты.Номенклатура, ПРЕДСТАВЛЕНИЕ(ЗакупкиОбороты.Номенклатура), ЗакупкиОбороты.ХарактеристикаНоменклатуры, ПРЕДСТАВЛЕНИЕ(ЗакупкиОбороты.ХарактеристикаНоменклатуры), СУММА(ЗакупкиОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ЗакупкиОбороты.СтоимостьОборот) КАК СтоимостьОборот, СУММА(ЗакупкиОбороты.НДСОборот) КАК НДСОборот ИЗ РегистрНакопления.Закупки.Обороты КАК ЗакупкиОбороты СГРУППИРОВАТЬ ПО ЗакупкиОбороты.Номенклатура, ЗакупкиОбороты.ХарактеристикаНоменклатуры |
|||
49
sergeev-ag-1977
14.12.11
✎
13:49
|
Для приблизительно хватит
|
|||
50
Альбатрос
14.12.11
✎
14:27
|
(39) Вобщем, расклад такой. Конфа УТ 10.3 после переноса с ТиСа. В тисе не велся учет закупочных цен номенклатуры, соответственно, в УТ их нет тоже. У менеджеров в ТиСе была дописка на формах списка и выбора номенклатуры, суть ее заключалось в том, что текстом на форме выводилась цена с последнего поступления, с НДС вместе. Поступлений без НДС нет в принципе. Теперь, начальство в УТ хочет, чтобы были проставлены последние закупочные цены для номенклатуры, то есть так же с последнего поступления. Это последнее поступление может быть как сегодня, так и 4 года назад. Они все это понимают. Цены нужны с НДС именно с последнего поступления. Вот в принципе и все =) вся постановка.
|
|||
51
Альбатрос
14.12.11
✎
14:35
|
+(50) Вот я и хочу запросом вытянуть цены с последних поступлений, а потом на основе этих данных заполнить "Установка цен номенклатуры". И в принципе, вариант из (32) подходит, только в стоимость включается еще и стоимость доп.расходов, чего не нужно.
Потому, вопрос: как из варианта (32) убрать попавшую туда стоимость доп.расходов? |
|||
52
Альбатрос
14.12.11
✎
14:40
|
(49) Не надо приблизительно, надо последнюю цену поступления
|
|||
53
Галахад
гуру
14.12.11
✎
14:46
|
Фигасе. Только сейчас (36) заметил.
Запятая там лишняя... РегистрНакопления.Закупки.Обороты(, , Регистратор , ) КАК ЗакупкиОбороты |
|||
54
Альбатрос
14.12.11
✎
14:52
|
(53) Воооот!!! Спасибо!!!
Еще просьба, посоветуйте литературу (желательно с примерчиками) по запросам в 1с8 |
|||
55
Галахад
гуру
14.12.11
✎
14:55
|
(54) Не знаю что сейчас модно, а мне вот эта нравилась
http://v8.1c.ru/metod/books/book.jsp?id=125 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |