|
Тестовое задание 🠗 (Лефмихалыч 23.08.2016 15:26) | ☑ | ||
---|---|---|---|---|
0
Вебер
23.08.16
✎
14:24
|
При приеме на работу дали тестовые задания, 2 сделал сразу. А 3 разрешили сделать дома.запросам Из регистра накопления продаж найти товары которые подорвались в течении 7 дней. Понимаю что надо использовать ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -7) Но как дальше не знаю. Может кто поможет, подскажет ?
|
|||
1
Горогуля
23.08.16
✎
14:24
|
не дальше, а вокруг. опиши своё решение русскими словами
|
|||
2
Горогуля
23.08.16
✎
14:25
|
и такое отдали на дом... мда... мне страшно за беседующее
|
|||
3
PR
23.08.16
✎
14:25
|
(0) А на кого устраиваешься?
|
|||
4
Вебер
23.08.16
✎
14:25
|
(1)
ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.Период КАК Период, ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -7) КАК Поле1 ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНП, &ДатаКп, Запись, Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры) КАК ПродажиОбороты ГДЕ ПродажиОбороты.Номенклатура = &Номенклатура УПОРЯДОЧИТЬ ПО Период УБЫВ |
|||
5
Beduin
23.08.16
✎
14:25
|
(0) Так может проще период задать сразу
|
|||
6
piter3
23.08.16
✎
14:25
|
Подряд?
|
|||
7
Вебер
23.08.16
✎
14:26
|
сервис-инженер
|
|||
8
Горогуля
23.08.16
✎
14:26
|
>которые подорвались в течении 7 дней
просраченные консервы штоль? |
|||
9
Вебер
23.08.16
✎
14:27
|
(2) на дом дали потому что, сделал решение по неделям, а им надо по 7 дням
|
|||
10
Вебер
23.08.16
✎
14:29
|
не ужели нет знатоков ???
|
|||
11
Горогуля
23.08.16
✎
14:29
|
(9) семь дней кряду? хоть раз за семь дней?
|
|||
12
Господин ПЖ
23.08.16
✎
14:29
|
(10) з/п тоже напополам с мистой?
|
|||
13
Вебер
23.08.16
✎
14:30
|
(11) да
|
|||
14
Горогуля
23.08.16
✎
14:30
|
(10) ты словами расскажи. а мы подскажем, как по-научному, если что
|
|||
15
Вебер
23.08.16
✎
14:31
|
(14) если сегодня вторник то -7 до предыдущего вторника, в течении этих дней надо проследить продажу товара
|
|||
16
Beduin
23.08.16
✎
14:31
|
ВЫБРАТЬ
ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.Период КАК Период, ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -7) КАК Поле1 ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНП, &ДатаКп, Запись, Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры) КАК ПродажиОбороты ГДЕ ПродажиОбороты.Номенклатура В ( ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура ИЗ РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -1), ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -8), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры)) УПОРЯДОЧИТЬ ПО Период УБЫВ |
|||
17
чувак
23.08.16
✎
14:32
|
(15) тебя спрашивают - в течении 7 дней ежедневно или хот один раз продали?
|
|||
18
Вебер
23.08.16
✎
14:32
|
(17) да
|
|||
19
Вебер
23.08.16
✎
14:33
|
1 раз продали за 7 дней
|
|||
20
Горогуля
23.08.16
✎
14:33
|
(18) красавец!
|
|||
21
Горогуля
23.08.16
✎
14:33
|
(19) обороты за период дата, дата-7дней
|
|||
22
Вебер
23.08.16
✎
14:33
|
(20) ?
|
|||
23
Это_mike
23.08.16
✎
14:33
|
"найти товары которые подорвались в течении 7 дней" - пардон, чем они торгуют?
|
|||
24
Beduin
23.08.16
✎
14:34
|
(23) Это для Сирии
|
|||
25
Это_mike
23.08.16
✎
14:34
|
(7) между словами - знак "минус"?
|
|||
26
Это_mike
23.08.16
✎
14:34
|
(24) для какой из сторон?
|
|||
27
Горогуля
23.08.16
✎
14:34
|
(23) или брагу гонят
|
|||
28
Вебер
23.08.16
✎
14:35
|
(21) это условия для регистра ?
|
|||
29
Горогуля
23.08.16
✎
14:35
|
(28) ага
|
|||
30
Горогуля
23.08.16
✎
14:36
|
я понял! это - фейерверки. зарплата продукцией. день получки - праздник во всём дворе
|
|||
31
Вебер
23.08.16
✎
14:40
|
(16) неверные параметры
|
|||
32
Горогуля
23.08.16
✎
14:43
|
(31) печаль, да? не скопипастилося
|
|||
33
PR
23.08.16
✎
14:43
|
(31) Мдааа. Может не стоит тебе в программисты?
|
|||
34
Вебер
23.08.16
✎
14:45
|
(32) (ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -1), ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -8), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры)
вот такую конструкцию впервые увидел |
|||
35
Вебер
23.08.16
✎
14:46
|
(33) может ты прав, а разве сидеть в админах лучше?
|
|||
36
Горогуля
23.08.16
✎
14:49
|
(34) отлично! будет, что почитать
|
|||
37
Горогуля
23.08.16
✎
14:49
|
(35) на программиста учатся пять лет
|
|||
38
Beduin
23.08.16
✎
14:50
|
(34) а так
(ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -8), ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -1), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры) |
|||
39
hhhh
23.08.16
✎
14:50
|
(35) лучше из дворников идти. У дворника незамутненное сознание, да и работает на свежем воздухе. Быстро переучится.
А из админов очень тяжело попасть в 1с-ники, и них мозги вывернуты совсем в другую сторону. Очень трудно перестроить. |
|||
40
Вебер
23.08.16
✎
14:52
|
(38) Поле не найдено ПродажиОбороты.Период
|
|||
41
Это_mike
23.08.16
✎
14:53
|
(37) брось...
|
|||
42
hhhh
23.08.16
✎
14:55
|
(ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, -8), ДОБАВИТЬКДАТЕ(Период, ДЕНЬ, -1), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры)
|
|||
43
Горогуля
23.08.16
✎
14:55
|
(40) это от выключенной периодичности
|
|||
44
Fedor-1971
23.08.16
✎
14:55
|
(35) кому как нравится.
РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -1), ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -8), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры)) - вот это словами: "И чего тебе надобно старче?" Ты пытаешься выбрать данные за какой период (из записи регистра выбираешь дату и её уменьшаешь)? (38) в угадайку играем? Словами: Выбрать ВСЕ продававшиеся товары за 7 дней Выбрать различные прод.Номенклатура из РегистрНакопления.Продажи.Обороты(&НачПериода, ДОБАВИТЬКДАТЕ(&НачПериода, ДЕНЬ, -7), ,) как прод Начни с книжки по 1С, а не с собеседования |
|||
45
Горогуля
23.08.16
✎
14:55
|
(42) а, ну или да
|
|||
46
Fedor-1971
23.08.16
✎
14:59
|
44+ Пойми что делаешь, и будет тебе счастье.
Вроде из админов и должен мыслить чётко в квадратном измерении без полутонов и пытаться разобраться в применяемых инструментах. Format c: /C - знаешь что сделает с виндой? |
|||
47
Вебер
23.08.16
✎
15:00
|
(43) как включить периодичность???
|
|||
48
Вебер
23.08.16
✎
15:00
|
(46) зависит от того какая винда
|
|||
49
Nuobu
23.08.16
✎
15:01
|
(48) Ух ты! И правда админский ответ.
(47) Тумблером. |
|||
50
Beduin
23.08.16
✎
15:05
|
(47) В коррелированный подзапрос нельзя передать в виртуальную таблицу параметр из внешнего запроса
|
|||
51
Beduin
23.08.16
✎
15:05
|
(47) Делай короче соединением
|
|||
52
Fedor-1971
23.08.16
✎
15:06
|
(48) с правами админа, на сколько я знаю, любая
А по сути твоего вопроса пробовал (44)? И как ты сделал по неделям? |
|||
53
Fedor-1971
23.08.16
✎
15:07
|
(51) дай человеку разобраться с прямой выборкой, соединения будут позже.
|
|||
54
Вебер
23.08.16
✎
15:12
|
(52) по неделям сделал так
ЗАПРОС =НОВЫЙ ЗАПРОС; Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; Запрос.Текст= "ВЫБРАТЬ | ТЗ.НачИнтервала, | 1 КАК Поле1 |ПОМЕСТИТЬ ТЗ2 |ИЗ | &ТЗ КАК ТЗ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ТЗ2.НачИнтервала КАК НачИнтервала, | ВложенныйЗапрос.Номенклатура, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период1, "+Интервал+") КАК Поле2, | СУММА(ВЫБОР | КОГДА ВложенныйЗапрос.Период1 = &ДатаНП | ТОГДА ВложенныйЗапрос.СуммаОборот | ИНАЧЕ ВЫБОР | КОГДА ВложенныйЗапрос.Период1 <= ТЗ2.НачИнтервала | ТОГДА ВложенныйЗапрос.СуммаОборот | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ) КАК Поле1, | ВложенныйЗапрос.Поле1 КАК Поле11, | ТЗ2.Поле1 КАК Поле12 |ИЗ | ТЗ2 КАК ТЗ2 | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиОбороты.Номенклатура КАК Номенклатура, | НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, "+Интервал+") КАК Период1, | ПродажиОбороты.СуммаОборот КАК СуммаОборот, | 1 КАК Поле1 | ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНП, &ДатаКп, "+Интервал+", Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры) КАК ПродажиОбороты | ГДЕ | ПродажиОбороты.Номенклатура = &Номенклатура) КАК ВложенныйЗапрос | ПО ТЗ2.НачИнтервала = ВложенныйЗапрос.Период1 | |СГРУППИРОВАТЬ ПО | ТЗ2.НачИнтервала, | ВложенныйЗапрос.Номенклатура, | НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период1, "+Интервал+"), | ВложенныйЗапрос.Поле1, | ТЗ2.Поле1 | |УПОРЯДОЧИТЬ ПО | НачИнтервала УБЫВ"; |
|||
55
Вебер
23.08.16
✎
15:13
|
и Неделька.Итог("Поле11")=Неделька.Итог("Поле12")
|
|||
56
Вебер
23.08.16
✎
15:15
|
(52) Поле не найдено ПродажиОбороты.Период если сделать РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -1), ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, -8), , Номенклатура.ВидНоменклатуры <> &ВидНоменклатуры)) , не пойму что там указать что бы такая конструкция заработала?
|
|||
57
xXeNoNx
23.08.16
✎
15:15
|
(0) Смысла нет.
скока решал 2 задачи? |
|||
58
VladZ
23.08.16
✎
15:16
|
(0) Забей. Не твое это.
|
|||
59
Вебер
23.08.16
✎
15:17
|
(57) 3 часа
|
|||
60
Господин ПЖ
23.08.16
✎
15:17
|
(54) признавайся откуда свистнул код?
|
|||
61
Вебер
23.08.16
✎
15:19
|
свиснул только вот это
Функция ПолучитьТаблицуДатЗаПериод(НачДата, КонДата, Интервал) тзИнтервалов = Новый ТаблицаЗначений; тзИнтервалов.Колонки.Добавить("НачИнтервала", Новый ОписаниеТипов("Дата")); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |НАЧАЛОПЕРИОДА (&НачДата, День) КАК НачИнтервала |УПОРЯДОЧИТЬ ПО | НачИнтервала |ИТОГИ ПО | НачИнтервала ПЕРИОДАМИ("+Интервал+", &НачДата, &КонДата)"; //Параметры запроса Запрос.УстановитьПараметр("НачДата", НачДата); Запрос.УстановитьПараметр("КонДата", КонДата); Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "НачИнтервала", "ВСЕ"); Пока Выборка.Следующий() Цикл НоваяСтрока = тзИнтервалов.Добавить(); НоваяСтрока.НачИнтервала = Выборка.НачИнтервала; КонецЦикла; Возврат тзИнтервалов; КонецФункции //Пол |
|||
62
xXeNoNx
23.08.16
✎
15:19
|
(59) Смысла нет...
Помнишь первые задачи? Как они звучали... |
|||
63
Nuobu
23.08.16
✎
15:19
|
(59) А что это были за задачи?
|
|||
64
Вебер
23.08.16
✎
15:21
|
добавить в поле справочника колонку с остатками с просмотром только определенной роли
|
|||
65
Вебер
23.08.16
✎
15:21
|
(64) в список справочника
|
|||
66
Горогуля
23.08.16
✎
15:23
|
как решил?
|
|||
67
Zixxx
23.08.16
✎
15:23
|
В течении 7 дней
Подряд или Последние? |
|||
68
Горогуля
23.08.16
✎
15:24
|
(67) просто за период
|
|||
69
zak555
23.08.16
✎
15:24
|
(54) зачем вложенные запросы ?
|
|||
70
azernot
23.08.16
✎
15:24
|
>семь дней кряду? хоть раз за семь дней?
> да >тебя спрашивают - в течении 7 дней ежедневно или хот один раз продали? > да Напомнило баш Она: ответь мне, только честно, да или нет, хорошо? Он: спрашивай Она: почему мужчины смеются над блондинками? Он: да |
|||
71
Лефмихалыч
23.08.16
✎
15:24
|
>товары которые подорвались в течении 7 дней
это как понять? Товары, которые были проданы в период с первого по седьмое? Товары, у которых были продажи 7 дней подряд каждый день? |
|||
72
Вебер
23.08.16
✎
15:25
|
Процедура СписокПриПолученииДанных
Если ОформлениеСтроки.ДанныеСтроки.ЭтоГруппа Тогда Продолжить; КонецЕсли; ЗапросОстатков=Новый Запрос; ЗапросОстатков.Текст="ВЫБРАТЬ | ОстаткиТоваровКомпанииОстатки.Номенклатура, | СУММА(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток) КАК Количество, | СУММА(ОстаткиТоваровКомпанииОстатки.РезервОстаток) КАК Резерв, | СУММА(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток - ОстаткиТоваровКомпанииОстатки.РезервОстаток) КАК Остаток, | СУММА(ВЫБОР | КОГДА ОстаткиТоваровКомпанииОстатки.СкладКомпании.Розничный | И НЕ ЕСТЬNULL(ОстаткиТоваровКомпанииОстатки.КоличествоОстаток, 0) = 0 | ТОГДА ОстаткиТоваровКомпанииОстатки.СуммаРознОстаток / ОстаткиТоваровКомпанииОстатки.КоличествоОстаток | ИНАЧЕ 0 | КОНЕЦ) КАК ЦенаРозничная |ИЗ | РегистрНакопления.ОстаткиТоваровКомпании.Остатки(,Номенклатура В (&СписокНоменклатур)) КАК ОстаткиТоваровКомпанииОстатки | |СГРУППИРОВАТЬ ПО | ОстаткиТоваровКомпанииОстатки.Номенклатура"; СписокНоменклатур.Добавить(ОформлениеСтроки.ДанныеСтроки.Ссылка); ЗапросОстатков.УстановитьПараметр("СписокНоменклатур",СписокНоменклатур); РезультатЗапроса=ЗапросОстатков.Выполнить(); Если НЕ РезультатЗапроса.Пустой() Тогда Выборка=РезультатЗапроса.Выбрать(); Выборка.Сбросить(); ОформлениеСтроки.Ячейки.Количество.ОтображатьТекст=Истина; ОформлениеСтроки.Ячейки.ЦенаРозничная.ОтображатьТекст=Истина; Если Выборка.НайтиСледующий(ОформлениеСтроки.ДанныеСтроки.Ссылка,"Номенклатура") Тогда ОформлениеСтроки.Ячейки.Количество.Текст=Выборка.Остаток; ОформлениеСтроки.Ячейки.ЦенаРозничная.Текст=Выборка.ЦенаРозничная; КонецЕсли; КонецЕсли; |
|||
73
Горогуля
23.08.16
✎
15:25
|
(72) где роль?
|
|||
74
Лефмихалыч
23.08.16
✎
15:26
|
так, тут всё ясно
|
|||
75
Fedor-1971
23.08.16
✎
15:26
|
(56) блин, где в моём запросе такие слова?
Что-бы заработало надо во временную таблицу с названием ПродажиОбороты выбрать поле Период Обороты(<НачалоПериода>, <КонецПериода>, <Отбор>) - соотнеси со своим кодом |
|||
76
Господин ПЖ
23.08.16
✎
15:26
|
>Товары, у которых были продажи 7 дней подряд каждый день
http://s.pikabu.ru/post_img/2012-12_6/1356680243_680811805.jpg |
|||
77
Горогуля
23.08.16
✎
15:26
|
СУММА() КАК ЦенаРозничная - это просто праздник какой-то
|
|||
78
Горогуля
23.08.16
✎
15:28
|
(0) короче, тебя не взяли, и правильно сделали. правильно в том числе и для тебя
|
|||
79
Вебер
23.08.16
✎
15:28
|
(76) 1 раз в течении 7 дней
|
|||
80
Вебер
23.08.16
✎
15:28
|
(77) а что не так в этом?
|
|||
81
Вебер
23.08.16
✎
15:29
|
(75) поставил период, но не работает
|
|||
82
Горогуля
23.08.16
✎
15:30
|
(80) сейчас дойдёт, погоди пару минут
|
|||
83
Вебер
23.08.16
✎
15:31
|
(75) Спасибо
|
|||
84
azernot
23.08.16
✎
15:31
|
>Из регистра накопления продаж найти товары которые подорвались в течении 7 дней
Мне одному кажется, что ответ очевиден? ВЫБРАТЬ РАЗЛИЧНЫЕ ПродажиОбороты.Номенклатура ИЗ РегистрНакопления.Продажи.Обороты(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&НужнаяДата, ДЕНЬ, -7), ДЕНЬ), КОНЕЦПЕРИОДА(&НужнаяДата, ДЕНЬ), , ) КАК ПродажиОбороты Или нужны некие ЛЮБЫЕ 7 дней по всей базе? |
|||
85
Nuobu
23.08.16
✎
15:32
|
(84) Нет, я тоже так думаю.
|
|||
86
Горогуля
23.08.16
✎
15:34
|
(84) не одному. автору нужна версия, годная для копипаста. желательно с обходом
|
|||
87
Лефмихалыч
23.08.16
✎
15:34
|
(84) неправильно. Нужно выбирать из оборотов регистра ПодрывТоваров
|
|||
88
Garykom
гуру
23.08.16
✎
15:35
|
>...найти товары которые подорвались...
Шо террористы на складе? |
|||
89
Garykom
гуру
23.08.16
✎
15:35
|
(87) зараза опередил ((
|
|||
90
azernot
23.08.16
✎
15:41
|
(87) Ну, в этом случае проще напрямую в запросе использовать конструкцию
Номенклатура.ТоварыПодрывалисьВТечениеСемиДней = Истина в отборе виртуальной таблицы... :) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |