|
v7: Запросом или иначе? | ☑ | ||
---|---|---|---|---|
0
teploset
18.12.14
✎
08:14
|
Помогите, пожалуйста, составить запрос, результатом которого будет набор данных для заполнения следующей таблицы:
Контрагент | Материал.Код | Материал.Наименование | Приход.Кол-во | Приход.Сумма | Расход.Кол-во | Расход.Сумма за период с 01.01.2009 по 31.12.2013, где данные по приходу берутся из документов "Поступление материалов", а по расходу - из "Перемещение материалов" и "Отгрузка материалов на сторону". Если невозможно запросом, то как? |
|||
1
aka AMIGO
18.12.14
✎
08:18
|
1. Выборкой документов.
2. Выборкой из регистров |
|||
2
bodri
18.12.14
✎
08:22
|
(1) <2. Выборкой из регистров> это если Оперативный учет.
(0) Выборка по документам с загрузкой в таблицу значений |
|||
3
teploset
18.12.14
✎
08:22
|
Забыл уточнить, у нас: 1С:Бухгалтерия 7.7, Типовая конфигурация, редакция 4.5
|
|||
4
bodri
18.12.14
✎
08:26
|
(3) Если все суммы по себестоимости без наценки, тогда можно через бух итоги по счетам
|
|||
5
ASV
18.12.14
✎
08:28
|
(4) а контрагент? они наверно хотят из поступления
|
|||
6
bodri
18.12.14
✎
08:29
|
(5) но выборку можно делать по проводкам, где есть документ, а там и контрагент
|
|||
7
teploset
18.12.14
✎
08:30
|
(4) По счетам не надо, только по документам, так бухи просят.
Запросом совсем нереально такое сделать? |
|||
8
ASV
18.12.14
✎
08:32
|
(7) контрагент откуда нужен?
|
|||
9
aka AMIGO
18.12.14
✎
08:33
|
(7) Да реально.. войди в "Генератор Запросов", да создай.. По-первости заготовку, а по результатам увидишь, чего не хватает
|
|||
10
bodri
18.12.14
✎
08:35
|
(9) +100500.
(7) Конструктор запросов тебе поможет |
|||
11
bodri
18.12.14
✎
08:36
|
Кстати запросы в семерке терпеть не могу.
|
|||
12
teploset
18.12.14
✎
08:38
|
(8) не понятен вопрос... Если смотреть поступление материалов, то из ПриходныйОрдер.Поставщик - это?
|
|||
13
bodri
18.12.14
✎
08:38
|
Пример запроса
ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с Дата1 по Дата2; |Обрабатывать НеПомеченныеНаУдаление; |Контрагент = Документ.ПоступлениеТоваров.Контрагент; |ТМЦ = Документ.ПоступлениеТоваров.ТМЦ; |КоличествоПрих = Документ.ПоступлениеТоваров.Количество; |СуммаПрих = Документ.ПоступлениеТоваров.Сумма; |"//}}ЗАПРОС |
|||
14
ASV
18.12.14
✎
08:42
|
(12) какая таблица нужна
Поставщик1 Помидоры 5 0 Поставщик2 Помидоры 4 0 Покупател0 Помидоры 0 2 Покупател1 Помидоры 0 4 или Поставщик1 Помидоры 5 5 Поставщик2 Помидоры 4 1 |
|||
15
teploset
18.12.14
✎
08:43
|
(14) группировка по контрагенту, поставщик.
|
|||
16
aka AMIGO
18.12.14
✎
08:44
|
В одном Запросе и приход, и расход - сложновато :)
Я-б для начала создал 2 Запроса 1-й - Приход, с формированием ТЗ (Колонка Приход) 2-й - Расход, с поиском ТМЦ в ТЗ, и записью в Колонку Расход. (14) судя по сабжу, вторая табличка |
|||
17
VladZ
18.12.14
✎
08:49
|
(16) Можно и одним обойтись.
|
|||
18
ASV
18.12.14
✎
08:52
|
(16) как распределять партии в типовой Бухгалтерии,
они наверно эффективность поставщиков хотят видеть |
|||
19
VladZ
18.12.14
✎
08:54
|
(0) Что должно быть в колонке "Контрагент" для документов вида "Перемещение материалов" и "Отгрузка материалов на сторону"?
|
|||
20
aka AMIGO
18.12.14
✎
08:55
|
(18) Вот! Насчет партий в БУхии я очень сомневаюсь..
|
|||
21
teploset
18.12.14
✎
08:55
|
(19) Наименование поставщика.
|
|||
22
aka AMIGO
18.12.14
✎
08:57
|
(21) Для дока "ОтгрузкаМатериаловНаСторону" - это типа возврата поставщику?
|
|||
23
aka AMIGO
18.12.14
✎
09:01
|
(22) + похоже, что так. В этом документе есть Реквизит "ДокументПоступления", и сф на возврат.
|
|||
24
teploset
18.12.14
✎
09:02
|
(19) Сорри, видимо не то написал... сейчас уточню у бухов.
|
|||
25
ASV
18.12.14
✎
09:04
|
(23) в этом доку 3 операции
Вид отпуска материалов: Продажа Передача в переработку Возврат поставщику |
|||
26
aka AMIGO
18.12.14
✎
09:07
|
(25) А, тогда ВидОпер надо в условие запихнуть..
ЗЫ. правда, не очень ясны (лично мне) желаемые результаты отчета.. |
|||
27
ASV
18.12.14
✎
09:11
|
по Н02.01. можно попробовать. там договор в субконто есть
|
|||
28
teploset
18.12.14
✎
09:32
|
Переговорил с бухами, уточненная информация своими словами:
по приходу - выбрать поставщика, материал (код, наименование), кол-во и сумму из док-та "Поступление материалов"; по расходу - выбрать кол-во и сумму из док-тов "Перемещение материалов" и "Отгрузка материалов на сторону", связав с колонкой ПРИХОД по коду материала. Группировать по контрагенту (поставщик). Вроде это упрощает задачу, ребята, помогите, горит! |
|||
29
ASV
18.12.14
✎
09:55
|
у одного материала бывает два поставщика? или 100% нет такого
если бывает как распределять расход между ними? |
|||
30
teploset
18.12.14
✎
10:30
|
(29) Да, бывает.
Главбух сказала распределять расход между ними так, на примере: был приход за период времени 20шт материала, по 10шт от двух поставщиков. Расход составил 15шт. Значит с 1го поставщика списать 10шт, а со 2го - 5шт. |
|||
31
2S
18.12.14
✎
10:35
|
Для бух давно есть объект бух итоги. И не ипитемозг
|
|||
32
teploset
18.12.14
✎
12:06
|
и всё, помощь кончилась :(
|
|||
33
ASV
18.12.14
✎
12:26
|
(32) ответ в (16) был
|
|||
34
ASV
18.12.14
✎
12:39
|
Расход.Сумма что показывает?
или просто Расход.Кол/Приход.Кол*Приход.Сумма |
|||
35
teploset
18.12.14
✎
12:53
|
(34) да, так Расход.Кол/Приход.Кол*Приход.Сумма
|
|||
36
teploset
18.12.14
✎
13:16
|
(34) Формирую запрос для прихода так:
Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Наименование = Документ.ПоступлениеМатериалов.Контрагент.Наименование; |Код = Документ.ПоступлениеМатериалов.Материал.Код; |Наименование1 = Документ.ПоступлениеМатериалов.Материал.Наименование; |Количество = Документ.ПоступлениеМатериалов.Количество; |Сумма = Документ.ПоступлениеМатериалов.Сумма; |Группировка Наименование; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Наименование Таб.ВывестиСекцию("Наименование"); КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры Но чо-то не так, видимо, делаю, т.к. в результате на одного контрагента только один материал, что исправить надо? Наименование Код Наименование Кол-во Сумма АВТОКРАНСЕРВИС ООО КПК 001690 СТРОПЫ СКП 1,4 6 3900 АвтоСтиль ООО 020393 ХОМУТ 2 210 Агат ООО 002936 ПЕСОК м куб 45 10800 Аква Виталис ООО 011288 Вода минеральная питьевая 19л. 28 3920 Акобджанян А.Р. ИП 001851 ПЕСОК РЕЗКИЙ (м^3) 12 2040 АКСИОМА ООО 030548 Утеплитель (м3) 53.106 109561.07 |
|||
37
ASV
18.12.14
✎
13:24
|
|Контрагент = Документ.ПоступлениеМатериалов.Контрагент;
|Наименование = Документ.ПоступлениеМатериалов.Контрагент.Наименование; |Код = Документ.ПоступлениеМатериалов.Материал.Код; |Материал = Документ.ПоступлениеМатериалов.Материал; |Наименование1 = Документ.ПоступлениеМатериалов.Материал.Наименование; |Количество = Документ.ПоступлениеМатериалов.Количество; |Сумма = Документ.ПоступлениеМатериалов.Сумма; |Группировка Контрагент; |Группировка Материал; |"//}}ЗАПРОС |
|||
38
Злопчинский
18.12.14
✎
18:12
|
Сформируй простую плоскую таблицу без всяких группировок.
потом подсунь ее в "типовую" обработку http://infostart.ru/public/14794/ |
|||
39
GreyK
18.12.14
✎
18:48
|
(0) Как бухие хотят учитывать перемещения между складами?
|
|||
40
Злопчинский
18.12.14
✎
20:30
|
(39) запросто.
например, для подтверждения затрат понесенных на оборудование и содержание шоурума - гораздо лучше если в учете в этом самом шоуруме будет числится товар (если он не списывается на рекламу/прочее). |
|||
41
GreyK
18.12.14
✎
21:00
|
(40) Тогда надо ещё и по складам отбор делать. Такой отчет возможен по методу ФИФО, но ценник будет возле 20тр. Слишком много "хотелок".
|
|||
42
Pit0n_08
18.12.14
✎
21:02
|
(28) Если речь идет о типовой бухии, то "чудеса" в расходной части таблицы неизбежны - толку от такого отчета много не будет, а вот шухера...
Представь, что есть две поставки одного материала от двух поставщиков: от первого 10 шт по 10 руб. и второго 10 шт по 20 руб. Списываем 7 шт и получаем приход 10 по 10 руб. (это тянется из документов прихода от первого поставщика), а расход, если расчитывать от проводок документов, получится по среднему (в типовой парт. учета нет) 7 шт. по 15 руб. Ай-ай бизнес по-русски... Или ещё заковыка. Как ты определишь приход, по которому ещё есть остатки? За какой период нужно делать выборку документов прихода? ЗЫ. Гнилое это дело - гемора не оберешся. |
|||
43
Pit0n_08
18.12.14
✎
21:10
|
+(42) Без партионного учета эта задачка не имеет коректного решения...
|
|||
44
GreyK
18.12.14
✎
21:16
|
(43) Высчитать когда поступил материал можно, для этого не нужны партии. Я делал такое для метода ФИФО, можно и по другим методам конечно, но я не пробовал.
|
|||
45
Pit0n_08
18.12.14
✎
21:26
|
(44) "Высчитать когда поступал материал можно..." - это да.
А как определить приход, по которому ещё есть остатки? Да и выбирать документы от самого раннего не айс. |
|||
46
GreyK
18.12.14
✎
21:35
|
(45) От остатков.
|
|||
47
Злопчинский
18.12.14
✎
21:36
|
(45) читаешь остатки на сейчас.
начинаешь из задомнаперед "распределять" по приходам. как остатки кончились - набранный список доков и есть документы прихода текущих остатков по ФИФО |
|||
48
Злопчинский
18.12.14
✎
21:39
|
причем собирать надо по проводкам (предпочтительнее для адекватности данных), при этом такие хитрые вещи как сторно расходов и приходов - не пропустить...
|
|||
49
GreyK
18.12.14
✎
21:41
|
(47) Мастерство не пропить :)
|
|||
50
Pit0n_08
18.12.14
✎
22:08
|
(48)И ещё как-то откинуть входящие остатки и ручные операции.
Работать будет при выполнении кучи если... И не факт, что итог по колонке будет совпадать с обороткой. |
|||
51
GreyK
18.12.14
✎
22:14
|
(50) "ручные операции" нельзя убирать.
Причём здесь обормотка!? Какая колонка обормотки в бухии отвечает за партии? |
|||
52
Злопчинский
19.12.14
✎
00:21
|
(49) у блин это целые эпопеи
Когда выясняется что надо взаиморасчеты с клиентами в разрезе наших банковских счетов посчитать |
|||
53
Злопчинский
19.12.14
✎
00:25
|
(50) правильно сделанный отчет бьется с другими отчетами в базе например с обормоткой
Или же детализирует до разрезов тире аналитик которые штатно не предусмотрены в базе И если остатки по обормотке равно сто штук А по самописному отчету с раскладкой по партиям получается стодесять штук то тут как говорится Недоделанные отчеты это не беда Главное доделывайте детей А то они вырастают и приносят недоделанные отчеты И никак не разорвать этот замкнутый круг |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |