0: Добрый день, меня зовут Ранис, я руководитель компании крон. И сегодня я буду собеседовать Павла Чистова. Ну, попробуй меня пособеседовать, чтобы было понятно, там вот, ну, какого уровня. Я вот специалист, вот Ранис, собеседует очень много людей, у него очень там большая
1: Компания, которая занимается именно подбором, да, персонала. И, как мне кажется, ну, будет очень интересно. Вот я работаю в самой, как бы, компании 1 с, и насколько плохой я сотрудник, мы сейчас с вами выясним.
2: Хорошо, Павел. Ну начнём тогда тестирование собеседования, да, пробегусь по всем веткам метаданных, позадаю вопросы по запросам, по оптимизации немножко запросов, по конвертации и
3: Дальше уже посмотрим, ну, начнём с простых вопросов. А дальше уже будет видно серия простых вопросов. Есть структура и есть соответствие, в чем между ними разница? Ну, структура у нас имеет ключ.
4: Который должен быть назван по правилам идентификаторов и обратиться к элементу структуры. Мы можем по имени через точечку, а к соответствию мы должны обращаться через квадратные скобочки, указывая там объект соответствия
5: Собственно говоря, который является у нас ключом. Угу. А ещё какие-нибудь принципиальные есть изменения? Отличия? Не знаю, наверное, например, ключ, значение, ключ. Ну, ключ. И, ну, ключ будет у структуры всегда.
6: Да, это, ну, айдишник, то есть по правилам идентификаторов, это строка всегда у соответствия, это может быть все, что угодно, там, не знаю, ну, 1 какой тип, скажем так, любой тип, да, там другой тип может быть там больше.
7: Я различия, если честно, не знаю. Хорошо. Дальше у нас есть таблица значений и необходимо определить, есть ли в ней колонка, ставка ндс или нет. Как нам это сделать. Хороший вопрос.
8: Мы обращаемся к свойству таблицы колонки, которая называется находим там по наименованию. Собственно говоря, эту колонку. Если нашли, то хорошо, если не нашли, то плохо. Все отлично. Какие универсальные коллекции.
9: Мы не можем передавать между клиентом и сервером не сериализуемые коллекции, мы не можем передавать между клиентом и сервером. Это, например, таблица значений. Ну, это самый такой яркий пример, дру.
10: Мы не можем передавать объекты. Объект, на самом деле, он тоже же является какой-то коллекцией, да, коллекци. Ну, в целом, да, но мы его передавать не можем. То есть среди универсальных вот коллекций, там таблица значений есть и таблица значений есть, да.
11: То, у кого меняется структура с течением времени, и за что сервер не может отвечать, вот это мы передавать не можем. Это, к примеру, опять-таки таблица значений, да, потому что мы можем её в колоночке увеличивать, да, там. Угу. Несколько делать, а другие?
12: Че то так, сходу, вот даже и не скажу. Ну, дерево, значение тоже самое. Ну, ну, дерево, значение тоже самое, там просто 1 колонкой отличается, да, там родители и все, да, вот хорошо. Так далее.
13: Какие директивы компиляции могут быть в модуле формы? Вопросы будут всегда по управляемым формам, да, только что я ввёл курс по управляемым формам, поэтому я на это, на это сейчас отвечу очень хорошо. Значит, в модуле управляемых форм
14: Могут быть директивы, компиляции на клиенте. Угу. На сервере, на сервере, просто с контекстом и на сервере без контекста. Это ещё 1 директива компиляции. И на клиенте на сервере без контекста на кли.
15: На сервере без контекста. На самом деле у нас это по сути, директива компиляции, которая делает 2 процедуры при компиляции. 1 на клиенте, 1 на сервере.
16: Есть ещё 4 компиля директива компиляции, которая не может быть в управляемых формах, но она может быть в модулях команд на на клиенте, на сервере точка, там никаких контекстов, слов нет. Вот она бывает в модуле именно команд.
17: Ну, по моему, по сей день она в помощнике высвечивается, когда выбираем фо помощнике. Везде высвечивается там и иногда, когда нужно, высвечивается. А когда не нужно, не высвечивается. Вот так тоже такая будет. Так у нас есть.
18: Форма, она открывает 2 форму. Во 2 форме мы получаем таблицу значений. Ну, к примеру, результат запроса выгрузили в таблицу значений, и именно эту таблицу значений необходимо вернуть в 1 форму. Как нам это сделать?
19: Я знаю 4 способа, как это сделать. Способ. Номер, раз мы можем при закрытии формы описать флаг закрытия формы, как раз-таки указав параметр, и тогда у формы владельца отработает событие с помощью
20: Которого мы можем получить. Это значение. Вариант 2, который мне нравится намного больше, потому что он очевиднее. Это мы можем описать команду какую-то, ну либо стандартную команду, либо там по кнопочке, по новой какой-то, когда мы будем
21: Программно вызывать процедуру формы владельца, процедуру формы владельца и передавать туда адрес временного хранилища, в которой хранится вот эта самая там таблица значения, о которой мы там говорим, это 2 вариант.
22: Остальные 2 ещё рассказывать. Вот на 1 все-таки остановлюсь в плане параметра. А что в качестве параметра будем передавать адрес временного хранилища? А все отлично. Мы не можем напрямую передать какие-то мутабельные значения.
23: Как вот мы только что говорили, да, это, это невозможно, там можно, конечно, исхитряться и делать массив в массиве, структура в структуре и как-то это имитировать, но это неправильно, правильнее это залить в временное хранилище, потом из временного хранилища все это
24: Значит, и мы можем из временного хранилища, значит, потом получить уже в форме владельца данные, ну, по адресу. Вот, вот так как to, понял. Хорошо, мы находимся в модуль форм при создании на сервере необходимо обратиться к экспортной процедуре.
25: Который находится в модуле данного объекта. Как нам это сделать? В модуле формы мы находимся, нам нужно к объекту этой формы обратиться, да, к экспортной процедуре, сконвертировать объект, который является
26: Данными формы, то есть у нас нет объекта, на самом деле прикладного, да, когда у нас форма открыта, прикладного объекта нет. Мы из данных форм можем сконвертировать данные объекта, если я правильно помню реквизит формы в значение, по моему, так это звучит, мы полу
27: Прикладной объект. И дальше через точечку мы сможем обратиться к его экспортным процедурам и функциям, которые в модуле объекта хранятся. Но внимание, у нас этот самый объект, он потом умрёт, когда вот закончится процедура. Угу. Если
28: Мы его обратно не конвертируем в данные формы, то ничего с ним не произойдёт. То есть он умрёт просто вот его как бы не будет, верно? Так далее. Мы на форму вывели элемент у элемента видимость, ложь, ну,
29: В палитре свойств видимость. Галочку убрали. Необходимо устанавливать значение истина, только если мы открываем уже существующий объект. При этом мы не должны проверять, новый он или нет, где и как мы это будем делать. Не очень понял вопрос.
30: К примеру, у нас, давай я на форме сформулирую. Да, мы на форме разместили какую-то галочку. Нет, элемент элемент создали. Ну, например, декорация пускай будет, да. Ну, пускай будет.
31: Декорации. Так, видимость установили, ложь в свойстве видимость убрали галочку. Надо устанавливать значение истина, видимость. Если мы открываем только существующий объект, только для существующих объектов, мы видимость устанавливаем. Истин.
32: При этом мы не должны проверять, новый он или нет.
33: У меня диссонанс такой только для существующих объектов, но мы не должны проверять. А как это? Отвечаю да, отвечаю. Тогда, значит,
34: Давай, давай, я попробую ответить. Может быть, это будет неправильно.
35: У нас есть на форме какой-то элемент формы, не реквизит, а элемент формы, декорация какая-то.
36: И мы хотим какое-то значение ей присвоить, видимость, равно истину поставить, чтобы он ввиде. Видно было, да?
37: При каких-то условиях, только если открываем существующий объект, то есть он уже когда-то был записан в базу данных, мы открываем форму элемента, к примеру, или форму документа.
38: Ну вот тут вот, либо я что-то не очень понимаю, но я отвечу, как я понимаю, да, это, это, видимо нормально. Во первых, конструирование формы, оно производится у нас на стороне сервера, там есть событие создании на сервере, там мы
39: Можем узнать все, что происходит с объектом. Записан он, не записан он, но если мы не хотим ориентироваться на вот это вот свойство записан он или не записан, нам же на ссылку как-то надо же реагировать. Я не знаю, как ответить на вопрос.
40: Ну, наверное, просто забыл. При чтении на сервере отрабатывает только для существующих объектов. Нет, да? Ну, хорошо. Если мы нажимаем, к примеру, создать, открывается форма документа, то отрабатывает только при созда.
41: Dunyo. И при открытии, если мы открываем уже существующий документ, к примеру, то происходит при чтении на сервере, потом при создании и при открытии. Да, да, именно так и есть. Да, окей.
42: Дальше там серия таких дежурных вопросов. Какие виртуальные таблицы бывают у регистра свиней?
43: У регистра сведений бывает виртуальная таблица, срез первых срез последних, причём они работают в физическом виде только в том варианте. Если вдруг мы поставили там галочки во всех остальных видах, она, они, ну реально виртуальные. То есть это просто механизм, который строит
44: Skd. Ну, запрос к базе данных. Угу.
45: Могут ли быть таблицы итогов? У регистра сведений? Нет, есть только срез первых срез последних. Это виртуальная таблица. Ты имеешь ввиду это реальные таблицы в прямом, ну да, в прямом смысле, да, вот, а таб.
46: Того быть не может. Ну, ну, мы можем назвать их как угодно, но это срез первых срез последних, там 2 таблицы есть, но он же, это, эти.
47: Не совсем с выхода 8 3 7 или 8 3 9 в окне редактирования в закладке прочее появилось 2 галочки разрешить использовать таблицу итогов среза первых или использовать срез последних, который уже хранит рассчитанные данные или самые первые.
48: Или самое последнее, да, либо на самый 1 день, либо на самый последний. То есть итогов у них, как, ну, можно назвать это таблицами итогов, да, но не назвали, как бы, вот, вот, вот так вот, да, ну, да, окей, окей.
49: Далее виртуальной таблице регистра сведений, срезы последних примеров, да, есть параметр период.
50: Каких типов значений мы можем туда передавать?
51: Регистр сведений. Ну, дата, момент времени, граница.
52: Границы с уточнением периода, включая выключая. Угу. Наверное, все. Ну, моё неопределённо туда передать. Верно? Так, дальше серия. Какие виртуальные таблицы бывают?
53: У регистра накоплений виртуальных таблиц, там
54: Самих виртуальных таблиц, там 4 или 3. Сейчас, сейчас посчитаем. Таблица движения. Ладно. Таблица обороты таблица остатки, остатки и обороты. Угу. Таблица движения. Больше как физическая таблица. Идёт физич.
55: Хранится только таблица остатков. Обороты не хранятся у регистров накоплений остатков. Они считаются по движениям хорошо, сколько таблиц агрегатов мы можем создавать для регистра накоплений?
56: Нисколько нет для накопления Оборотов оборотного оборотного Оборотов.
57: Ну, на самом деле, сколько хотим, столько и можем. Я даже верно, почему там ограничение какое-то может быть. Ну нет, там нет, на самом деле, вот у нас так далее, тут опять такой же повторяющийся, по сути, вопрос у виртуальной таблицы регистра.
58: Накопления, например, остатки, да, в параметры период каких типов мы можем указывать значение. Период может быть датой любой её как бы сущностью, которой мы говорили, не определена. То есть там, ну,
59: Дата с периодом с этой за границей, там, включая исключая момент времени, это мы все туда передавать можем. Далее у нас есть, к примеру, регистр накоплений, он оборотный, у него есть 2 измерения, подразделение и контрагент. Так уж получилось то, что
60: В большинстве случаев мы, ну, там, 99 и 9% получаем данные в разрезе квартал и контрагент. То есть нам не интересно подразделение, нам нужны, не интересны такие разрезы, как месяц, год, регистраторы и так далее. Что мы можем сделать с этим регистром, чтобы ускорить процесс получении?
61: Данных из него. Ну, я бы этот регистр убил бы, создал бы новый, в котором было бы нужное мне измерение.
62: Но если мы говорим, что мы работаем с клиентом, и у него как бы рабочая конфигурация, и как бы, ну и как бы, да, операция это не очень хорошо, да, по живому резать нельзя, то, наверное, я бы, да, создал агрегат, верно? Далее.
63: Так, так, так. По регистрам расчётов всего будет 2 вопроса. Какие виртуальные таблицы бывают у регистра расчётов? Это зависит от типа регистра. Там есть?
64: X таблиц, которые называются база, потому что мы не знаем, из каких других таблиц, ну из каких других регистров мы будем базу выбирать, сколько будет базовых регистров, столько базы и будет, и данные графика, если регистр связан.
65: С регистром сведений, если он у него включено понятие период действия. Хорошо. Что такое базовые виды расчётов, вытесняющие виды расчётов и ведущие виды расчётов, можно просто на примере, да.
66: Просто на примере это, наверное, будет даже здорово. У нас есть, например, премия. Премия зависит от оклада, потому что вот мне заплатили оклад, там 100 ₽, и я хочу 10% премии. Вот оклад у меня будет базовым для того, чтобы я от него взял там какую-то часть.
67: То есть я пойму, что там было 100 ₽, и оттуда вытащу вот это вот, вот это вот самый этот самый оклад вытесняющие. Это очень просто. У нас есть оклад.
68: Опять-таки, да, который мы планировали, что я буду работать целый месяц, а я взял и заболел, блин, там вот на протяжении там недели я болел, и вот больничный, он будет у меня вытеснять оклад автоматом. То есть, да.
69: Фактического периода действия у меня уменьшится у оклада из за того, что с ним будет конкурировать этот самый больничный, ведущие виды расчёта. Это такая штука, которая позволяет мне понять, что, а вот
70: Там вот у меня оклад поменялся, а вот тут вот больничный, мне рассчитывали по среднему от оклада, и мне нужно бы вот теперь все это дело пересчитать. То есть это зависимости видов расчёта 1 от другого. Понял? Так, окей.
71: Дальше в регистре бухгалтерии, когда, появля, когда появляется для регистра бухгалтерии виртуальная таблица субконто, когда мы привязываем понятие субконто, то есть план видов характеристик к регистру бухгалтерии и включаем количество
72: Субконто больше чем 0. Окей, хорошо так есть 2 счета. У обоих есть субконто, склад и номенклатура, но у 1 субконто 1 это склад, а у другого номенклатура. Как сделать так, чтобы для получении данных из виртуальной табл?
73: Остатки у нас субконто 1 всегда был складом, а субконто 2 номенклатурой, вне зависимости от счета. Я не помню каким, но параметром в запросе виртуальный к виртуальной таблице мы можем типизировать тип значений и
74: И описать именно какие виды субконто мы пытаемся получить 1, 2 там 3 номером. Ага. Это тоже все время то забываю то, то ли виды называется, то ли суо. Не помню тоже, как, по моему, сукко, там синтаксис. Помощник нам поможе.
75: Ну да, вот в плане счетов есть счёт, у которых указан 2 субконто. Необходимо, необходимо, чтобы по 1 из этих видов субконто не хранились остатки. Как это сделать?
76: Если я не ошибаюсь, я че то давно не работал с механизмами бухгалтерии. Н, ну не важно, если я не ошибаюсь, то в свойствах именно субконто у нас есть галочка, которая называется только
77: Обороты. Вот совершенно верно. Как как-то вот, вот так вот она называется. И тогда по субконто не хранятся остатки. Мы их посмотреть уже не можем ни в коем Роде, но обороты мы по ним смотреть можем. Понял, какие виртуальные таблицы.
78: Бывает у регистра бухгалтерии.
79: Там их чуть больше, чем у регистров накопления. Угу. Это, ну, остатки, обороты, остатки и обороты вместе. Потом движение с субконто. Это тоже виртуальная таблица, потому что там соединение 2 таблиц идёт и
80: Core оборот, таблица core Оборотов, таблица core оборота угу. Да, она там точно есть. Это, это самая, самая, собственно говоря, медленная штука, которую я знаю вот вообще во всей платформ.
81: Помню, да, обороты дебетке и субконто, а там, а там зеркальные идут обороты. Да, да, верно. Вот. Окей. Так с чем связано следующее? У, в типовых конфигура?
82: Обычно максимальное количество кон указывают 3 это связано с количеством индексируемых полей, которые поддерживались в старых версиях microsoft сколь сервера угу. Если мы будем использовать, я могу совсем полностью.
83: Рассказать? Ну я понял, уже понятен ответ. Значит, там больше 16 полей, по моему, было невозможно использовать. A3 поля составного типа это уже 3 на 3. Это уже 9 плюс поле период, плюс поле счёт. Ну и
84: Короче, мы приближаемся к тому, что 4 вид субконто, он превышает количество индексов, и мы вываливаемся за, ну, за индексируемые значения, и там система начинает все выбирать. Ну просто там, как это просто
85: Читай сверху вниз все без индексов. И, короче, скорость выборки данных падает очень сильно. Понял? Сейчас, кстати, это уже не так. Можно уже делать много, да, вот общих.
86: Общем модуле есть галочка, сервер, она нам для чего нужна? Галочка? Клиент, галочка, сервер. Они описывают контекст исполнения модуля там, где модуль, собственно говоря, компилируется и исполняется. Угу.
87: А вызов сервера зачем нужен тогда? А для того, чтобы мы могли со стороны клиента, то есть с клиентского контекста, вызвать серверный модуль какой-то. То есть если мы модуль создадим и сделаем галочку, сервер, вызов сервера, то по сути, когда мы с клиен
88: Будем обращаться, это не будет ничем отличаться от, например, вызова какого-нибудь браузера, когда я там посылаю что-то, что то куда-то, то есть я серверу что-то там кинул и вот, вот оно там, туда хорошо, а внешнее соединение
89: Внешнее соединение это не интерфейсные возможности платформы. Например, у нас касса подключается к 1 с и закачивает, например, какие-то цены откуда-то. И вот чтобы она могла обратиться. Касса, да, вот там она могла обратиться к общему.
90: Модуля. Для этого нужна галочка. Внешнее соединение. Понял? И последнее такое свойство, которое интересно. Повторное использование возвращаемых значений это шикарное свойство. Мне оно очень нравится. Аналогично, как
91: Работает система созда по моему я уже курс начинаю вести. Система создаёт таблицу в которой есть входящие параметры и исходящие параметры. Она эту таблицу запоминает если вдруг
92: Модуль прилетает ещё раз с точно такими же входящими параметрами. Что-то она не обрабатывает модуль, она выдаёт ему то, что было записано вот в этой самой табличке, то есть это для синхронизации. И это бывает у нас на время вызова сервера.
93: На время вызова, сеанса на сеанс. Это, ну, если честно, я не знаю сценариев, чтобы на время вызова сервера, сеанса это было там такая сложная.
94: Есть 1 маленький нюанс с 2 одинаковыми для них, да, есть такие вот, а на время вызова, там именно как бы на время вызова, да, это вполне хорошо. Например, в цикле мы можем получать курсы валют, и система не будет мне запросы.
95: Постоянно. Вот очень удобно. Вот, но, тем не менее, надо запомнить, что и на время сеанса, и на время вызова кэша, по сути, как бы, да, хранятся данные в течение 20 минут с последнего вызова, то есть через 20 минут.
96: В принципе, кэш должен очиститься, но не знаем, как кэш работает, да, к примеру.
97: Мы создали подписку на событие для обработчика события какого-нибудь
98: Объекта, к примеру, перед записью обработка приведения и так далее. И для этой подписки на событие необходимо создать общий модуль у этого общего модуля, какие обязательно мы должны галочки проставить.
99: Если честно, не помню, но, по какому-то внутреннему убеждению, сервер должно быть и, и все это же серверные события в целом, да, верно, это.
100: Чего достаточно? Ну, к примеру, при разработке все-таки не стоит. Не стоит забывать, что может произойти внешнее соединение, к примеру, комп, соединение. То есть, к примеру, мы подписку на событие повесили, на обработку проведения комедии подписал. Вот тут вот провал, да?
101: Вот. И вот тут как раз частенько ошибку допускают и, к примеру, когда обмены работают, например, через ftp все замечательно, а когда Решат, а давай через ком соединение сделать обмен те же самые через бсп механизмы, то как раз выпадает ошибка и
102: Весь процесс может остановиться. Ну вот мы выяснили мои минусы уже хорошо, да, 1 появился. Надо же. Окей. Далее у нас есть объект, у него есть реквизит ответственный, необходимо его заполнить, только когда документ новый.
103: Где и когда, где и как мы будем заполнять? А в какой момент мы будем заполнять этот объект? Этот только когда мы нажимаем пример создать, скопировать. То есть когда документ новый при открытии формы или при записи ты мне
104: Скажи, пожалуйста, вот первоначальное заполнение объекта, где надо делать? Хорошо. Угу. Тогда я ещё вопрос уточняющий задам. Давай нам для чего нужно, чтобы этот реквизит был заполнен? Ну, каждый раз, когда, ну,
105: Создаём, чтобы реквизит ответственный был заполнен тем пользователем, который нажал создать там и так далее.
106: Или, к примеру, мы хотим заполнять поле. Реквизит организации, который устанавливается по умолчанию для данного пользователя где-то в настройках, у него там это уже есть.
107: Ну окей, я, если честно, не понял, зачем я расскажу 2 сценария, как это можно сделать. Давай, можно при создании формы на сервере заполнить реквизит. Можно перед записью объекта заполнить этот рекви.
108: Если мы хотим при открытой форме уже иметь значение этого реквизита и каким-то образом его там использовать, то это однозначно при создании на сервере. Если вдруг нам это нужно просто как данные в таблице базы, то есть вот
109: Документ был создан тогда-то вот там-то то правильнее это делать будет перед записью на стороне сервера объекта. А ещё 2 варианта есть обработка заполнения и при копирование обработка заполнения.
110: Отрабатывает, когда мы нажали создать или создать на основании обработка, они отрабатывает при создании на сервере, отработает. Все это можно отработать тоже, да, но там придётся проверять, да, там придётся проверять. Хотя есть 1 помарка обра.
111: Заполнение может отработать для существующих объектов, если получаем объект и вызываем метод заполнить, да, вот как бы так. Ну, в основном в типовых конфигурациях. Сейчас это делают именно в обработке заполнения и при копировании в целом, наверное, это более оправдано. Так идёт, если именно
112: На то, чтобы не тратить время на проверки, запишем. Окей, окей. Есть документ, у него есть 2 реквизита. Контрагент и договор необходимо при проведении или перепроведении запустить следующий алгоритм. Если контрагент заполнен, а договор не заполнен.
113: То система не должна нам дасть провестись или перепровести ь. Если же контрагент не заполнен, то договор мы не проверяем и спокойно даём провестись или перепровести, где и как будем делать.
114: Контрагент заполнен, договор не заполнен плохо. Угу. Да, контрагент не заполнен, договор не заполнен. Хорошо? Да, то есть на договор мы уже просто не смотрим и спокойно даём проводиться. Это нужно именно при проведении или перепроведении, где и как будем делать?
115: Ну, событие. Запись уже отработала однозначно.
116: Если мы уже к проведению пришли, да, сейчас, я думаю, неожиданный вопрос. Сейчас, секунду. Так, договор. У нас, у нас есть реквизит. Реквизит можем проверить либо в форме, либо в модуле объекта в форме.
117: Нам как бы не интересно это проверять, потому что у нас может могут быть не интерактивные события. То есть мы однозначно уходим в форму объекта, в форме объекта. У нас есть разные события, в том числе обработка проверки заполнения, к примеру.
118: Она отработает до записи, кстати, что, наверное, и будет на транзакции записи даже получается, да, верно. Это есть в модуле формы и в модуле объекта в модуле формы получается интерактивные событии.
119: Модуль объект, да, мы там всегда окей. Далее для чего нужен модуль менеджера и есть ли в нём какие-нибудь предопределённые обработчики событий? Модуль менеджера? Он нужен для того, чтобы увели
120: Количество методов объекта метаданных. Угу. Так скажу. Ну, к примеру, у нас есть сотрудники, и мы хотим, например, там какой-то, какую-то функцию найти всех именинников. Вот мы такую функцию можем в модуле менеджера написать, то ест.
121: Она не относится конкретно к данным, она относится к метаданным и в модуле менеджера. Если мне не изменяет память. У нас есть события, которые описывают поиск данных и формирование представлений.
122: Я объектов, то есть мы можем там объект нарисовать, там не просто ложка, а чтобы было написано артикул такой-то ложка, да, там и так далее. Вот, вот такие другие, я не помню, может ещё какие-то выражение представления, обработка выбора.
123: Формы. Да, да, да. Вот, вот это там, вычисление полей и как раз представление идёт. Окей. Далее такой вот вопрос интересный. Допустим, у нас есть некая такая база.
124: Конфигурацию разработали и надо сделать следующее. Там есть такая глобальная настройка. Использу используется ставка ндс или нет, а нет. Используется упрощёнка или не используется. К примеру, если стоит галочка, упрощён.
125: То везде, где есть поля для выбора, ставка ндс, это перечисление доступно только для выбора значения без ндс. Если же этой галочки не стоит, то можно выбирать там ставка 20%.
126: 10% и так далее. Ну, такой упрощённый вариант лайтовый. Ну вот как бы нам так сделать, чтобы вот именно для выбора, при глобальной настройке определённой, да, можно было доступно только без ндса или, к примеру, доступны были вообще все варианты.
127: Я бы сказал, что это как-то делается с помощью функциональных опций.
128: Ну, функциональные опции там, да, наверняка нужны. Ну, я вот сейчас пытаюсь придумать, как это сделать, чтобы там разное значение перечисления было. Мне пока в голову ничего не приходит. Сейчас, значит, функциональные опции. Окей, да, мы там можем
129: Включить, выключить, да, эту настройку.
130: А вот что за нет, я не придумаю, я не отвечу на этот вопрос. В перечислении в модуле менеджера используем обработчик событий, данные выбора и там как раз
131: Сможем указать, что будет доступно благодаря этой глобальной настройке. Кстати, вот хорошая заметка для программистов, потому что я 1 раз такую настройку сделал. И 1 программист 2 дня потратил на то, чтобы понять, где эта настройка делается. Не позвонила, но тем не менее. А, спасибо.
132: Я украду, я потом на курсах буду показывать. Окей. Да, вообще без проблем. Вот как определить, программно подчинён регистратору регистр сведений или нет?
133: Ну, мы можем просто обратиться к коллекции метаданных, метаданные, верно, сведений там это если совсем по простому, если посложнее, можно обратиться к полю регистратора, посмотреть, какой там тип.
134: Значение. Ну это как-то не, не кошерно. Вот. Окей. А что такое определяемые типы?
135: А это сложная штука, потому что все пытаются из неё сделать что-то, что им как бы удобно и здорово определяемые типы, они предназначаются для трансграничных операций между разными базами, чтобы
136: В разных базах могли быть разные типы, но назывались они одинаково. Все верно, но многие думают, что мы сейчас сделаем реквизит, определяемый тип. Количество, длина 12, точность 3, и везде его проставим оно
137: Не для этого, нет, абсолютно не для этого согласен, но тем не менее, на самом деле это полезная штука даже вот для этого, потому что частенько даже бывает на проектах.
138: Разрядность необходимо увеличивать. То есть обычно количество 3 знака после запятой, но вот у меня в 1 год через раз прям шло то, что надо было до 5 ставить. Попробуй это применить к определяемым типам. Вот это будет
139: Да, это уже другой, другой вопрос, особенно если в запросах через выразить используется и так далее. Но, тем не менее, это или изначально надо прям закладывать, как бы, ну, явно недоработка. Окей, далее.
140: А общие реквизиты для чего нужны? Что это такое общие реквизиты? Угу. Ну, если честно, они были сделаны для облаков. Угу. Не более того. То есть, например, в версии 7 7 были общие реквизиты, которые реально были
141: Общий реквизиты, там создали сумму у документа. Вот она у всех документов появилась, там во всех табличках все это сделалось, когда вышла восьмёрка, все говорили, а где общие реквизиты? А как сделать общие реквизиты и разработчики говорили, это вот прямой текст. Я, я, может, совру там
142: В словах, но смысл будет правильный. Вам нафиг не нужны общие реквизиты. Контролируйте все руками. Прошло несколько лет, лет так 10. И разработчики сказали, вот вам общие реквизиты. Зачем? А чтоб можно было
143: Во всех таблицах добавить новую колонку. А зачем это нужно сделать? Молчали, чтобы разделитель у нас был разделение, кроме этого, общие реквизиты использовать не стоит ни для чего. Да, и именно вот 2 пункт условий как раз люди обычно
144: Пропускает мимо ушей и использует его как, а давай создадим реквизиты организации. Да, да, это есть такая боль. Окей. Так, ещё пару таких вопросов. Потом поинтереснее пойдут все-таки, что такое параметры, сеансы и где устанав
145: Его первоначальное значение. Параметры сеанса устанавливаются в модуле сеанса. Это корень конфигурации правой кнопочкой, параметры сеанса устанавливаются либо при старте системы, либо при 1 обращении к ним вызывается соответствующий обработчик события в
146: Для сеанса. Угу. А зачем они нужны? Это как некие глобальные переменные, которые мы можем использовать вот в этом вот сеансе. Понял, чем могут быть нам полезны параметры сеанса при работе с рлс?
147: Ну, мы можем оттуда брать, кто работает. Угу. С системой, то есть, как данные для отбора, да, мы можем брать, ну, там, ну, наверное, да, вот как данные для отбора можем брать. Мы можем эти данные взять. Вот, к примеру, у нас ест.
148: Параметры сеанса текущий пользователь. Ну, допустим, да, как мы его в рлс использовать будем? Как обратиться к этому параметру сеанса сант текущий пользователь, потому что параметры сеанса это и есть у нас, собственно говоря, параметр одноимённые, которые мы можем
149: Через амперсант просто обратиться. Да, понял. Хорошо. Так, немножко по обменам. Ну, начнём с простых вопросов. Нет, не так много. На самом деле в составе плана обмена есть авто поле.
150: Свойство авторегистрации, она может быть запрещена, а может быть разрешена. В чем разница? Начнём так немножко с малого такого не знаю. Да, да, серьёзно. А мне помнится, кто-то статью писал, а кто-то, вот понимаешь, как, как
151: Не читатель, а писатель. Написать то я все, что угодно могу свойства авторегистрация. Нет ответа. Да? Ну, давай ещё раз. Я просто, я не вижу платформу. Может. Окей, к примеру, есть план обмена? Угу. Есть в нём состав?
152: Состав объектов, которые должны быть. Все, я понял. Значит, в планах обмена если стоит галочка, авторегистрация, то там создаётся новая таблица, в которой регистрируется любое изменение объектов, добавление, изменение, удаление.
153: И потом, при следующем отправлении пакета изменений в какой-то узел, все это оттуда можно будет выбрать. Вот это авторегистрация. Понял? Хорошо. Так, да.
154: К примеру, в состав плана обмена включён документ, авторегистрация ему запрещена. И такой пример, вот я, к примеру, это открываю документ, начинаю вносить изменения в любой реквизит. Ну, к примеру, пускай будет поле.
155: Для простоты внёс изменения, нажал записать. Я на самом деле изменил документ. Другой вариант. Я открываю этот же документ примерно в то же самое поле, начинаю вносить изменения. Передумал, вернул как было, нажал записать. По факту я ничего не поменял. Так вот где и как.
156: Мы определим, новый он или нет, изменён он или нет и где и как мы его зарегистрируем, если он изменённый или новый, при этом как бы считаем, что ссылки на узлы мы уже знаем.
157: Я сейчас отвечу, скорее всего, правильно, но я не в теме. Если честно, значит, смотри, скорее всего, это будет регистрироваться у нас, у нас есть событие, там при изменении объекта мы можем сохранить историю.
158: Мы можем получить историю объекта из таблички, видимо, там это сохранится физический уровень, не знаю. Ну, давай не будем, да? Ну, к примеру, где и как мы можем определить новый объект, или
159: Изменён, к примеру, обратиться к плану обмена, получить данные плана обмена для для неё в плане обмена он ещё не зарегистрирован.
160: Надо понять именно. Вот смотри, я взял документ, нажал, внёс изменения, нажал записать, да? Угу. И вот в этот момент как-то надо определить, новый он или нет, изменён этот объект или нет записи. Вот. А где?
161: Ну, модуль объекта до записи. То есть это, это обработчик, это обработчик перед записью. Мы там можем проверить, ссылка это новый там или каким-то другим способом, да, так можем сделать. Изменён.
162: Или нет, вот, к примеру.
163: А это у формы мы можем сделать? Я программу меняю примерно тогда документ.
164: Слушай, не знаю. Нет, ты знаешь, может, я знаю, перед записью мы можем объект ссылкой проверить, используя, например, те же самые метаданные.
165: Ну, мы можем из базы, конечно, получить объект как прикладной объект, сконвертировать его, прочитать и сравнить, конечно, да, это можно, но это как-то очень неправильно. Ну, это к разработчикам бсп тогда тоже вопрос. Ну, это как?
166: Другого варианта пока на самом деле от можем, но это как бы некрасиво. Ну ладно, ну и другого варианта тоже нет. Вот. Окей. А как зарегистрируем и где, где и как зарегистрируем, как
167: Ну как обращаемся к плану обмена, к узлам, с которыми мы обмениваемся, добавляем туда строчку, собственно говоря. То есть план обмена, точка зарегистрирует изменения. Ну, как-то так, да, сейчас вот, а это мы где делаем перед записью, при записи
168: Лучше, конечно, после записи, когда объект уже записан, чтобы не было уже никаких вариантов, что объект не будет записан. То есть, когда транзакция у нас завершилась после записи, вот это лучше, да, а если я, например, хочу сделать это
169: Перед записью. А зачем? Ну, приспичило.
170: Ну, тогда хорошо бы объявить явную транзакцию и все это в транзакции фиксировать. Н, при записи в модуле объекта при записи, да, мы это можем. Другой вариант есть. Можно сделать перед записью только план обмена.
171: Зарегистрировать изменения явно не подойдут, потому что если, например, объект новый, то система выругается. У каждого объекта есть свойство обмен данными. У обмена данными есть свойства получателя, коллекция узлов. Вот туда мы можем
172: Поработать с массивом. Мы можем туда добавить ссылки на узлы и при успешной транзакции записи. А мы уже все поняли. У меня тут провал. Да, хорошо, ладно, спасибо тебе за, за, за лекцию. Слушай, я теперь точно
173: Спать. Вот такой момент в типовых конфигурациях авторегистрацию запрещают для многих объектов. Почему
174: Не знаю, твоей статьи прям не знаю. Да ладно, я у тебя тогда спёр эту статью.
175: Авторегистрация. Давай разберёмся тогда, о чем мы говорим. Вот, к примеру, у нас вот типовая есть конфигурация, у них есть, к примеру, планы обмена, да? Угу. В состав включены всякие объекты и авторегистрацию у них запретили, ну, чтоб как бы программно регистрировать их. Угу.
176: Вот зачем они запрещают эту авторегистрацию, как бы, чтоб самим регистрировать, а не платфо на уровне платформы. Зачем они это делают? Как бы, ведь, к примеру, допустим, справочник страны мира.
177: Справочники, валюта. Понял. Так, авторегистрация. А вот почему в типовых обычно авторегистрацию запрещают?
178: Хоть убей, не помню.
179: Я не знаю, давай вот, вот так. Статья, прямо статья, да, мне уже не 1 человек говорил, что ты же вот там вот это же рассказывала. Ага, это связано с тем, чтобы исключить излишние транзакционные блокировки, то есть, когда
180: Регистрация разрешена. Дополнишь? Вот.
181: Вот. Да, да, да. Подожди. Мысль пошла. Так, ага.
182: Чтобы исключить транзакционные блокировки, взаимные транзакционные блокировки, чтобы делоки убрать. Угу.
183: А дальше не помню. Вот, ну, там получается, как у нас, когда мы объект созда, добавляем в любой омена, для него создаётся таблица изменений, в таблицу изменений последовательно записываются объекты, когда записываются, происходит транзакционная блокиров.
184: Чтобы излишней вот этой ционной блокировки не было, авторегистрацию запрещают и регистрируют только в том случае, да, если он подошёл, к примеру, по условиям отбора, если условий отбора нет, то проверяют, вообще он изменён или нет. Если он не изменён, то смысл его регистрировать. Вот у меня, знаешь, у меня такое ощущение, чт,
185: У меня просто словарный запас какой-то очень ограниченный. Я тебя понимаю, я знаю, что да, то так и есть. Я просто это сказать не могу. Вот все, конец рабочего дня, так далее. Конвертация, к примеру, у нас есть что. Ну давай, задавай вопрос. Ну давай.
186: Ну, давай, у нас есть источники, есть приёмник. У обоих есть один и тот же документ. Структура метаданных у них идентична за 1 маленьким исключением в источнике на 1 реквизит больше, но этот реквизит нам.
187: Надо все равно выгрузить, чтобы при загрузке анализировать значение данного реквизита и запускать тот или иной алгоритм. Как нам это сделать.
188: Значит, если бы они были идентичны вообще, мы бы воспользовались обработочкой. Загрузка, выгрузка, иксэмэль данных. Ну да, через
189: Она очень, очень прикольная, да, очень удобная с точки зрения именно загрузки, выгрузки. Ну, в конвертации данных. Угу. Мы создадим правила конвертации данных, загрузим описание объекта метаданных источник.
190: И приёмника, так и дальше, видимо в каких-то правилах. Вот тут я путаюсь в правилах чего-то там мы опишем, как это чего-то там загружается, вот где-то там все другого ответа у меня не будет. Понял?
191: Конвертация для в правиле, для свойств, по моему, называется свойств. Вот, да, там источником указываем сам этот реквизит, а в виде приёмника уже свойства указываем, что передавать.
192: Не свойства, а передавать в параметр. Там я уже даже не помню как это называется. Потом параметр будет коллекция какая-то соответствия появляется при загрузке, при загрузке проверяем параметры если он тип соответствия
193: То мы можем обратиться к этому реквизиту как раз вот конвертации менять, таскать не будем. Ну, я правда, не знаю, конвертации. 3 раза тыкался, мышкой, врать не буду. Ну, там я, может быть, что-нибудь там интуитивно отвечу, но давайте признаем, что, ну, нет.
194: Давай запрос. Тогда вот мы обратились к физической таблице регистра накоплений. У него есть регистратор, регистратор составного типа. Необходимо сделать следующее. 1. Отобрать все записи, у которых регистратор является документом поступления товаров. 2.
195: Из регистратора необходимо вытащить реквизит, склад, да так, чтобы было оптимально.
196: Ну, во первых, нам, во первых, сама задача поставлена криво и так делать не надо. Ну, Бог с ним, ну, согласен, что измерение должно быть и так далее. Ну, вот так уж получилось, да, как бы задача есть задача, параметр там нужен.
197: Зировать через выразить, иначе у нас будет непонятно, какой запрос в итоге там будет соединение на соединение, на соединение. Ну и дальше. А что там нужно было сделать? Ну понятно. 1. Отобрать все записи, у которых регистратор является доку.
198: Поступления товаров, a2 star равно таблица вот такая-то условие мы можем поставить, а чтобы выбрать реквизит, нам нужно типизировать этот самый параметр, через точку обратиться там, да, мы можем. Угу. Хорошо.
199: Так в чем отличие между внутренним и полным соединением?
200: Внутренняя, это внутренняя, это поляну, данные из 2 таблиц, все, да? Ага. Как бы, и оттуда все, и оттуда все внутренние, только то, что по условию соединения есть в 2 табличках. Ну, точнее не в 2 табличках, а по условию соединения, там не только таблички могут быть. Понял?
201: Есть результат запроса. Необходимо его обойти. Можно через выборку обойти, а можно, например, результат запроса выгрузить в таблицу значения, а потом его обойти. Какой из этих методов будет более оптимальнее и почему подходов? Ну, смотря зачем. Угу.
202: За выгрузку в таблицу значений я обычно увольнял людей. Вот это как бы очень неправильно. Если нам нужно изменять данные, которые мы получили запросом, то таблица значений это да, если нам нужно прочитать данные, то только выборка
203: Выборка запроса, потому что она очень комфортно работает с оперативной памятью и не нагружает систему выгрузкой все ещё там в своп временных таблиц. Вот с помощью таблицы значений, да, а так как таблица значений это универсальная коллекция, любая универсальная коллекция, он
204: Только в оперативной памяти. То есть, чем больше, тем больше оперативной памяти. Причём на жёсткий диск ещё если 20000 строк, блин, выбрано, то да. Ну, знаешь, я видел оптимальный код, такой интересный в кавычках, конечно.
205: Люди, чтобы получить таблицу значений, аналогичную регистру какому-то получали все регистры, все записи регистра выгружали в таблицу значений, а потом эту таблицу очищали помарочка так делать не надо, да не стоит вот окей скд есть поле компоновки данных, номенклатура.
206: Тип, справочник, ссылка номенклатура. Основное его представление в виде наименования, как указано в конфигураторе. Вот, а нам надо, чтобы в данном отчёте для данного поля представление было как наименование. Скобка открылась, артикул, скобка закрылась. Как нам это сделать?
207: Опять-таки синтаксисом могу сейчас налажать, но где-то так у нас есть в свойствах скд у настройки поля схема компоновки данных вызов, функции, которая описывает представление, оно описывается в
208: Общем модуле и там в принципе можно сделать, ну, все, что угодно. Любое представление можно написать просто в поле компоновки данных, без всяких общих модулей можно сделать как-нибудь, ну, с помощью общего модуля можно сделать вообще все, что угодно. То есть любое представлении
209: Там сделать, а так.
210: Не знаю, наверное, можно как-то. Ну, то есть, в Полях компоновки данных есть колонка компоновки данных, выражение представления есть, то, ну, ну, точно выражение представления есть, да, выражение представления, да, там что-то такое есть. Угу. Вот. Там можно указать. Окей.
211: Есть 2 поля компоновки данных, контрагент и договор для наглядности. Выводим их в отбор в пользовательские настройки. Пользователь открывает отчёт и выбирает контрагента. А когда открывается форма выбора договора, то есть он хочет сделать ещё отбор по договорам, да?
212: То можно сделать только те отбор, только по тем договорам, которые относятся к данному контрагенту. А вот если контрагент не выбран, отбор не наложен, да, по контрагенту, то он может выбрать все договора, которые есть в базе данных для отбора, где и как мы это можем сделать.
213: Хороший вопрос. Я что-то вангую, что это тоже у нас в настройки Полях будет. Угу. Я просто не вижу. У меня не открыто 1 с, если что, вот вообще вообще ничего нету. Я пытаюсь так визуально.
214: Помнить это, это где-то в настройке Полях точно будет, как не знаю.
215: То есть, если так, чисто математически отвечать? Нет, ответа у меня нет. Но куда копать, если я открою 1 эс, я вот куда копать. Это более интересный момент. Ну вот, главное, чтоб человек всегда знал, нужно настройки полей, схемы, компоновки данных. Угу.
216: Данных есть колонка, параметры редактирования, параметры редактирования. Там как раз открывается палитра и там есть связи параметров выбора, связь параметров выбора. Точно. Вот. Ага. Вот. И вот разработчикам не стоит забывать.
217: Когда они разрабатывают отчёты как бы неуважительно к пользователям. Окей, опиши, пожалуйста, алгоритм следующее. То есть, а у нас есть какая-то таблица значений с данными, это необходимо вывести в отчёте.
218: Skd. Ну просто алгоритм, что нам нужно сделать? То есть прописать вплоть до строчки кода нам точно это не нужно, потому что я и сам не помню. Значит, смотри, алгоритм такой, мы берём таблицу
219: Значение, она будет у нас источником данных для skd. Угу. А для того, чтобы она была источником данных для skd, мы её обязаны загрузить во временное хранилище, иначе она не может быть источником данных для skd. Ну а потом, собственно говоря, запрос
220: Звёздочкой из таблицы значений, которая у нас как параметр прилетела и все, почему нет. А набор данных запрос делал набор данных? Нет. Смотри, у нас есть набор данных. Запрос тогда
221: Через временное хранилище это все можем поместить и есть набор данных объект тогда в набор данных. Объект у нас объектом будет как раз-таки таблица значений. А вот слушай, я не работал с этой штукой, я не знаю как, как синтаксически там данные вытяги
222: Там я догадываюсь, что там все элементарненько, но очень элементарно. И вот лучше, наверное, использовать все-таки набор данных объект. А вот набор данных запрос, я, по моему, понял, откуда мне прилетают кандидаты такие, я не показываю, как работать с теми
223: Штуками, с которыми я не работаю. Окей, это не от меня, это от других. Ну, это, то есть параметры, то, что запрос передавать, как бы это, да, можно, но параметры, да, но это 1 просто, что на ум приходит, потому что когда у нас нет скд, мы именно так и делаем, да, когда скд прилетает там,
224: Объект есть. А что это за объект? Да? Ну его нафиг. Давай мы сделаем ляп ляп и готово, как говорится, так и так, да. Ну, потом всякие вот такие вещи приколы начинаются. Вот. Окей. Есть у нас пример, есть отчёт товары на складах, мы туда добавляем параметр.
225: Фио тип строка. Выводим его в пользовательские настройки. Пользователь открывает отчёт, забивает в это поле в этот параметр своё фио, к примеру, Вася пупкин и нажимает сформировать. Формируется отчёт товара на складах, а снизу должно выйти место для подписи. К примеру, ответственный прочерк Вася пупкин.
226: Как нам это сделать? В скд? Пользователи разные, пользователи разные. Именно поэтому мы параметр указали тип строка и просто вывели в пользовательские настройки. Пользователь сам открывает отчёт, забивает любую свою фамилию.
227: Нажимает сформировать. Я понял, да, то есть у каждого пользователя своя подпись в отчёте. Да? Окей. На скд. Окей. Угу.
228: Во первых, можем использовать хранилище настроек данных формы.
229: Ну, вариант, да, для удобства, для того, чтобы хранить для каждого пользователя вот какое-то там значение. Ну да, чтобы каждый раз не вводил, да, чтобы он каждый раз не вводил. Угу. Мы можем использовать параметры скд.
230: Почему нет, значение которого мы будем устанавливать программно и выводить его в подписи, там в виде макета, там, в макете, нарисуем ему ячеечку, верно? То есть market используем r. Понял? Хоро.
231: Далее, допустим, мы через запрос в скд, то есть создаём набор данных запрос, и у нас такой есть запросик, где мы обратились к таблице справочника контрагенты и соединяем его с регистром сведений.
232: Например, контактная информация, откуда мы берём путём отбора, выбираем поле, адрес. В итоге у нас будет 2 поля, компоновки данных, контрагент и адрес. Угу. Но надо сделать так, чтобы, когда пользователь, к примеру,
233: Отбора в skd и так далее. То вот pole адрес он видел не как отдельное поле от контрагента, а именно как подчинённое, как будто бы это реквизит справочника контрагента, ну, как наименование код и так далее. Вот как нам это сделать? Ну,
234: Я так понял вопрос про план видов характеристик. Да нет.
235: Поле компоновки данных это 2 поля компоновки данных и в Польских настройках. Ну вот надо, чтобы, как он реквизит выглядел у контрагента в польском, этот в польском режиме.
236: Например, если мы из 2 источников, к примеру, вытащим, например, контрагента в другом, вытащим адрес и просто так оставим, то в Полях компановки, да, там, где делают выбранные поля, или группировки, или отборы, к примеру, адрес и контрагент, это будет 2.
237: Отдельных полей друг друга независящее. Да, вот она, смотри, мы можем создать группу полей в настройке скд. Это можно сделать явно, то есть создав папочку и туда поместив, собственно,
238: Угу. Элементы. Либо можно сделать неявно, если мы просто будем использовать наименование, точка и ещё что-то. И вот наименование это будет. Если оно 1 будет, то неявно создастся тоже группа вот как бы объектов.
239: Грубо говоря, контрагент. Точка. Адрес в пути укажем. Да, верно. Так, окей. Дальше есть регламентные задания, есть фоновые задания. В чем между ними разница и какое взаимодействие между ними?
240: Одни иногда работают, другие никогда не работают. Регламентные задания это шаблоны для создания фоновых заданий. Угу. Ну, то есть все, что они делают, они запускают фоновые задания, то, что должно пинать систему. И, собственно говоря, что должно выполнятьс.
241: То есть здания это вот календарик у меня на стене, а фоновые задания это то, что я должен сделать сегодня. Прям вот вообще. Угу. Понял. Что нужно сделать, чтобы мы могли производить отладку программного кода, который
242: Выполняется фоновым заданием. Если у нас работает сервер 1 с предприятий, нам нужно поставить флаг дебаг. Угу. Ну, иначе все будет плохо. Мы просто напросто, не, ну не сможем подключиться к процессу отладки. Вот, вот. И
243: Ага, а в конфигурации что должны сделать? Включить подключение к отладке? То есть к объекту, к объекту отладки должны включить автоподключение. Не помню. Хорошо.
244: Называется, но, но я помню где-то вот она где-то там вот есть все верно какие есть варианты выгрузки в формате xml.
245: Для меня это 1 формат, я знаю что есть канонический иксэмэль и просто xml не, я имею ввиду в плане того что вообще как мы можем формировать xml файлы с помощью каких инструментов вот как бы вот ну у нас есть объект.
246: Который называется запись иксэмэль. Мы можем сформировать файл программно. Ага. Мы можем стерилизовать какое-то значение в xml. Угу. Сходу не скажу. Вот тоже синтаксически есть.
247: Какой-то метод 1 строчкой пишется, чтобы вот объект он стерилизовался в xml прям и потом это можно как текст просто сохранить угу. Наверное все. Я других не вспомню, к примеру.
248: Вот в обменах мы, к примеру построчно получается пишем линейно да? Ну это мы к примеру мы прям читаем, считываем да, и так далее. А вот ещё какие-то варианты, вот как сформировать саму структуру xml файла и так далее. Ну,
249: У нас есть замечательная штука, которая называется x дто, с помощью которой мы можем описать структуру, точнее, классы объектов, оперируя которыми мы можем записывать данные, оперируя этими классами угу.
250: Вот, но врать не буду. Я с этим не работал. Я как бы в теории понимаю, что это такое, но практики у меня нет. Понял? А ещё все.
251: Есть ещё дом, крайне редко встречается тот же самый x дто, только по сути да, это можно сказать, что чуть ли не прородитель он раньше появился в разы и крайне редко сейчас встречается, кстати, сервисы яндекса.
252: До сих пор домом пользуется. Есть такой момент. Вот. Окей, не знаешь, что такое сдт? Пакеты? Давай, давай. Есть экст пакет, в нём есть свойства. Необходимо, чтобы данное свойство
253: Всегда имела тип список x дто, что мы должны для этого сделать, я не знаю, я не работал с x то пакетами серьёзно только лишь смотрел вот какие-то обучающие видео опыта нет, поэтому ну, наверное, я не скажу, это провал в моих знаниях.
254: Веб сервис аштипи сервиса. К примеру, что нужно, чтобы опубликовать веб сервис и аштипи сервис. Такой вопрос нужно, чтобы был подключён веб сервер, то есть он установлен. Мы дол
255: Должны опубликовать информационную базу на странице публикации в веб сервере. Угу. Чтобы там у нас была ссылочка, это всль, файл, если я правильно помню, называется это описание того, что будет запуска.
256: И нужно обязательно установить платформу с признаком дополнения к веб сервису как-то так называется. То есть там компонента дополнения к веб сервису. Причём устанавливать это нужно после того, как уже установлен веб сервер. Понял?
257: Как мы можем определить, есть ли некая операция в веб сервисе, к которому мы обращаемся программно и сразу говорю, веб сервис опубликован в другой системе, то есть даже вообще не на 1 Эске? Не знаю о
258: Ну, там на самом деле есть у прокси сервера есть свойство точка подключения, а там есть свойство интерфейс, да, вот. И оттуда мы как раз можем посмотреть, какие есть методы используются или нет. Окей, можем
259: Ли мы через веб сервис возвращать двоичные данные.
260: Если честно, не знаю, но мне кажется можем почему x base 64 по вот вот вот да вот вот эта штука мне в голове как раз-таки есть, но я не знаю как я ни разу это не делал, понял, в запросах используется констру.
261: И разрешённая, для чего она нужна, конструкция разрешённая, она позволяет исключить те строки таблиц баз, данных к которым доступа у нас нет, и мы получаем данные, как будто бы закрыв глаза на то, на что нам
262: Смотреть нельзя. Угу. Хорошо. Так далее. Что такое команда и группа команды?
263: Command равно кнопка для пользователя для нас это равно какая-то штука, с помощью которой пользователь может воздействовать на в интерфейсе, на что-то она может выглядеть в виде кнопочки либо в виде гиперссылки группа команд это логическая.
264: Образование команд в 1 каком-то месте интерфейса для того, чтобы пользователь не путался. Ну, чтобы вот у него там вверху, справа вот были такие группы команд в разных документах, они могут меняться там, но вот они всегда вот там вот эта группа команд, понял?
265: И, а для чего нужны функциональные опции? Ой, это прикольная штука. Мне очень нравится функциональные опции, они нужны, чтобы вот как называют управляемые формы, да, вот у нас сейчас управляемые формы. Угу. Мне очень нравится, чтобы их мне
266: Очень хотелось, чтобы их называли неуправляемые формы, а адаптивные формы, но они же неуправляемые, е моё, они неуправляемые вообще, они адаптивные, они адаптируются. И вот из за чего они адаптируются, это как раз-таки 1 из 3 вариантов.
267: Почему они могут там менять свой вид? Это как раз-таки функциональные опции. То есть у нас есть где-то хранилище. Угу. Значение опции истина, ложь показывать или не показывать. И в зависимости от него у нас, когда форма конструируется, она либо
268: Отображает реквизит, кнопочку или там поле либо не отображает. Вот это функциональная опция. Верно? Так понимаю, это одни из любимых твоих вопросов на собеседовании. В чем отличие между справочниками и планом видов?
269: Характеристик ни в чем. План видов характеристик это справочник. У него, правда, у этого плана видов характеристик есть только 1 дополнительный реквизит, который называется тип, в котором хран.
270: Tip, описание типов значений, которыми будут типизироваться те, те, другие типы значений, которые будут от него зависеть уже потом, когда мы его присоединим к другим объектам, он не может быть подчинён, да.
271: Ну да, ну да, это мелочи. Вот, окей. А вот, к примеру, такой момент в окне редактирования планы видов характеристик на закладке основные есть 2 поля, то есть тип значения характеристик.
272: Где мы можем указывать различные типы, там примитивные ссылочные типы, да, а также есть поле, дополнительные значения характеристик, к которым мы можем добавить только справочник, ссылка и там какой-то справочник, наименование, да и то не все справочники, что нужно сделать, чтобы
273: Можно было добавить какой-то определённый справочник в дополнительное значение характеристик.
274: Ну, он должен быть подчинён плану видов характеристик. Отлично. Вот. Ну, в целом, у меня вопросы все закончились. Итак, Ренис, вот я смотрю, что у меня есть проседания по некоторым там.
275: Угу. Например, по работе с обменом данными. Я вижу, я с этим, правда. Ну, не работал, точнее, работал, но очень мало. Если мне надо, я, конечно, сяду, там, изучу вопрос, подниму диски, итс, залезу на разные сай.
276: Там дёрну коллег, и они мне помогут, и я эти знания подтяну, ну, чтоб было все как-то более более структурировано, да, мне кажется, что можно пойти там, потратить, лучше потратить, там 5 часов на
277: Курсах. Вот у нас в учебном центре есть курс. Я, если честно, на него даже ходил, но это было давно практики нет, я все забыл. Вот честно скажу тебе, но мне кажется, что это очень такой эффективный способ пойти посмотреть, как, какие обмены данными бывают там.
278: В том числе, там не только же платформенные обмены данных, да, то есть у нас там есть и веб сервисы сейчас вот, да, появились там, http, я могу обмен данными реализовать в виде внешних файлов, там каких-то.
279: В виде там дбф. Вот, да, там какой-то могу загрузку из экселя реализовать. Это, кстати, я умею делать, если что, да, это я умею. Причём так как мало кто умеет там через специальный механизм. Вот если интересно, поделитесь. Ага, хорошо.
280: Есть же конвертация данных, да, причём конвертация данных, их есть 2 абсолютно разные конвертации данных. Это двойка и тройка. Абсолютно не похожи. Они там для разных штук есть. Вот у нас, например, в учебном центре есть такой курс, в котором это все показывается.
281: Ребята, сейчас мы научимся, чтобы 1 с дружила с чем-то ещё там не только с 1 с, а вот вообще ещё с чем-то там, хоть с сайтами, хоть с чем. Вот мне кажется это, это здорово. И просто ещё, что я вижу, вот у меня есть проседание.
282: Там, ну вот если можешь, покажи там мою карту компетенции, сейчас посмотрим. То есть понятно, что не бывает мега супер универсальных людей, это понятно, да, у нас у всех есть какие-то
283: Свидания, но из за этого мы стоим по разному на рынке труда, по совершенно верно. И вот какие-то компетенции, если они требуются работодателю их подтянуть очень быстро хочется, да, это, ну, книжки это здорово, но я вот на ночь, если начинаю читать какую-то мудрую книжку,
284: 1 с. Это идеальный способ, чтобы заснуть. Правда, лучше, когда тебе кто-то что то говорит. Лучше, конечно, это очно, но сейчас вот очно у нас не получается работать, мы все сидим там по домам и, к сожалению, ну да, заочно, да, вот.
285: Ну, в целом, сейчас, получается, по знаниям немножко, да, то есть, немного управляем формы, ну, по мелочи немного скд, ну, и связана больше именно вот с обменными данными. То есть, погоди, погоди, ты хочешь?
286: Что у меня проседания по управляемым формам. Там маленький маленький Затык был маленький Затык, там маленький косяк такой был. Только вот он просто это на уровне погрешности в видео или нет. Но да, спасибо. Программирования.
287: Хорошо, давай уберём из видео. Вот. Ну, пускай будет окей. Ну, по большей части связано с обменами. И на сегодняшний день, как бы, сколько собеседую? Уже разработчиков процентов 20 только из кандидатов знает. Хорошо. Обмены. Вот.
288: На сегодняшний день идёт очень большая потребность в интеграции. Это те же самые аштипи сервисы, те же самые планы обмена, конвертации. Сейчас очень много происходит внедрений, переходов, и все они начинаются именно с написания правил обмена по переносу данных.
289: И так далее. Сейчас очень хорошо начинает развиваться веб технология ещё сильнее. То есть благодаря пандемии многие компании сейчас свои торговли переводят на онлайн.
290: Значит, нам по любому надо будет интегрировать это все сайтами, и тем самым потребность сейчас очень такая высокая. Вот, да, действительно, я как бы сам сертифицированный преподаватель именно по 1 ске, да, по платформе, там и по интеграции, и я на самом деле
291: Рекомендовал этот курс, да, там не все указано, но, как всегда, я говорил, лучше знать, что есть такой механизм, и знать, куда посмотреть можно, чем не знать о нём вообще. Вот просто даже такой момент, что когда у людей спрашивают,
292: Где хранятся изменения об объекте, да, все начинают говорить, что это регистр сведений, что-то в этом Роде. Ну, это неправильно. Вот как зарегистрировать объект, как бы люди тоже зачастую как бы не знают, как именно.
293: Правильно сделать, как оптимальнее сделать. Это очень важно, потому что сейчас очень много у нас, к примеру, клиентов, которые действительно, там базы, там по 2 терабайта, по 3 терабайта, у них там ходят обмены. И вот эти все тонкости надо знать, чтобы оптимально
294: Написать программный код. Вот сейчас очень большая, ееще вклинюсь, да, вот у нас в собеседовании не было проверки мобильной мобильной платформы, у нас есть мобильная платформа, есть мобильный клиент, и там тоже обмены, они просто, ну вот туда
295: Втекает просто очень хорошо. Ну, ну, мобильный. Ладно. Ну, там настройка веба должна быть. Мобильное приложение, платформа. Если у нас мобильное приложение отдельно работает, то с обменами там тоже очень, очень, очень интересно. Зачастую, кстати, вот мобильный
296: Приложение, если даже смотреть действительно там x дето, пакеты, аштипи, сервисы, веб сервисы и плюс ко всему есть маленькие особенности этих мобильных приложений. Там все-таки очень хорошо. Надо знать, как работают те же самые фоновые задания, потому что
297: Там зачастую все очень, очень много механизмов, которые работают в фоне вот. И вот эти механизмы надо будет изучать, даже взять вот, к примеру, 1 s заказы, как просто для примера, для шаблона, там очень много примеров, действительно, как работают фоновые Зада.
298: И действительно, там не так все сложно и удобно с ними работать, да, главное механизм, да, да. Ну, тот же самый пример, бесшумная интеграция с документооборотом, там же идёт веб сервисы икс пакеты опять, вот там все.
299: Построено на этом, то есть никакой там магии по сути нету, там вот веб сервисы и как бы x то пакеты используются, вот в управлении холдинга есть опять же так называемая бесшовная интеграция, там идёт com соединение, там же идут опять обмены.
300: Файрики, ну вот, то есть сейчас интеграция, она везде и интеграцию действительно нужно подтягивать. В целом, если кандидат подтянет эти знания, то я думаю про тысяч на 20 он себе зарплату.
301: Можешь поднять. Благодаря этому только я че то вот уже захотел прям это пойти. Сейчас моё руководство увидит, скажет, ага, не пустим мы его на курсы, хотя придётся платить больше. Ну, самый простой пример. То есть, когда я проше
302: Полный весь курс от 1 с там основные объекты до интеграции. В принципе я себе заработную плату поднял в 2 с половиной раза я себе сэкономил время где-то на 2 3 года вперёд. Я мог бы это сам изучать и так далее. Книжки пытаться штудировать.
303: Такого эффекта бы не было. Смотри, тоже ещё такая очень вирусная тема. Угу. Я же как бы, как вроде человек, который там и курсы читал по подготовке к аттестации там. И вот тут ещё
304: Учебном центре номер 1 работаю и там экзамены, экзамены, все очень ругают экзамен 1 специалиста. Что они за ерунду какую-то проверяют? Я вот не пользуюсь там расчётными механизмами. Нафига они мне нужны, ребят, если вы не знаете, что такое расчётный механизм?
305: В принципе, и вам прилетела какая-то задача, вы будете изобретать велосипед, совершенно верно. Механизм изучить этот вопрос. Все будет хорошо. Вот просто хотя бы знать, как этот механизм работает, что он есть, да, там вот, ну,
306: Я, например, про платформу знаю многое. Вот сейчас я вот тебя Ранис, спрошу. Вот мы поменяемся местами чуть чуть. Давай попробуем. Давай ты с механизмом прогнозирования работал в системе? Слушай, вот честно, ни разу таким не столкнулся. Вот.
307: 1. Нет, 2 человека только с кем я общался, знают, как работает этот механизм. А это крутая штука, с помощью которой можно спрогнозировать, какие товары нужно, с какими товарами продавать, например. Да, да. И вот, вот мы же не знаем, что этот механизм
308: В принципе, есть он, он не визуальный, он не приклад, ну, как говорится, на дереве метаданных. Ну да, да, но он есть. То есть мы можем там линию тренда построить, увидеть, сколько доллар послезавтра будет стоить. Ну, плюс минус километр там, конечно, вот такие курсы тоже, кстати.
309: Есть. Ну, даже сейчас момент в том идёт, что многие компании очень хорошо задумались о логистике. Таких компаний очень много создаётся. Они пытаются копировать, например, небезызвестный вайлдберриз, да, то есть её
310: Достижения в логистике и так далее. Как бы, и там опять нужны прогнозы те же самые, да, да, на 1 с, это много чего можно реализовать, это есть, оно работает. Ну, но вот там я видел.
311: Решение именно по прогнозированию, которые были описаны в модулях. Вот прям вот логика, вот чуть ли не на вижул бейсике, да, вот это вот там все человек описал, господи, там строится матрица, туда нужно передать 1 табличку, она тебе вернёт другую табличку, все, механизм простой, как пробка.
312: Но мы не знаем, что он есть, не знаем, поэтому и не работает. И вот, если честно, я чувствую, что я тоже не знаю ещё каких-то механизмов. В последнее время их очень много на самом деле появилось, я где-то поверхностно их пробежался по ним, не стал.
313: Вот так, чтобы детально все посмотреть. Ну, в основном сейчас, вот как ты правильно говоришь, все, что связано с интеграцией и внешним, ну, 1 с, и друзья, как говорится, да, вот, ну, да, кто-то, кто-то извне, и + 1 s, там, в том числе, там всякие эти, ка,
314: Да, там это обязательно и удалёнка, конечно, она сейчас очень, очень сильно повлияла на развитие платформы, она, она повернулась в сторону именно веб технологий. Да, да. Ну, кстати, вот сказать, интеграцию, если, то на 1 с, к примеру, есть люди
315: Который пишет собственный так называемый тонкий клиент, да, то есть там, используя java скрипты, они пишут свой интерфейс для 1 са. И в целом люди готовы платить за эти технологии, я знаю 1 человека.
316: Который создаёт такие интерфейсы, грубо говоря, там за 8 часов 200000 может поднять. Вот просто личный кабинет делает интеграцию с 1 ской, как бы, да, под клиента именно 8 часов.
317: Отрабатывает 100, 200000 себе забирает. Да, конечно, java скрипты надо изучать, там надо знать, аштипи, сервисы, вот, и саму 1 ска, вот, то есть вот добавьте чуть чуть джавы поизучать, да, цсс, вот эти все, и вы можете
318: В целом, как бы за 8 часов работы заработать 200000. Это хорошая сумма денег. Да, у нас, кстати, есть такой проект. Называется клуб программистов для детей. Там изучают джаву, к примеру, частенько спрашивают, зачем нам вот эти ваши галочки, в общем,
319: Модулях, да, вот приведу простой пример. У нас на 1 проекте, там другая ещё команда тоже была. Создали распределённую информационную базу. Ясное дело, там создали подписку, создали подписку на события.
320: Модули для того, чтобы регистрация происходила. И вот у этих общих модулей они поставили галочку сервер. Только вот когда решили интегрировать эту основную базу с управлением холдинга, через ком соединение, ясное дело, эти ошибки, посы.
321: Потому что эти общие модули не работают с внешним соединением. Для того, чтобы внести изменения, это необходимо было порядка 20 филиалам внести изменения, ну, в распределённую информационную базу. Причём там люди все работают, пришлось эту работу оставить.
322: На ночь, чтоб внести изменения, передать всем. И только после этого была интеграция с управлением холдингом. Вот, то есть вот какая-то мелочь, а вот она действительно останавливает работу. То есть эти мелочи лучше бы изучить, на самом деле их все
323: Очень просто. Многие вещи рассказываются на основных объектах, потом на оперативном учёте. Вот даже если вы не хотите изучать бухгалтерию, расчётные задачи, но изучите основные объекты, изучите оперативный учёт и посмотрите немножко запросов. Запросы тоже полезная штука.
324: Запрос, кстати, вот я тоже 1, 1. Ну, это не байка, это реальный случай. Ну, как бы в нашей стилистике, куда уж мы скатились. Да, я знаю 1 организацию. Работает 40000 человек, отдел.
325: Программистов занимает отдельное здание, и они работают на 1 с база измеряется терабайтами. Я даже не буду говорить, сколько не десятками, даже терабайтов я не буду уточнять. Ну, короче, все очень серьёзно. Вот. И
326: Там тоже распределённые базы данных. Обновление происходит. Я не буду говорить, в какой день. Ну, в 1 день недели происходит обновление, когда вот все программисты компилят все, и оно полетело. Коллеги, изучайте запросы. Это, это очень важно. Вот есть. Так.
327: Даже частенько, к сожалению, в отраслевых решениях такое бывает. Документ открываешь, и че то открывается там по минуте, по 2, может даже открываться простой документ. Начинаешь смотреть в запросе, просто вот не, там условия поставили, все, ну, сейчас 3 пары документов, все нормально.
328: Когда их там 1000 идут. Да, да, да, у нас, слава Богу, сейчас появились расширения, можно бакфиксы делать с помощью расширений, там, ну, довольно быстро они там, ну да, как бы могут разлететься. А вот когда произошёл этот случай, то там, как бы, до следующего обновления, то есть неделя
329: Это, ну, я помню, как я всю ночь сидел, исправлял как раз такие подобные моменты. Вот в целом, конечно, опять же, порекомендую все-таки проходить курсы, основные курсы, там основные объекты, оперативный учёт, бухгалтерский.
330: Расчётная чисто для себя. Хотя бы, кстати, в бухгалтерских задачах очень хорошо рассказываются именно транзакционные блокировки. Тоже очень полезная штука. На самом деле. Вот дальше те же самые запросы это по сути, виток.
331: Объектов идёт и потом интеграция. Если вот это все пройти, ну, грубо говоря, по 8 часов в день. Если даже пример сидеть, это полторы недели, если сидеть по несколько часов в день, это получается месяца полтора, ну, всего полтора месяца, но вы экономите года 3.
332: Наперёд. Очень много компаний сейчас появилось, где нужны именно разработчики, не нужны. Там не нужно, чтобы там он консультировал, обучал пользователей, именно занимался разработкой, причём профессиональной. Очень много крупных сетей появилось, где нужны именно такие разработчики требования к ним, выдвига.
333: Высокие, но при этом и заработные платы, они одни из самых высоких в России. Вот. Так что в целом, как бы сейчас рынок нуждается в разработчиках 1 с и вот в грамотных именно специалистах. Так что не смотрите на то, что там, зачем мне это
334: Галочки и так далее. Они нужны, они всегда встречаются, особенно если вы разрабатываете по 8 часов в день, именно действительно разработкой занимаетесь, не доработкой какой-то типовой конфигурации, там отчёте поправили, здесь поправили, то все эти галочки и так далее. Вы их будете их ими пользоваться. Вот.
335: Ну и в целом, сейчас разработчик 1 с очень хорошую заработную плату получает. Я знаю, что вот сейчас появились уже вакансии архитекторов в Москве и как бы, которым предлагают по 350000 на руки белыми. Это в целом хорошая.
336: Заработная плата. Ну вот, ну как быть архитектором? Ну, в 1 очередь, это хороший опыт знаний, опыт иметь, да, и хорошие знания иметь. То есть знать, как платформа работает, как она себя ведёт, для чего каждая галочка нужна. Вот благодаря этому только вы сможете выстраивать действительно,
337: Правильную оптимальную архитектуру. За это люди готовы платить очень хорошие заработные платы. Вот, Павел, добавишь что-нибудь? Можно? Можно я резюмирую? Тогда? Вот давай, коллеги, не зная механизм
338: Вы им пользоваться не будете, нужно хотя бы знать, чтобы этот механизм был. Ну вот что он есть, даже если вы его не знаете, но вы знаете о том, что он есть, вы его изучите за какое-то время, за быстрое или долгое, с помощью курса, с помощью книжек. На самом деле это не столь важн.
339: С помощью курсов. Это интереснее. Перед вами стоит человек, который там прыгает, бегает, что-то там руками машет. Это просто интереснее, чем там по книжкам ещё что-то это, это здорово Ранис. Правильно я понимаю, что интеграция и обмен данными сейчас это
340: Очень, очень востребована спрос растёт в этом у большого количества людей процентов 20 только. То есть в целом в этой области net конкуренции как бы изучите и будьте вне конкуренции, да, то есть основные механизмы посмотрели.
341: Смотрели обмен данными. Ну, естественно, прокачали себя в запросах. Вот это минимум, который ранису нужен, я так понимаю, да. Ну и он устроит вас на работу в целом, да, изучать, как бы, то есть сейчас нужно, что хотя бы
342: Оперативный учёт. Основные объекты обязательно, конечно же, скд, скд. Не надо там уметь писать громоздкие отчёты, но хотя бы знать некоторые такие свойства у отчётов, как, например, как связать связь параметров выбора, наложить у полей.
343: Представление поменять там ещё какие-то такие моменты. Это надо уметь как бы если вы вот это хотя бы будете знать, уметь, да, то в целом ценник ваш на рынке будет расти. Плюс ко всему. Опять g2 программиста могут прийти и написать один и тот же отчёт.
344: Но тот, кто подумал немножко о пользователе, сделал связи, параметры выбора сделал оформление немножко. Он явно выигрывает перед этим пользователем, он становится вне конкуренции. Это всего лишь ерунда фича какая-то дополнительная, но рынок, он на то и рынок, что надо быть как-то конкурентоспособным как раз так.
345: Добавляют вам конкурентоспособность тоже. Спасибо, Ранис. Большое. Было очень интересно прособеседоваться. Спасибо. Хорошего дня. Всего хорошего. Пока.