Решение задачи по 1С с собеседования (видео 1)

preview_player
Показать описание
Приветствую тебя, это Денис.
Часто при приёме на работу в качестве программиста 1С на собеседовании задают жуткие задачи для решения, но встречаются и очень даже интересные, в этом видео я показываю как решить следующую задачу:

Выбрать все реализации товаров и услуг, в которых есть вся номенклатура из переданного массива.

Решение данной задачи сводится к простому подсчёту количества элементов в переданном массиве и сравнении его с количеством вхождения отдельных элементов в табличную часть документа.

Подробнее смотрите видео.

#ДенисПрограммист
#1С
#Программист1С
#1СБухгалтерия
#1ССпециалист
#1ССобеседование
Рекомендации по теме
Комментарии
Автор

Вроде видео пишу не первый раз, но всё равно ещё нет привычки думать, делать и говорить одновременно, поэтому, сорри за затупку и постоянное подглядывание в условие задачи.
Если у вас есть интересные задачи по 1С, присылайте, будем решать вместе.

DenProgMan
Автор

Спасибо. Очень полезно. Если подобных видеороликов будет много, сделай, пожалуйста, для них отдельный плейлист.

GeneralistAmateur
Автор

Полезное видео! Снимай побольше роликов по задачам 1с пожалуйста! :)

TmRokLi
Автор

Добрый день! Мне очень нравятся Ваши уроки по 1С. Хорошо и доступно объясняете. У меня вопрос: не хотите ли Вы создать видеокурс по созданию простой конфигурации учета оргтехники на предприятии. Больше всего интересует комплектация/разукомплектация системных блоков, учет по серийным и инвентарным номерам. Думаю, будет многим интересна эта тема. Спасибо!

serhii_chechelnytskyi
Автор

дак получается, что тут вывело просто 3 позиции товара каждого по одному чтоб было, если будет допустим чего то два из трех, но приэтом они все будут, запрос не пройдет на равность, тут же просто колонку количество надо было приравнять к трем, не трогая номенклатуру

wwmhxqb
Автор

Денис, подскажите, где такую консоль запросов взяли ?

mmbysiw
Автор

Здраствуйте, можно плиз консоль запросов как у Вас?

alexeyprodaction
Автор

6:54 как "суммируемая единичка" находит какое количество нужной номенклатуры в реализации? Помогите понять

ssxsbsv
Автор

Сумма(1) нефига неправильно отработывает, поскольку если не выбрана номенклатура СКД группирует по Реализации.
В итоге всегда будет 1.
Надо было ставить КОЛИЧЕСТВО(РАЗЛИЧНЫЕ втРеализации.Номенклатура) КАК Количество
Вот в таком варианте сумма неповторяющихся позиций номенклатуры будет считаться верно.

sergeialeksandrov
Автор

меня только смущает что для трех товаров в связке Реализация - КолвоНоменклатуры чуть больше 1000 строк. То есть, если для 30 товаров в массиве или для 100 товаров, выполнение запрос не вылетит в "ошибку памяти"???
Ролик год назад, чем сейчас занимаешься Денис-програмист?

RG-sjjb
Автор

А в чём смысл сначала было выбирать номенклатуру из справочника, потом городить временную таблицу и далее по видео? Почему сразу нельзя было составить запрос к реализации с номенклатурой из переданного массива?

volgamax
Автор

Денис, а где такую классную консоль запросов можно получить как у тебя?

johnybrabo
Автор

Даже не упомянул что там происходит соединение двух ВТшек с декартовым произведением, те кто шарит и так без труда такой запрос напишут, а те кто не шарят просто не поймут что тут произошло. Комментарии в стиле оч интересно это подтверждают.

nikolosmiron
Автор

А зачем нам обращать внимание на то, что позиции в РТиУ могут повторяться? Что бы при сравнении не исключить нужных документов, если не укажем различные?

melkiy
Автор

На какой уровень ЗП дают такие задачи на собеседовании?

texacoinboxru
Автор

Можно одной выборкой, это видимо и проверяли. Забрал кейс)

i
Автор

Вот так проще и нагляднее)):

Выбрать
Товары.Ссылка,
Количество(Различные Товары.Номенклатура) как Кол1
поместить ВТ
из как Товары
где Товары.Номенклатура в (&МассивНоменклатуры)
сгруппировать по Товары.Ссылка
;
Выбрать
Количество(Ссылка) как КолНоменклатуры
поместить ВТ2
из Справочник.Номенклатура как Номенклатура
где Ссылка в (&МассивНоменклатуры)
;
Выбрать
ВТ.Ссылка
из ВТ как ВТ
Внутреннее соединение ВТ2 как ВТ2
по ВТ.Кол1 = ВТ2.КолНоменклатуры

oscrsbh
Автор

почему постоянно используются ВТ ? Задача решается совершенно не сложно при помощи вложенных запросов ... зачем городить ВТ, которые якорят как чёрт знает что...

subaruvalit
Автор

блин, вот смотрю на такие ролики и думаю, кто эти люди кто выполняет такую работу? вы с какой планеты?🤣 это вообще реально все запомнить? я начал изучать 1С, изучаю 2 мес. мне дуже не понятно что ты сейчас сделал, не уж то вся работа специалиста 1с такая будет?

coinwiki
Автор

Проблема с несколькими строками в документе решается через внутреннее соединение с выборкой различных (сразу группировать не хотит с различным, поэтому пришлось сначала забить таблицу без группировки, а ток потом сгруппировать)

ВЫБРАТЬ РАЗЛИЧНЫЕ
Номенклатура.Ссылка КАК НоменклатураСсылка
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка В(&МассивНоменклатуры)
;


ВЫБРАТЬ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КАК Количество
ПОМЕСТИТЬ врКоличествоИзМассива
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
;


ВЫБРАТЬ РАЗЛИЧНЫЕ
КАК ДатаДок,
КАК Ссылка,
КАК Номенклатура
ПОМЕСТИТЬ
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ КАК РеализацияТоваровУслугТовары
ПО =
;


ВЫБРАТЬ
КАК ДатаДок,
КАК Ссылка,
КАК Количество,
СУММА(1) КАК СуммаСовпадений
ИЗ
КАК РазмещениеСпискаВсехДокументов,
врКоличествоИзМассива КАК врКоличествоИзМассива

СГРУППИРОВАТЬ ПО
РазмещениеСпискаВсехДокументов.ДатаДок,
РазмещениеСпискаВсехДокументов.Ссылка,


ИМЕЮЩИЕ
СУММА(1) =
УПОРЯДОЧИТЬ ПО
ДатаДок УБЫВ

MotoCrankshaft