• В каком порядке соединяются таблицы в запросе?

    в каком порядке компоновщик таблиц соединяет таблицы


    Запрос выполняется СУБД. Платформа 1С:Предприятие работает с пятью разными типами СУБД: собственной (файловый вариант), Microsoft SQL Server, IBM DB2, Oracle Database и PostgreSQL. Не считая различий в версиях.

    В каждой из них оптимизатор запросов СУБД сам определяет в каком порядке соединять запросы основываясь на куче дополнительной информации о таблицах и уже выполненных запросах. Как следствие в разные моменты времени один и тот же запрос на одной и той же базе может выполняться по разному.

    Так что однозначного ответа на ваш вопрос нет.
    Ответ написан
    Комментировать
  • Существует ли в природе полноценный справочник по 1С, в частности erp?

    @Dementor
    программист, архитектор, аналитик
    Существует ли в природе полноценный справочник по 1С, в частности erp?

    Не существует в природе. Если кто-то попробует написать, то на 10% первые страницы уже будут устаревшие со скриншотами, которые показывают устаревший и отмененный функционал.

    ИТС не предлагать

    Это не просто универсальный справочник с данными про платформу 1С, про использование конфигураций и про все что связано с использованием продуктов 1С. Это единственный справочник!

    Да банально по интерфейсу конфигуратора путеводителя нет, скриншоты из ИТС не соответствует реальности.

    Потому что никто не видит в этом смысла. Рассказать про основные функции конфигуратора - это 10 минут и на Ютубе полно роликов на эту тему. За 20 лет со времен 8.0 интерфейс конфигуратора менялся мало - несколько новых фишек добавили и все. А вот если бы вы подключили себе Снегопат или Турбоконф (моды от сторонних команд, которые позволяют подключать свои плагины, меняющие конфигуратор до неузнаваемости), то даже хороший и регулярно обновляемый путеводитель вам уже не поможет ))

    не говоря о сотнях документов, регистров и прочих внутренностях конфигурации которые неизвестно как работают и взаимодействуют.

    Открою "секрет Полишинеля" - даже большинство разработчиков не знают назначения всех объектов конфигураций, которые они сами же разрабатывают. Все знают только архитекторы и методисты, которые пишут книги и учебные курсы, за которые потом берут деньги.
    Ответ написан
    Комментировать
  • Как получить данные из 1с с помощью yii2?

    @Dementor
    программист, архитектор, аналитик
    Если хотите ограничится только программированием на PHP, то включите в базе 1С интерфейс оdata (REST API к данным).
    Ответ написан
    Комментировать
  • Как в 1С Фреш настроить Торговые предложения для товара?

    @Dementor
    программист, архитектор, аналитик
    1С Фреш - это сервис предоставления доступа к различным базам 1С через интернет на подписочной модели (после окончания подписки можно выгрузить бекап свой базы и хостить на другом сервере или локально).

    Bitrix - это семейство программ для создания сайтов под самые разнообразные цели.

    Торговые предложения - это сущность торгового каталога Bitrix24 для описания особенностей товара (цвет, размер, пол и т.п.). Ближайшие аналоги в "1С:Управление торговлей" - это Характеристики и Серии Номенклатуры.

    Как в 1С Фреш настроить Торговые предложения для импорта в Bitrix?

    Нужно обратится к организациям, которые зарабатывают на подобных настройках. Контакты партнеров вашего региона можете получить у службы поддержки Фреш.

    Для самостоятельного выполнения настроек предварительно нужно сертифицироваться по вашей версии базы 1С и по вашему продукту Bitrix. Все требуемые настройки со стороны обоих программных продуктах будут освещены в соответствующих разделах учебных курсов.
    Ответ написан
    Комментировать
  • Как в 1С Odata отфильтровать выборку по дате изменения?

    Fragster
    @Fragster
    помогло? отметь решением!
    Вроде как понятно, что дата изменения также быть обязана.

    Не обязана, если разработчик не добавил подобного реквизита с соответствующим поведением. В случае типовой конфигурации можете попросить сделать это разработчика с помощью расширений.
    А вообще для регистрации изменений в 1с традиционно используются планы обмена - при изменении данных в дополнительные таблички пишут то, что изменилось, для кого эти изменения предназначены и забирал ли он их:
    https://v8.1c.ru/platforma/plan-obmena/
    Ответ написан
    5 комментариев
  • Как и чем лучше делать бэкап баз 1c?

    @Dementor
    программист, архитектор, аналитик
    кто чем и как делает бекап баз 1с (клиент-серверная архитектура)?

    Делал только стандартными средствами СУБД.

    Когда полностью админил одну базу на PostgreSQL, то у меня был в кроне скрипт, который регулярно выгружал бэкапы утилитой pg_dump. Админы моих баз на MsSQL обычно делали ночью полные бекапы и в течении дня по расписанию сохраняли разностные.
    Ответ написан
    Комментировать
  • Как исправить мой код 1С: Предприятие нахождение максимального элемента в табличной части чтоб он не выдавал ошибку?

    @Dementor
    программист, архитектор, аналитик
    Давайте смотреть, что не так с вашим кодом без детального анализа, а просто что сразу бросается в глаза:
    1. Поломанное форматирование. Пока 8 строчек как тут - это просто эстетическая боль, но когда строчек 80, 800 или 8000, то это маскирует ошибки, на которые уйдет больше чем три дня
    2. Снова таки, с точки зрения облегчения восприятия, нужно все делать в едином стиле - делаете переменные с маленькой буквы - они все должны быть с маленькой, а делаете с большой, то все уже с большой. В коде половина маленькие, половина большие без какой-либо систему. То же замечание касается ключевых слов - если не используете системное автодополнение, которое само за вас все ключевые слова пишет с большой буквы, и по личным предпочтениям начинаете писать с маленькой - то пишите с маленькой уже все подряд, а не "тогда" с маленькой, а "Цикл" с большой
    3. Использование переменных в духе "а и б сидели на трубе" крайне не рекомендовано - все переменные должны в своем имени отражать свое содержимое. Если лень писать СтрокаТабличнойЧастиГоловныхУборов, то хотя бы СтрокаТЧ, но никогда не "а"!!!
    4. Выборка из менеджера объекта полезная штука для некоторых сценариев, но конкретно тут просто увеличивается "углеродный след". Достаточно выполнить запрос сразу к табличной части, в котором тут же получить максимальное количество, а не вытаскивать в оперативку все объекты
    5. Вы уверены, что в табличной части запрещены отрицательные числа? На каком основании в переменную для сравнения вы размещаете ноль?
    6. Для вас же было бы понятнее, если бы вы не использовали явное сравнение, в котором допустили ошибку, а воспользовались стандартной функцией Макс()
    7. Ну и на финал, этот некрасивый и абсолютно не оптимальный код может даже заработать (но выдавать неправильное значение), если из переменной Макс2 (смотрим пункт №3 про нормальные наименования) типа Число не пытаться прочитать свойство "Количество_материалов". Такое ощущение, что было несколько черновиков кода и в одном из них сохранялось не максимальное значение, а сама строка табличной части, а потом все варианты свалили в единую кучу


    Upd. Я смотрел поверхностно, но другие более детально и подсказали в комментариях про необходимость обхода выборки данных с помощью метода Следующий().

    Итого, если не переписывать на запрос, то правильный код будет следующим:

    Выборка=Справочники.Варианты_головных_уборов.Выбрать(); 
    МаксКоличество = Неопределено;
    Пока Выборка.Следующий() Цикл
    	Для каждого СтрокаКоличества  из Выборка.ТабличнаяЧасть1 Цикл
    		Если МаксКоличество = Неопределено тогда
    			МаксКоличество = СтрокаКоличества.Количество_материалов;
    		Иначе
    			МаксКоличество = Макс(МаксКоличество, СтрокаКоличества.Количество_материалов);
    		КонецЕсли;        		
    	КонецЦикла; 
    КонецЦикла; 
    МаксКоличество = ?(МаксКоличество=Неопределено, 0, МаксКоличество);
    Сообщить(МаксКоличество);
    Ответ написан
    2 комментария
  • ЗУП - Документ "ОтпускБезСохраненияОплаты" как предоставить доступ к элементам формы, для определенной группы доступа?

    @Dementor
    программист, архитектор, аналитик
    Вам бы пройти какие-то базовые курсы программирования 1С и тогда не будете задавать элементарные вопросы с огромными случайными ЗУПовскими листингами, которые к формам не имеют никакого значения.

    Базовые понятия:
    1) У элемента формы есть свойство видимость, которым можно управлять программно
    2) У элемента формы есть доступность по ролям, где можно для указанных ролей разрешить или запретить видимость
    3) У элементов формы можно управлять видимостью по функциональным опциям
    Ответ написан
    5 комментариев
  • Как передавать данные на сайт и обратно?

    @Dementor
    программист, архитектор, аналитик
    1. Путь программиста
    1.1. Изучить технологические возможности двух систем
    1.2. Разработать архитектуру решения: определится кто будет основной системой, нужен односторонний или двухсторонний обмен, кто должен его инициировать, выбрать протокол обмена и подобное.
    1.3 Запрограммировать на стороне сайта и на стороне 1С

    2. Путь бизнесмена
    2.1. Проверить существующие решения на предмет совместимости с сайтом и 1С
    2.2 Если готового для покупки нет, то нанять специалистов для разработки.

    P.S. 1С и Laravel - это фреймворки, каждый из которых имеет широкий диапазон имплементаций.
    Ответ написан
    Комментировать
  • Как автоматически проставлять автора в 1с?

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

    Ты решил использовать событие записи документа - это противоречит постановке задачи. Там требуют устанавливать автора (если он отсутствует) при открытии документа (при создании формы).

    Создал Параметры сеанса "ТекущийПользователь"

    Т.е. у тебя какая-то своя конфа, которую пишешь с нуля? Ну тогда не сильно заморачивайся - в модуле установки параметров сеанса оставь код по запросу параметра пользователя (сюда 1С стучится, когда кто-то явно запрашивает параметр сеанса - если кода установки нет, то будет ошибка обращения к неинициированному параметру), где оставь как в твоем примере получение текущего пользователя ИБ и поиск по идентификатору в справочнике пользователей.

    У тебя же справочник Пользователей самостоятельно заполняется по данным пользователей ИБ? Если нет, то задача не имеет решения, так как сначала нужно связать пользователей ИБ и элементы справочника для указания авторства документов. Для сдачи задачи можешь временно сделать поиск по наименованию и вручную проконтролируй, чтобы имена справочника Пользователи соответствовали логинам системы.
    Ответ написан
    9 комментариев
  • Как вывести общую сумму в подвал табличной части?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    Вообщеее, все несколько хитрей)

    Все зависит, что у вас за какой тип у объекта Табличная часть - Таблица значений, Динамический список, Табличная Часть (справочника/документа).
    И у каждой из них своя логика вывода. От указаная прям в свойствах Реквизита Табличной части что надо выводить Итог по колонке, то описания кодом.

    65c3b9ca9af3f644979814.png
    Ответ написан
    Комментировать
  • Как правильно сформировать фильтр запроса по odata?

    @Dementor
    программист, архитектор, аналитик
    Оператора in в принципе нет в 1С.
    Для OData так же как и для обычного 1С-кодирования нужно выкручиваться через поиск подстроки:

    bool substringof(string searchString, string searchInString)

    Сначала вы со всех своих кодов формируете единую строку через уникальный разделитель (которого точно нет в кодах), а потом накладываете одно единое условие на вхождение кода в эту строку условия.
    Ответ написан
    1 комментарий
  • Как в скд если в колонке заполнено значение, то другие колонки оставить пустые?

    @Dementor
    программист, архитектор, аналитик
    Два очевидных варианта:
    1) Исправить запрос (или источник данных),
    2) Исправить условное оформление.
    Ответ написан
    Комментировать
  • Отчет СКД. Как при наличии одного документа объединить тч?

    @Dementor
    программист, архитектор, аналитик
    Понятно, что имея навыки программирования и имея легко модифицируемую систему, хочется получать быстрые результаты. Но:
    1. Сперва нужно научится формулировать свои мысли. Это поможет вам самим сконцентрироваться на важном и яснее увидеть проблематику. Да и чужим людям будет понятнее чем: " если задание(Документ) 1 то ... Если задание(Документ) другой, то в следующую ТЧ и так далее." - Даже при наличии желания помочь тут просто можно не понять что за Документ №1 и Другой Документ, и просто закрыть страницу
    2. Указанное поведение реализуется на закладке "Настройки" в структуре отчета. Если нет времени читать книгу Лены Хрусталевой по СКД или посмотреть статьи на Инфостарте, то хотя бы воспользуйтесь встроенным конструктором, который сделает большую часть работы за вас

    Подсказка: Группировки - это элементы структуры, где явно указаны группировочные поля (не путать с полями состава). Если в группировочных полях есть одна пустая запись - это детальная запись.

    У вас на скриншоте в комментариях три детальных записи. вторую нужно переделать в группу и подчинить ей третью запись.
    Ответ написан
    Комментировать
  • Как вывести на Печать документ с выбранной сортировкой?

    @Dementor
    программист, архитектор, аналитик
    Вам нужно в запросе использовать секцию "УПОРЯДОЧИТЬ ПО".
    Почитайте: https://its.1c.ru/db/v8std/content/412/hdoc
    Ответ написан
  • Как вообще нужно входить в IT сферу?

    Griboks
    @Griboks
    Не нужно никуда входить. Найдите своё призвание и развивайтесь в этом направлении.

    Никто вам не запрещает (кроме бедности, разумеется) делать игры или устроится разработчиком игр - для этого не требуется выполнить какие-то там галочки в списке из интернета. Просто поговорите, обсудите, задайте вопросы.
    Ответ написан
    Комментировать
  • Как найти самый продуктивный путь обучения и развития в 1с разработке?

    @Dementor
    программист, архитектор, аналитик
    Когда ты сам обучаешься, то кажется, что идёшь не в ту сторону

    Читали Люиса Кэррола?
    — Куда мне отсюда идти?
    — А куда ты хочешь попасть?
    — А мне все равно, только бы попасть куда-нибудь.
    — Тогда все равно куда идти. Куда-нибудь ты обязательно попадешь.

    Обучаясь дома, вы 100% идете к состоянию домашней обученности. Что значит "не в ту сторону"?
    Если хотите зарабатывать деньги и решать реальные задачи, то не сидите дома, а идите во франч!
    Ваш пост в качестве "сопроводительного письма" меня впечатлил, если бы я сейчас работал во франче, то пригласил бы на собеседование.

    курсы от самой компании 1с, которые длятся две недели и подготовливают тебя только лишь к одной конфигурации кажутся сухими и лишь с одной теорией

    Это годный курс. Я лично преподавал "Основные объекты", когда работал преподавателем в ЦСО. Многие мои студенты рынулись в работу сразу без продолжения в виде курсов по запросам и решений оперативных/бухгалтерских/расчетных задач. Помню одну главбухшу, женщину в возрасте - она в процессе прохождения курса попрощалась с "мальчиком" и стала сама для себя делать нужные отчеты и новые печатные формы, при выпуске очень меня благодарила. Да я и сам под конец именно этого базового курса отправился на внедрение УПП в позиции мидла сначала в агрохолдинг, а потом в крупный телеком.
    Ответ написан
    Комментировать
  • Как найти самый продуктивный путь обучения и развития в 1с разработке?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Судя по вашему развернутому вопросу, вы уже достаточно глубоко изучили тему. Всё что вы написали так и есть, можно самому учиться по книгам, можно на курсах, можно устроиться во франч и постепенно развиваться (или не развиваться, а застрять на обновлениях конфигураций за руку никто тащить не будет), можно вообще, работать бухгалтером, и самостоятельно потихоньку допиливать собственные хотелки, набираясь опыта.
    Другими словами, хватит уже присматриваться, начните что-то делать.
    Ответ написан
    2 комментария
  • 1c EDT не совместим с учебной версией?

    @Dementor
    программист, архитектор, аналитик
    а когда гуглишь вопрос, кидает на форумы времен мамонтов.

    Какие есть. Это еще новые, вы не застали первые площадки, где тусовались в конце 90х начале 00х. Базовая инфа, которую я записал в описание раздела, все еще актуальна.

    Могу только дополнить официальным сайтом 1С разработчиков, где можно бесплатно получить комьюнити лицензию, которая позволит вам запускать все нужные версии платформы и не мучится с ограничениями учебной версии, которая признана неудачным экспериментом. Так же регистрация разработчиком позволяет смотреть закрытые разделы ИТС. https://developer.1c.ru/
    Ответ написан
    1 комментарий
  • Почему не работает асинхронность?

    @Dementor
    программист, архитектор, аналитик
    Версия платформы - 1С:Предприятие 8.3, учебная версия (8.3.8.1933)

    Это и есть ответ. Где вы выкопали эту древность? И вообще учебная платформа - это вчерашний день, а сейчас можно получить бесплатную комьюнити-лицензию и работать с полноценными последними релизами, где есть и асинхронность, и регулярные выражения и куча другой полезной функциональности, о которой только мечтали во времена 8.3.8.

    Лицензию можно получить тут:
    https://developer.1c.ru/applications/Console?state...
    Ответ написан
    1 комментарий