|
Тестовые задачи. Попинайте. | ☑ | ||
---|---|---|---|---|
0
Kongo2019
06.07.22
✎
13:48
|
Две задачи, обе решены непрвильно.
Самому интересно где косяк Первая Даны курсы валют по датам Эти данные занесены в таблицу (для определенности пусть это будет временная таблица с именем «КурсыВалют» ) структуры Валюта|Дата|Курс. Задача: Запросом получить курсы валют на определенную дату (т.е. сделать аналог РегистрСведений.СрезПоследних()). Решение ВЫБРАТЬ ВК2.Дата, ВК2.Курс ИЗ (ВЫБРАТЬ МАКСИМУМ(ВК.Дата) КАК МаксДата ИЗ Справочник.КурсыВалют КАК ВК ГДЕ ВК.Дата <= &Период) Как ВК ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КурсыВалют Как ВК2 ПО ВК.МаксДата = ВК2.Дата ГДЕ НЕ ВК2.Ссылка ЕСТЬ NULL |
|||
1
1Сергей
06.07.22
✎
13:51
|
(0) возьмёт последний курс на все валюты
|
|||
2
Kongo2019
06.07.22
✎
13:53
|
Вторая
Структура данных: Справочник «Номенклатура» Справочник «Склады» Регистр сведений «ПределыОстатковНоменклатуры», периодичность «День» с параметрами:• Измерения: Номенклатура, Склад Ресурсы Минимальный запас, Максимальный запас Регистр накоплений «Остатки товаров на складах»: Измерения: Номенклатура, Склад. Ресурс: Остатки Задача: Необходимо создать отчет, который определяет отклонения от установленных пороговых значений (превышение максимального остатка, либо снижение ниже минимального). Анализ отклонений производится на каждый день (даже если отсутствует движения за данный день!) за определенный период, по каждому товару на каждом складе. При этом пользователь может выбирать группу (группы) товара, либо конкретные позиции (стандартный набор условий отбора) и конкретный склад. Запрос ВЫБРАТЬ НАЧАЛОПЕРИОДА(ОстаткиТоваров.Период, ДЕНЬ) КАК Период, ОстаткиТоваров.Склад КАК Склад, ОстаткиТоваров.Номенклатура КАК Номенклатура, СУММА(ОстаткиТоваров.Остаток) КАК Количество ПОМЕСТИТЬ Остатки ИЗ РегистрНакопления.ОстаткиТоваровНаСкладах КАК ОстаткиТоваров {ГДЕ ОстаткиТоваров.Период МЕЖДУ НАЧАЛОПЕРИОДА(&НачДата, ДЕНЬ) И КОНЕЦПЕРИОДА(&КонДата, ДЕНЬ)} СГРУППИРОВАТЬ ПО ОстаткиТоваров.Склад, ОстаткиТоваров.Номенклатура, НАЧАЛОПЕРИОДА(ОстаткиТоваров.Период, ДЕНЬ) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПределыОстатковНоменклатуры.Номенклатура КАК Номенклатура, ПределыОстатковНоменклатуры.Период КАК Период, ПределыОстатковНоменклатуры.Склад КАК Склад, ПределыОстатковНоменклатуры.МинимальныйЗапас КАК МинЗапас, ПределыОстатковНоменклатуры.МаксимальныйЗапас КАК МаксЗапас ПОМЕСТИТЬ Пределы ИЗ РегистрСведений.ПределыОстатковНоменклатуры КАК ПределыОстатковНоменклатуры ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗЛИЧНЫЕ Остатки.Склад КАК Склад, Остатки.Номенклатура КАК Номенклатура, Остатки.Период КАК Период, Пределы.МинЗапас КАК МинЗапас, Пределы.МаксЗапас КАК МаксЗапас, ВЫБОР КОГДА Остатки.Количество < Пределы.МинЗапас ТОГДА Остатки.Количество - Пределы.МинЗапас КОГДА Остатки.Количество > Пределы.МаксЗапас ТОГДА Остатки.Количество - Пределы.МаксЗапас КОНЕЦ КАК Разница ИЗ Остатки КАК Остатки ЛЕВОЕ СОЕДИНЕНИЕ Пределы КАК Пределы ПО Остатки.Склад = Пределы.Склад И Остатки.Номенклатура = Пределы.Номенклатура И Остатки.Период <= Пределы.Период https://prnt.sc/kqnWLPSI87i8 |
|||
3
Fedor-1971
06.07.22
✎
13:55
|
(0) там где КАК ВК - добавь валюту, т.е. получишь валюту + максимальную дату её курса (по красоте, положи оное во временную таблицу для более корректной работы оптимизатора запросов)
потом соединяй по дате и получай курс валюты |
|||
4
Kongo2019
06.07.22
✎
13:55
|
(1) А блин точно. Похожие задачи в каждом втором тестовом. Тормоз. Некорректно понял условие. Спасибо.
Мой косяк согласен. Замылился, хватит тестовые решать. |
|||
5
PR
06.07.22
✎
13:55
|
(0) Вообще-то максимум в разрезе по валютам считать нужно, а не один максимум на все валюты
|
|||
6
Бычье сердце
06.07.22
✎
13:56
|
(0)
На собеседование ходили? |
|||
7
Kassern
06.07.22
✎
13:57
|
(0) а где разрез по валютам? Вы получили максимальную дату, а у вас может быть курс лиры на 6 июля, а курс доллара на 1 июля. Как в этом случае отработает ваш запрос?)
|
|||
8
Ryzeman
06.07.22
✎
13:57
|
(0) Пинаю. Зачем вложенный запрос? Что он делает? Зачем ты делаешь левое и НЕ ЕСТЬNULL по правой таблице? Посмотри на условие соединение, что оно по-твоему вернёт?
|
|||
9
VoditelKobyly
06.07.22
✎
13:57
|
В задаче стоит на определенную дату?
Где условие по дате? |
|||
10
Kassern
06.07.22
✎
13:57
|
вы потеряли из виду "структуры Валюта|Дата|Курс."
|
|||
11
Kongo2019
06.07.22
✎
13:58
|
(5) (3) Понял, запрос не тот. Задачу неправильно прочитал.
|
|||
12
Kassern
06.07.22
✎
13:58
|
(8) да это уже тонкости, у него логика изначально не верная и запрос может выдать не верные данные.
|
|||
13
Kongo2019
06.07.22
✎
13:58
|
С первой задачей понятно, не ту решал. Проехали.
|
|||
14
PR
06.07.22
✎
13:59
|
(2) Вообще по логике должна быть периодичность запись, а не день, потому что в течение дня могло быть отклонение, а потом оно ушло
|
|||
15
Ryzeman
06.07.22
✎
14:01
|
(2) СУММА(ОстаткиТоваров.Остаток)
Что это? В общем, учить запросы, соединения, виртуальные таблицы и структуру хранения данных 1с в таблицах. |
|||
16
Kassern
06.07.22
✎
14:01
|
(2) "Анализ отклонений производится на каждый день (даже если отсутствует движения за данный день!)" - где это у вас в запросе? Вы же берете ОстаткиТоваровНаСкладах как основную таблицу, а если движений не было в этот день, то у вас и данных не будет в отчете.
|
|||
17
Kassern
06.07.22
✎
14:03
|
если у вас было время, вы бы хоть дома проверили, заполнили бы данными и посмотрели, как у вас по дням отчет строится и все ли верно выдается.
|
|||
18
Kongo2019
06.07.22
✎
14:05
|
(15)Дык тестовая же. Я в курсе про виртуальные. Не прокатило.
|
|||
19
Kongo2019
06.07.22
✎
14:06
|
(16) А вот это реально косяк, согласен.
Все перекур. Никаких тестовых больше. Такой бред пишу. |
|||
20
Ryzeman
06.07.22
✎
14:10
|
(18) Не прокатило что?
https://its.1c.ru/db/pubapplied#content:141:hdoc >>Я в курсе про виртуальные ГДЕ?! |
|||
21
Dmitrii
гуру
06.07.22
✎
14:20
|
(2) Бред какой-то.
Ты осознаешь, что сравниваешь пределы остатков (которые в регистре сведений) с движениями(!) за день в регистре накопления? А надо сравнивать не с движениями, а с остатками. Смысл задачи (насколько я его понял) состоит в том, чтобы проверить не вышли ли складские остатки за рамки установленных пороговых значений. У тебя лимит по номенклатуре может быть минимальный - 100шт, максимальный - 200шт, а движений за день было на 100500шт. (50250 пришло и столько же ушло) |
|||
22
Галахад
гуру
06.07.22
✎
14:20
|
Хм. Получается тесты и правда работают. :-)
|
|||
23
Dmitrii
гуру
06.07.22
✎
14:28
|
(22) А ты сомневался?
На собеседовании сплошь и рядом на словах все Д'Артаньяны, а код посмотришь - кругом одни пида*асы. И думаешь потом: ну как же так, только что чувак такие правильные слова говорил, а код пишет как будто платформу вчера впервые увидел. |
|||
24
Kongo2019
06.07.22
✎
14:29
|
Все, все, я понял. Перекур. Реально уже бред пишу.
Всем спасибо. |
|||
25
Галахад
гуру
06.07.22
✎
14:38
|
(23) Ну... Типа проверки = недоверие. А у нас вроде как джентльменам на слово верят. :-)
|
|||
26
Dmitrii
гуру
06.07.22
✎
15:11
|
(25) Для специалиста не должно быть проблемой решение какой-либо небольшой задачки по сложности, соответствующей его уровню знаний. Если он при этом начинает строить и себя оскорблённую невинность, то нафиг он такой красивый нужен. Там только два варианта - либо знаний нет и есть страх облажаться, либо понтов столько, что лучше ему в команде не работать. Исключения бывают, но увы редко.
|
|||
27
PLUT
06.07.22
✎
15:29
|
(24) не пинайте программиста. он программирует как умеет
|
|||
28
Kongo2019
06.07.22
✎
18:18
|
(25) Проверки это хорошо. Я понимаю какой уровень от меня ждут. Есть пара тестовых от которых я тупо отказался, больно они простые были.
Одна сложная, я вообще не понял как решать. Мне даже объяснили, и я тогда с трудом но решил. Мне понравилось. Меня даже туда позвали работать, на вакансию попроще, за упорство и честность, сказали, а то много потом теряются, а ты честно признался что не осилил. |
|||
29
bolobol
06.07.22
✎
18:51
|
Как-то встретилось тестовое на 15 минут: "вывести задолженность контрагента по счёту 60, учитывая авансы и встречные взаимоотношения"
- честно сказал, что с какой стороны долг, а с какой переплата - знать не помню Меня удивлённо спросили, точно ли я бухгалтерию программировал последние пару лет? Вот, да!, но так и не запомнил план счетов. Могу рассказать про ..то.., ..то.., ..то.., ..то.., ..то.. - показать, осмотреть план счетов и движения - собрать отчёт, но не 15 минут это у меня займёт, наверняка. Как же так? - мой чердак способен разобраться, имея знание и понимание схем, с хранением деталей именно по счёту 60 - проблема... вероятность ошибки 50% - либо Дебет, либо Кредит - надо проверять. - понял! Нам нужен кодер.. - о, это не я) |
|||
30
СеменовСемен
06.07.22
✎
18:56
|
(29) так можно же вывести
Пту приход товара на 41, значит в дт следовательно по 60 кредит Те остоток по кр 60 - наш долг поставщику. Ну или через оплаты |
|||
31
Галахад
гуру
07.07.22
✎
09:08
|
(26) Ну, можно же на словах описать. Вот эту табличку свяжу таким-то соединением, так-то сгруппирую и положу в временную таблицу. Потом с этой таблицей сделаю еще пару операций и полученные три таблицы вот так-то свяжу. Норм же?
(28) Сложная это незнакомая технология? Или сложная логика? |
|||
32
Kongo2019
07.07.22
✎
09:16
|
(31)Технология. Без ее знания, можно было реализовать, но для меня это было запредельно. Не я бы конечно если бы это рабочая задача была допер, форум бы помучал. Но для тестовой, как это мне показалось перебор. Они кстати тестовое оплачивали.
|
|||
33
Новиков
07.07.22
✎
10:55
|
(30) для такого выведения нужно помнить "приход товара на 41, значит в дт следовательно по 60 кредит". Очевидно, он и этого не помнит, поэтому и вывести не смог.
|
|||
34
СеменовСемен
07.07.22
✎
10:59
|
(33) значит получается никаких проводок не знает ни по товару ни по оплате.
значит его фактический опыт в бухне = 0 |
|||
35
bolobol
07.07.22
✎
11:07
|
(34) Вот, кстати, таких очень много встречал собеседователей - поверхностные выводы, с надеждой, я так понимаю, снизить ценник. Ни у кого не получилось)
|
|||
36
СеменовСемен
07.07.22
✎
11:09
|
(35) ну получается с бп работал, а базовые проводки не выучил.
Ну и кто ты после этого такой? |
|||
37
Галахад
гуру
07.07.22
✎
11:14
|
(32) Ну технология, это не беда. Мануал всегда почитать можно.
|
|||
38
bolobol
07.07.22
✎
11:17
|
(36) Я решал задачи бизнеса. Очень странные, порою, и самые лишь первые задачи были по базовым, как вы их называете, проводкам. Бухня сама прекрасно справляется с базовыми вещами, а вот когда дело доходит до взаимодействия со сторонними системами, хитрым учётом, комиссионной торговле в 0, в минимизации НДС - вот тут от типовых (как сегодня - уже и не знаю) - толку было ноль. Ну и отладка типового кода после каждого второго релиза..
|
|||
39
bolobol
07.07.22
✎
11:21
|
+ найти расхождения в книгах покупок/продаж, а их бухгалтера так умеют расходить с ОСВ... учёт взаимоотношений по договорам вплоть до единицы товара - и это практически без изменения типовых объектов, с обновлениями было всё просто, а о расширениях тогда и думать не знали - вот в этом моя ценность была, но ориентировался свободно в бухне, зупе, и с трудом в УТ 10, 11
|
|||
40
bolobol
07.07.22
✎
11:23
|
А вот ДТ и КТ - это постоянные сверки были, куда что пишется.. ну вот ниасилил так чтоб "разбуди - отвечу". 50 / 50
|
|||
41
dmt
07.07.22
✎
11:30
|
(28) Покажи сложное.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |