Size: a a a

Жёлтый чайник 1С

2021 March 18
Жёлтый чайник 1С
Коллеги, компания 1С запустила опрос с одним вопросом. Удовлетворяет ли вас реструктуризация базы.
По возможности ответьте. В 1С должны знать правду 😅
источник
Жёлтый чайник 1С
Опрос про использование оптимизированного механизма реструктуризации

Коллеги, если вы используете СУБД MS SQL Server или PostgreSQL – просьба пройти опрос про использование оптимизированного механизма реструктуризации по ссылке

https://ru.surveymonkey.com/r/WVRSP9B
источник
2021 April 02
Жёлтый чайник 1С
​​Неочевидные нюансы записи управляемой формы

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

В статье пойдёт речь о записи управляемой формы.
Статья будет дополняться, поэтому, если вы знаете ещё какой-то "нюанс", то пишите в комментариях к ней. А пока переходите к просмотру и не забудьте поставить лайк плюс в Инфостарт 👍

Ссылка на статью
@JuniorOneS
источник
2021 April 03
Жёлтый чайник 1С
​​Иногда так нужно проанализировать время и результат сложного запроса прямо в отладке!

Предлагаю свою версию решения этой задачки 👌
Несложная функция, которая клонирует переданный запрос и выполняет его пакеты с получением результата и замером времени.
Учитывает все переданные параметры и временные таблицы в МВТ.

И при этом не задевает переданный запрос! И он выполнится так же, словно вы ничего не совершали.
Удобно, когда в запросе есть менеджер временных таблиц, который "сломает" повторное выполнение.

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

Выкладываю функцию в FastCode. Она будет обновляться с учетом ваших пожеланий.
С вас лишь скромный лайк на сайте. Он ничего не дает, но все равно приятно 😁

Ссылка на функцию
——————————————————
@JuniorOneS
источник
2021 April 04
Жёлтый чайник 1С
Всем привет! 🙋🏻‍♀️🙋🏻‍♂️

Начинаем собирать предложения по развитию платформы 1С.

Все предложения будут фиксироваться на GitHub и этом канале.
Если вам нравится предложение, то не забывайте за него голосовать реакцией на GitHub.
Если есть идеи как улучшить, то пишите в комментариях.
Если есть новые предложения, то пишите в чате канала. Либо в комментариях к этому посту, либо просто в чате.

Далее всё будет пересылаться в соответствующую группу 1С. Всегда можно будет узнать список переданных 1С предложений и статусы по ним.

Важно! На предложения по развитию самого конфигуратора автоматически отвечают "пользуйтесь EDT". Так что обсуждать их нет смысла. Нужны предложения по платформе как таковой.

@UnionOneS
источник
2021 April 06
Жёлтый чайник 1С
Переслано от Михаил Болсун...
Друзья, у нас есть канал для бесплатного продвижения разработок - Взлетит! 1С  @vzletit1c

Сообщите о своем проекте и о нем узнают остальные участники сообщества.
Узнавайте на канале об интересных и полезных разработках других авторов!

Присоединяйтесь!

https://t.me/vzletit1c
источник
2021 April 09
Жёлтый чайник 1С
Шпаргалка по горячим клавишам для разработчика.
—————————————-
@JuniorOneS | #Шпаргалка
источник
2021 April 16
Жёлтый чайник 1С
Простые методы в вашу коллекцию =)
Выкладываю порцию небольших методов на FastCode. Можете добавить в свою коллекцию. И поставить лайк 👍
@JuniorOneS

Добавить отбор построителя
Добавляет в построитель отбор по переданным параметрам

Пустое значение типа
Возвращает пустое значение переданного типа

Таблица Значений Без Null
Функция возвращает копию переданной таблицы значений, но исключая из всех колонок тип Null
Бывает полезна для обработки выгрузки запроса, в котором у каждой колонки есть тип Null

Таблица значений по полному имени метаданных
Возвращает описание таблицы значений по полному имени таблицы базы данных. Например "Справочник.Валюты"

Свернуть табличную часть
Сворачивает табличную часть по всем колонкам.
Числовые колонки при этом суммируются

Добавить или обновить колонку
Добавляет колонку в таблицу значений
Если колонка уже есть, то обновляет свойства Заголовок и Ширина
Возвращает добавленную или найденную колонку

Этот тип является менеджером записи регистра сведений
Является ли переданный тип менеджером записи регистра сведений

Записать() на форме объекта
Записывает объект формы. Возвращает признак успеха.
Нужен для обхода недокументированного поведения платформы.
В СП описано, что метод формы Записать() возвращает признак успеха.
Однако, если в ПередЗаписью() произойдёт Отказ, тогда метод падает в ошибку, которая фиксируется в ЖР.

Инициализировать Форму Выбора
Позволяет использовать одну форму в качестве формы списка и формы выбора. Использует БСП

"Использовать в качестве значения поле" программно
В тех случаях, когда на таблице формы с отборами СКД необходимо по умолчанию в новых элементах включать галочку "Использовать в качестве значения поле"
источник
2021 May 06
Жёлтый чайник 1С
Рефакторинг, АСТАНАВИСЬ!

Наглядный пример, почему нужно осторожно пользоваться функционалом конфигуратора "рефакторинг"

Ctrl+Z не помог, всё зависло, пришлось перезаходить без сохранения.
источник
2021 May 07
Жёлтый чайник 1С
Колонки результата запроса

У результата запроса есть одна особенность.
Какой бы вы ни выбирали тип значений, платформа добавит к колонке результата тип Null.
Число, Строка, Булево, Ссылка. Неважно. Даже если по тексту запроса очевидно, что в результате невозможен Null - он всё равно будет.

Например:
Запрос  = Новый Запрос("ВЫБРАТЬ 1");
Колонки = Запрос.Выполнить().Колонки;

Сообщить(Колонки.Получить(0).ТипЗначения);
//Сообщение: Null, Число

Так как в колонку добавляется тип Null, то она становится составного типа. И получает в довесок тип Неопределено.
С таким поведением можно столкнуться воочию, если решить дополнять данными Выгрузку результата запроса.
Все колонки добавленной строки будут значением Неопределено.

Например:
Запрос      = Новый Запрос("ВЫБРАТЬ 1 КАК Поле");
Выгрузка    = Запрос.Выполнить().Выгрузить();
НоваяСтрока = Выгрузка.Добавить();

Сообщить(ТипЗнч(НоваяСтрока.Поле));
//Сообщение: Неопределено

В принципе, поведение платформы нельзя назвать ошибочным. 1С просто не считает целесообразным проверять, есть ли действительно Null в результате. И просто добавляет этот тип, исключая возможные ошибки.

Поэтому, разработчику просто нужно это помнить.
+ Есть простой метод, который делает копию таблицы, удаляя из неё тип Null. Его можно использовать на простых табличках. Например, в этом методе.

Как думаете, а возможны ли случаи иного поведения формирования типа колонки результата запроса ?
————————————
@JuniorOneS | #Заметки
источник
Жёлтый чайник 1С
​​Не переносите код таким образом

Иногда так бывает, что названия вызываемого метода и передаваемых параметров формируют слишком длинную строчку кода. И приходится её разбивать на несколько.

По этому поводу есть ссылка на соглашение на ИТС: https://its.1c.ru/db/v8std/content/444/hdoc

В принципе, если вы не будете его соблюдать, то, конечно, вас не будут поджидать поздно вечером в темном подъезде разгневанные 1Сники. Однако...

На скрине пример "неправильного" кода. Открывающая скобка вызова метода переносится на следующую строку.
С одной стороны, такой код работать будет. Но с другой -  конфигуратор 1С не везде будет понимать такой вызов.
Не сработает переход к методу по F12. И, что намного важнее, такой вызов не будет найден при помощи Alt+F12.

Например, какому-то разработчику понадобилось изменить логику своего экспортного метода. Программист ищет его вызовы через Найти использования (Alt+F12). Такой поиск не найдёт вызов с ситуацией на скрине. И разработчик не узнает, что в вашем коде используется его метод.

Ниже на скрине открывающая скобка находится рядом с именем вызываемого метода. И так поиск использования сработает.

Переносить строку можно начиная со второго параметра. Просто в данном примере показана минимальная разница между "работает" и "сломано".

————————————
@JuniorOneS | #Заметки
источник
2021 May 10
Жёлтый чайник 1С
​​Скриншот сеанса средствами 1С

А вы знали, что начиная с 8.3.17 на клиенте можно получить скриншот сеанса средствами 1С ?)
Неочевидное применение новой возможности платформы. Выложил процедуру на fastcode. Пока без веба, но всему своё время.
Кейсы зависят сугубо от вашей фантазии 😅

————————————
@JuniorOneS | #Метод
источник
2021 May 19
Жёлтый чайник 1С
Неопределено - это тип или его отсутствие?

И то и другое. Одновременно.

Действительно, есть такой тип "Неопределено".

//Этот код сообщит "Да"
Сообщить( ТипЗнч(Неопределено) = Тип("Неопределено") );

И вроде бы вопрос решен, НО. Попробуйте создать таблицу значений с колонкой, у которой тип - Неопределено:

ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Колонка", Новый ОписаниеТипов("Неопределено"));

Строка = ТЗ.Добавить();

Строка.Колонка = 1;
Сообщить(Строка.Колонка); //Сообщит: 1

Строка.Колонка = "Строка";
Сообщить(Строка.Колонка); //Сообщит: Строка

Именно, мы получили колонку с произвольным типом, ибо невозможно создать колонку с типом Неопределено.

Кто-то может сказать: "А как же создать колонку с типом, у которого только одно значение?"
А вы попробуйте выполнить тот же самый код, но укажите в качестве типа колонки Null ;)

И так. Неопределено - это тип. Но этот тип при этом означает отсутствие типа. И невозможно создать ОписаниеТипов с типом Неопределено:

ОписаниеТипов = Новый ОписаниеТипов("Null,Неопределено");
Сообщить(ОписаниеТипов.Типы().Количество());
//1

1С проигнорировала Неопределено при создании ОписанияТипов.
Вместо этого он появится автоматически, если описание будет составным.

И, в контексте поста про выгрузки запроса, прекрасно видно, как сама 1С не знает, что же ей делать.
В нем просто колонка с Неопределено. И эту выгрузку запроса мы не сможем поместиь в другой запрос! Попробуйте сами и убедитесь, что получите ошибку: Тип не может быть выбран в запросе


//Получили ТЗ с колонкой Неопределено
Запрос = Новый Запрос("ВЫБРАТЬ Неопределено КАК Поле");
ТЗ = Запрос.Выполнить().Выгрузить();

//Попытались выбрать её в другом запросе
Запрос.Текст = "ВЫБРАТЬ
|    ТЗ.Поле
|ПОМЕСТИТЬ ВТ
|ИЗ
|     &ТЗ КАК ТЗ;
|ВЫБРАТЬ
|    *
|ИЗ
|    ВТ КАК ВТ";

Запрос.УстановитьПараметр("ТЗ", ТЗ);
Результат = Запрос.Выполнить();

Почему так?
Мы получаем выгрузку запроса. И 1С должна была автоматически добавить тип Null (как она делает всегда). Но если платформа так сделает, то получит колонку с типом Null, а Неопределено потеряет. Ведь кодом раньше мы доказали себе, что невозможно создать описание типов с этими двумя типами вместе. И тогда 1С идет по другому пути - она создает колонку просто с типом Неопределено. Но по законам платформы такая колонка превращается в тип Произвольный. И становится недоступной для передачи в запрос. Вот незадача 🤷‍♂️

Это не совсем очевидный нюанс платформы. И вы можете с ним столкнуться, если вдруг ваш запрос строится динамически, и в какой-то момент одна из колонок текста запроса содержит только Неопределено. Выгрузку такого запроса невозможно будет поместить в другой запрос. И придется либо намеренно расширять тип до составного (выложил шаблон кода), либо переписывать текущую реализацию.

————————————
@JuniorOneS | #Нюансы
источник
2021 May 20
Жёлтый чайник 1С
​​Почему 1С-разработчику готовы платить 120 тысяч рублей даже в регионах

Бывали в таких компаниях, где пару кабинетов занимает бухгалтерия, а ещё два — экономисты и кадровая служба? Они ещё называют «1С» просто «программой» и время от времени бегают по коридору к Паше с просьбами написать им такой чудесный отчёт, чтобы нажал одну кнопку — и вот у тебя на столе выгрузка по всем филиалам по таким-то показателям. А Паша такой: «Не вопрос, два дня». Так вот, этот всемогущий Паша — и есть 1С-разработчик.
Он в некотором смысле уникальный программист. С одной стороны, он и правда пишет код. С другой — разбирается в бухгалтерских проводках, управленческом учёте, размерах МРОТ и бог весть в чём ещё.

Почему стать 1С-разработчиком — круто?

• Простота
Чтобы освоить «1С», необязательно иметь опыт в программировании. Подробная документация, встроенный редактор текстов и модулей, код на русском языке — всё это значительно облегчает процесс изучения.

• Низкий порог входа
Огромное количество предприятий пользуется программами, написанными на «1С». Но этот язык не такой модный, как те же веб и мобайл, которые стремятся освоить начинающие программисты. Конкуренция ниже, а потому войти в профессию не составит особого труда.

• Высокая зарплата
Даже в регионах она может достигать 170 тысяч рублей.

На курсе «Профессия 1C-разработчик» вы научитесь всему, чтобы стать востребованным специалистом и быстро найти работу. А именно:
• Автоматизировать бизнес-процессы;
• Проектировать архитектуру баз данных;
• Разрабатывать свою авторскую конфигурацию и системы учёта;
• Интегрировать «1С» с другими системами (например, сайтом).
• На дополнительном мини-курсе вы разберётесь в основах языка SQL. Узнаете, как выбирать, фильтровать, группировать данные и вносить изменения.

Регистрируйтесь сейчас на курс со скидкой: https://clc.am/LSGagA
источник
2021 May 24
Жёлтый чайник 1С
​​WiseAdvice-IT запустила Telegram-канал с ключевыми новостями из мира 1С, специально отобранными экспертами компании для ИТ-специалистов.

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

Присоединяйтесь к каналу и подписывайтесь на рассылку WiseAdvice-IT, чтобы не пропустить ничего важного.

Подписаться на канал
источник
2021 May 26
Жёлтый чайник 1С
Продолжаю тему интеграции 1С с сайтами и 18 июля 2021 проведу онлайн занятие по разработке сайта на python фреймворке django и интеграцией с 1С.

На занятии разработаем полноценный сайт на django для 1С:УТ 11.4.

Возможности сайта django:

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

Стилизацию django сайта сделаем с помощью bootstrap studio. Необходимы минимальные знания html и css.

На стороне 1С все будет разработано в расширении.

Из 1С на сайт django будем выгружать контрагентов, заказы контрагентов, номенклатуру с ценами и остатками, необходимую НСИ для создания заказов.

Выполним размещение (деплой) нашего проекта в интернете с помощью Docker.

Если вас заинтересовала данная тема, то записывайтесь на занятие прямо сейчас.

https://nizamov.school/courses/integration1s/django-1c?utm_source=telegram

#1с #python #django
источник
2021 June 18
Жёлтый чайник 1С
источник
2021 June 29
Жёлтый чайник 1С
​​Интересуйтесь новостями платформы

Когда-то давно я сделал модуль-комбайн по работе с СКД. Он позволяет творить с компоновкой очень разные штуки. В том числе и передавать таблицу значений параметром в запрос СКД. Костыльно, через выполнение запроса "напрямую", но для использования этого метода хватало несколько строчек кода.

И вот живу я, в ус не дую, и использую свой модуль. Хотел было начать перерабатывать его для публикации. И начать именно с этой фичи про передачу временной таблицы.

Но оказалось, что уже больше года в платформе есть возможность в программный вывод СКД передавать менеджер временных таблиц.
И каким-то образом это прошло мимо моих глаз 🙈

Хорошо, что подписчики канала мне сразу указали на этот пробел в знаниях 😅

И вот выпускаю обновление статьи по универсальной процедуре формирования СКД.

"Меньше копипаста!", или как Вася универсальную процедуру писал

Теперь в эту процедуру можно передавать МенеджерВременныхТаблиц. И не только...

Обновил метод на FastCode. А так же добавил отдельно ещё одну процедуру из статьи.

Буду рад вашим плюсам и комментариям =)

А чтобы интересоваться свежими новостями из зазеркалья можно просто подписаться на этот канал.
Там только репосты Зазеркалья 1С. И только новостей по развитию платформы. Без всякого рода реклам 👍

@JuniorOneS
источник
2021 July 31
Жёлтый чайник 1С
Паша Чистов...

Человек, которого я очень уважал. Человек, который помог мне войти в профессию. Человек-null-это-отсутствие-возможности-существования-значения. Лучший в мире работник гардероба питерского Колизея.
Учитель. Вдохновитель. Человек.

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

Всё собранные деньги будут перечислены жене Павла Темире (когда получится с ней связаться).

Пополнить счёт можно с помощью ссылки:

https://www.tinkoff.ru/rm/gryzlov.nikita3/fS29P81300

Либо совершив банковский перевод по реквизитам:

Банк-получатель:
АО «Тинькофф Банк»

Корр. счет:
30101810145250000974

БИК:
044525974

Получатель:
Грызлов Никита Алексеевич

Назначение платежа:
Перевод средств по договору № 8156376462 Грызлов Никита Алексеевич НДС не облагается

ИНН:
Укажите ваш ИНН, если его нет, поле оставьте пустым (при строгой необходимости заполнять поле – укажите 7710140679)

КПП:
Поле оставьте пустым (при строгой необходимости заполнять поле – укажите 771301001)
источник