Собеседование на программиста 1С. Задача 1. Распределение в таблице значений.

  Рет қаралды 13,254

1С Франчайзи Домрачев консалтинг

1С Франчайзи Домрачев консалтинг

11 ай бұрын

Собеседование на программиста 1С.
Задача 1. Распределение в таблице значений.
Онлайнкурс Старт в программирование в 1С
domrachev.ru/training/
Полный курс доступен по ссылке
domrachev.ru/interview/
Телеграм канал
t.me/domrachev_consulting
1С - продажа, внедрение, обслуживание: domrachev.ru/
Бухгалтерское обслуживание: 1cbo.domrachev.ru/
#обучение #уроки #1С #1C #Домрачев #Домрачевконсалтинг
#обучение1С #уроки1С #собеседование #задача #программирование

Пікірлер: 48
@sergio_khb
@sergio_khb 7 ай бұрын
Спасибо, можно ещё примеры для собеседований
@saddyleb
@saddyleb 4 ай бұрын
Обычно делаю вот так (вроде понятнее): КоэффициентРаспределения = РаспределяемаяСумма/Таб.Итог("Количество"); Для Каждого Стр Из Таб Цикл Если Таб.Индекс(Стр)=Таб.Количество()-1 Тогда СуммаКРаспределению = РаспределяемаяСумма; Иначе СуммаКРаспределению = Окр(Таб.Количество()*КоэффициентРаспределения,2); КонецЕсли; РаспределяемаяСумма = РаспределяемаяСумма - СуммаКРаспределению; Таб.Сумма = Таб.Сумма + СуммаКРаспределению; КонецЦикла;
@user-wp8cv1vm7k
@user-wp8cv1vm7k 2 ай бұрын
На какую позицию был собес с данной задачей? Заранее благодарен
@domrachevconsulting
@domrachevconsulting 10 ай бұрын
Друзья. Скажите, пожалуйста, нужно выкладывать данные обработки куда-нибудь?
@user-jh1yd1et3s
@user-jh1yd1et3s 6 ай бұрын
Выкладывайте😉😉
@nanami265
@nanami265 3 ай бұрын
Я накидал в Excel таблицу с вашим алгоритмом и "классическим" из начала видео, ваш показал себя более точным, так что возьму его на вооружение, спасибо. НО! Если ввести сумму распределения с копейками, то он распределяет большего нужного в последней строке, поэтому я бы для проверки ввёл новую переменную: СуммаИзменения = Мин(СуммаКРаспределению, РаспределяемаяСумма); И уже значение этой переменной использовать для сложения с Стр.Сумма и вычитания в РаспределяемаяСумма Надеюсь понятно описал
@nanami265
@nanami265 3 ай бұрын
Поправка, я накосячил)) нельзя использовать метод "Мин", т.к. округления может быть в меньшую сторону. Нужно для последней строки распределять всю сумму остатка, тут в комментариях как раз есть такой пример
@user-st2hi4ov7e
@user-st2hi4ov7e 5 ай бұрын
А что за такая запись таб.колонки.добавить()- выглядит как будто два вызова методов?
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Привет. Здесь крупный объект встроенного языка 1с (ил можно назвать коллекция) "таб", у него есть объекты ".колонки", а метод последний ".добавить()".
@user-ur6cy4ff2d
@user-ur6cy4ff2d 5 ай бұрын
Подскажите по Коэффициентам это алгебра 6 класс или пораньше? просто интересно стало. Спасибо за пример!
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Добрый день. Я не помню - давно закончил и наверно все поменялось в программе.
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
А просто РаспределяемуюСумму нельзя разделить на Итог Количество и получить сумму на единицу количества? Зачем этот коэффициент?
@domrachevconsulting
@domrachevconsulting 6 ай бұрын
Добрый день. Спасибо за вопрос. Здесь без переменной не обойтись, т.к. мы в последней строке в теле цикла вычитаем уже распределенную сумму. т.е. нам где то нужно хранить остаток для распределения, поэтому только переменная. Примечание: если бы не было такой операции, все равно в цикле лучше присвоить вызов функции переменной (в нашем случае .Итог()), т.к. каждый шаг цикла будет выполняться вызов функции и вычисляться по новой. Это опять же время и совсем не красиво. Вызов и выполнение функции всегда дольше по времени чем обращение к (получение значения) переменной. Качественный код начинается с таких мелочей. Удачи.)
@olegshpilevoy
@olegshpilevoy 6 ай бұрын
@@domrachevconsulting &НаСервереБезКонтекста Функция РаспределитьНаСервере(ЗНАЧ СуммаКРаспределению) ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Товар",Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(100))); ТЗ.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,3))); ТЗ.Колонки.Добавить("Сумма",Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,2))); МассивСумм = СтрРазделить("0,100,130,150",","); ТекстСообщения = "Исходные данные таблицы:" + Символы.ПС; Для ш = 1 по 3 Цикл нс = ТЗ.Добавить(); нс.Товар = "Номенклатура" + ш; нс.Количество = ш; нс.Сумма = МассивСумм[ш]; КонецЦикла; ДополнитьТекстСообщенияСтрокойСообщения (ТекстСообщения, ТЗ); ТекстСообщения = ТекстСообщения + "Измененные данные таблицы:" + Символы.ПС; СуммаНаЕдиницуКоличества = СуммаКРаспределению / ТЗ.Итог("Количество"); СуммаСРаспределениемИтоговая = ТЗ.Итог("Сумма") + СуммаКРаспределению; Для Каждого стр из ТЗ Цикл стр.Сумма = стр.Сумма + Окр(стр.Количество * СуммаНаЕдиницуКоличества,0); КонецЦикла; стр.Сумма = стр.Сумма + СуммаСРаспределениемИтоговая - ТЗ.Итог("Сумма") ; ДополнитьТекстСообщенияСтрокойСообщения (ТекстСообщения, ТЗ); Сообщить(ТекстСообщения); КонецФункции &НаСервереБезКонтекста Процедура ДополнитьТекстСообщенияСтрокойСообщения(ТекстСообщения, ТЗ) Для Каждого стр из ТЗ Цикл ТекстСообщения = ТекстСообщения + СтрШаблон("%1 %2 %3",стр.Товар, стр.Количество, стр.Сумма) + Символы.ПС; КонецЦикла; КонецПроцедуры //Как то так я имел в виду
@domrachevconsulting
@domrachevconsulting 6 ай бұрын
@@olegshpilevoy Можно - это первое что в голову приходит. В вашем решении возможны отклонения из-за округлений и распределиться может не та сумма которая по условию.
@Nice_One_Me
@Nice_One_Me 6 ай бұрын
А как округлиться 0,5 и что с этим делать?
@domrachevconsulting
@domrachevconsulting 6 ай бұрын
В какой момент? - не понял.
@domrachevconsulting
@domrachevconsulting 6 ай бұрын
Добрый день. Спасибо за вопрос. Здесь в функции округления Окр() второй параметр 0, т.е. округление будет происходить до целого числа (согласно условию задачи). Коэффициент по мере выполнения цикла будет стремиться к 1, т.е. на последнем шаге будет равен 1. Если я не понял вопроса, то расскажите что вы хотели спросить.)
@Nice_One_Me
@Nice_One_Me 6 ай бұрын
@@domrachevconsulting 14:01 РаспределяемаяСумма = 63, количество в 3 строке сделать единицу. Там округление идет от 0,5 - 2 раза должно в большую сторону округлить, не будет ли превышение суммы. Вот в чем вопрос.
@romamyasnikov9760
@romamyasnikov9760 3 ай бұрын
2 вопроса к видео, 1) как писсали выше - 100 длинна количества и суммы вроде как не ровны 10 (если это опись, а не задумывалось как дезинформация, то все ок, все мы люди) 2) а зачем пускать 3 раза цикл ради сообщить, можно же одним же обходом сначала сообщить исходное писать, ниже сразу пересчитанное в этом же цикле, если хочется выделить отдельно то что дано, то также минус цикл (последний цикл лишний, все можно в пересчете). Чем меньше циклов, тем быстрее работает код, ну да и люди смотрят разные, те кто начинает (а значит будут также повторять циклы пускать лишние, там где они и не нужны были по факту). Ну и есть минивопрос: если итоги делаются по тз и перед ним шел цикл по тз, а не проще ли было прогоняя сообщение, сразу собирать итог по количеству?
@user-cy1zb5hc6j
@user-cy1zb5hc6j 27 күн бұрын
Сообщения - способ показать работу алгоритма, чтобы отделить логику алгоритма распределения от вывода и проверки результата ,ясное дело в реальной задаче будет 1 цикл с обработкой ТЧ документа.
@F114able
@F114able 4 ай бұрын
Я не понимаю. Говорит, сделаем точность числа = 10 и пишет 100. Как можно быть невнимательным в программировании?
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Добрый день. Это было специально сделано - вы первый кто за полгода это увидели (или по крайней мере прокомментировали). Вас ждет приз. Да в программировании может быть много ошибок - не ошибается только тот кто ничего не делает.
@F114able
@F114able 4 ай бұрын
@@domrachevconsulting Доброе утро! У меня был реальный кейс с ошибочной точностью числа, которая привела к "округлению" одной из величин ВГХ товара до нуля и при расчете объема тоже получилось якобы 0, что не позволило назначить рейсу транспорт. Поэтому теперь я очень внимательно за этим слежу :)
@mnnovikov845
@mnnovikov845 3 ай бұрын
Я тоже не понимаю, как в слове длина можно услышать "точность числа". - "Тщательней надо, ребята."
@domrachevconsulting
@domrachevconsulting 3 ай бұрын
@@mnnovikov845 Спасибо за комментарий. Не помню в каком контексте сказал. Но "точность числа" распространённый оборот (можете в Google набрать). И в целом примечание: "Неидеальное действие лучше идеального бездействия."
@domrachevconsulting
@domrachevconsulting 3 ай бұрын
Добрый день. У вас личные сообщения отключены. Можете написать на почту admin@domrachev.ru или +7(916)509-65-16 watsap. Нужно имя и адрес для отправки. Андрей Домрачев.
@AlexandrPuzakov
@AlexandrPuzakov 6 ай бұрын
Как всё запущено) В библиотеке стандартных подсистем есть готовая функция ОбщегоНазначения.РаспределитьСуммуПропорциональноКоэффициентам()
@domrachevconsulting
@domrachevconsulting 6 ай бұрын
Спасибо за комментарий. Запущено не запущено - это решение задачки на собеседовании - а если будет пустая база (создаешь ее сам - там этой БСП не будет). Даже если через БСП напишешь - то уже провалил собеседование. Советую уточнить на собеседовании а можно так или нельзя. Удачи)
@user-ur6cy4ff2d
@user-ur6cy4ff2d 5 ай бұрын
Катати там на вход подается КоэффициентыРаспределения , а тут показано как расчитать его. Задача простая , но интересно.
@Anastasiya-tm3rd
@Anastasiya-tm3rd 3 ай бұрын
​@@domrachevconsultingвпустую базу можно подключит бсп. Для чего эта база будет создаваться-то?
@domrachevconsulting
@domrachevconsulting 3 ай бұрын
@@Anastasiya-tm3rd Добрый день. Я привел задачи для тестирования на испытательном. Дают вам ноут. там пустая база. говорят сделать то-то. БСП установить можно - но откуда вы ее возьмете на собеседовании - будете на ИТС заходить вводить пароли (а если интернета нет или доступа к ИТС) или с флешки (а если прав администраторских нет на установку - так и потерял 10 минут на все - при чем собеседующий может все это видеть - а поставит вопрос о профессионализме.)
@mariashapovalova9810
@mariashapovalova9810 2 ай бұрын
Да, очень важно уточнить вводные: я бы это решение оценила как ‘спасибо за креатив, вы знаете алгоритмы, но мне нужно ещё и знание БСП чтобы не тратить время на изобретение велосипеда’
@evgenievgeni2016
@evgenievgeni2016 3 ай бұрын
А этот пример хороший. Со срезом последних вообще никуда не годилось. Видео про срез последних и предпоследних лучше удалить, чтобы дерзкие молодые головы не ссылались на него как на эталон.
@domrachevconsulting
@domrachevconsulting 3 ай бұрын
Cпасибо за добрые слова.
@user-co2dx6dm1y
@user-co2dx6dm1y 5 ай бұрын
Это точно задача с собес по 1с? Скорее собеседование по экселю
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Привет. Да. Иногда полезно владеть Excel - при миграции данных, меппинге данных. Аналогов еще нет.
@user-bp1fm9vl7m
@user-bp1fm9vl7m 5 ай бұрын
Абсолютно бесполезная задача, на собесе давать ее смысла никакого. На собесе спрашивают знание типовых.
@user-bp1fm9vl7m
@user-bp1fm9vl7m 5 ай бұрын
@@user-ur6cy4ff2d а ты по всей видимости вообще не работал
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Привет. Бывают разные собеседования. Знание типовых тоже хорошо. Но в 1с сейчас деление идет специалистов на программистов и на консультантов-аналитиков. Последние как раз и работают с бизнесом (пользователями) и должны переложить бизнес-процессы на типовую. чего не хватает дописывает программист.
@Anastasiya-tm3rd
@Anastasiya-tm3rd 3 ай бұрын
​@@domrachevconsulting на фикси далеко не всегда есть и аналитик и программист, обычно в одном лице все
@domrachevconsulting
@domrachevconsulting 3 ай бұрын
@@Anastasiya-tm3rd Да такое возможно - у меня был период в жизни где я делал "все абсолютно" в компании (сеть, сервера, компы, кассы, возил технику в сервис, закупал, админил, прокладывал новую сеть, менял картриджи, возил бухгалтера в налоговую). Мое мнение делать карьеру в известных компаниях, на проектах, где есть разделение обязанностей - собственно и зарплаты большие. Занимаюсь подбором программистов и консов - довольно часто вижу: "Хочу 300 000 рублей" - смотришь 10 лет на одном месте сидел (что там делать?)- внедрение из коробки - компания "Без имени", в команде не работал, управление проектами не знает - но гонору и амбиций до кучи.
@Anastasiya-tm3rd
@Anastasiya-tm3rd 3 ай бұрын
@@domrachevconsulting я не про делал все, а про обязанности специалиста 1с, обычно это не просто кодер, чистый кодер никому не нужен. Замена картриджей очевидно не обязанность специалиста 1с
@AllaGoriannikova
@AllaGoriannikova 4 ай бұрын
какая чепуха
@domrachevconsulting
@domrachevconsulting 4 ай бұрын
Алла, добрый день. Критика должна быть обоснована! Думал может на вашем канале можно поучиться делать не чепуху. Ничего не нашел. Удачи. Самоутверждайтесь в другом месте.
Суть 1С программирования за 25 минут
26:44
Желтый клуб — 1С программирование
Рет қаралды 306 М.
Программист 1С, не пиши так!
16:51
IRONSKILLS - Курсы по 1С
Рет қаралды 25 М.
小路飞的假舌头#海贼王  #路飞
00:15
路飞与唐舞桐
Рет қаралды 3,3 МЛН
Não pode Comprar Tudo 5
00:29
DUDU e CAROL
Рет қаралды 83 МЛН
请善待你的娃娃第二集 #naruto  #cosplay  #shorts
00:52
佐助与鸣人
Рет қаралды 24 МЛН
Easy Python List Slicing: The Ultimate Guide! [2024]
10:11
Knowledge Hub
Рет қаралды 10
ЭТО должен знать КАЖДЫЙ 1C программист!
14:45
Автоматизация бизнеса. Андрей ALEXROVICH
Рет қаралды 25 М.
Курс 1С от Skillbox - ДЕНЬГИ НА ВЕТЕР?!
23:20
Автоматизация бизнеса. Андрей ALEXROVICH
Рет қаралды 167 М.
10 глупых вопросов БУХГАЛТЕРУ
22:23
ЖИЗА
Рет қаралды 176 М.
Интервью с разработчиком (1С)
43:01
Kristina Orekhova
Рет қаралды 1,3 М.