• Как исправить мой код 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 комментарий
  • Берут ли программистом 1с имея только сертификаты профессионала и специалиста?

    AnnaKnyzzeva
    @AnnaKnyzzeva
    Увлекаюсь дизайном и немного IT )
    Сомневаться не надо, надо действовать!

    В разных компаниях подходят к подбору сотрудников по-разному. Кому-то важен опыт, кому-то корочки и сертификаты, кому-то дресс-код и прочие заморочки.

    Я пришла в свою компанию без опыта работы. Выросла внутри компании. Научилась всему сама. Меня взяли несмотря на то, что у меня не было профильного образования и не было опыта. Однако, у меня было большое желание расти и развиваться и приносить пользу людям. Сейчас я работаю ведущим программистом 1С и получаю удовольствие от своей работы.

    Так что дерзайте! Ищите свою компанию. Все зависит только от Вас!
    Ответ написан
    Комментировать
  • Берут ли программистом 1с имея только сертификаты профессионала и специалиста?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    есть шансы, возможно, идите на собеседование, а не тут вопросы задавайте.
    Ответ написан
    Комментировать
  • Почему в настройках обмена с сайтом не активна галочка Выгружать отгрузки?

    @dadduUrsa Автор вопроса
    Вернувшийся кодер недоучка
    Сам отвечу на вопрос
    Тут
    657321c972643078523932.png
    Нажать Настроить
    Внизу страницы поставить галку в Выгружать заказа. Тогда появиться вышуказанная опция
    Ответ написан
    Комментировать
  • Как хранить доп. сведений внутри характеристики?

    @Dementor
    программист, архитектор, аналитик
    В различных конфигурациях 1С характеристики реализованы по разному (гуглите название своей конфы + "характеристика номенклатуры"), но обычно для каждого указывается перечень свойств.

    В вашем случае будет один артикул номенклатуры - например "Шкаф Атлант", а у него будут характеристики "белый/160", "серый/180", "синий/200" и так далее. В каждой карточке характеристики будет возможность указать размер, цвет, материал и что там еще вам нужно. Значения "160/180/200)" и "(белый, серый, синий и так 14 штук)" - это будут значения дополнительного справочника, который подчинен определенным свойствам (т.е. в поле размер нельзя выбрать "красный"). Далее в отчетах эти свойства из характеристик можно использовать для фильтров, сортировок и группировок.
    Ответ написан
    3 комментария
  • Как создать внешнюю обработку (форма управляемая)?

    @Dementor
    программист, архитектор, аналитик
    0) Если период меняют несколько раз, нужно удалить предыдущие колонки (реквизиты и элементы формы)
    1) Для каждого дня нужно создать реквизит формы, подчиненный таблице значений, которая выведена на форму (все колонки добавляются одним махом методом ИзменитьРеквизиты)
    2) Для каждого дня добавляем элемент формы, который связан с нужной колонкой таблицы.

    Как это все сделать? Первая ссылка в гугле: https://infostart.ru/1c/articles/1118319/
    Ответ написан
    Комментировать
  • Как получить данные из регистра накоплений остатки по регистратору?

    @Dementor
    программист, архитектор, аналитик
    Есть два варианта работы с регистром накопления вида Остатки:
    1) Воспользоваться виртуальной таблицей остатков на нужную дату и посмотреть итоги в разрезе измерений регистра
    2) Воспользоваться физической таблицей и увидеть реальные записи, которые пишут регистраторы.

    Вам нужен второй вариант.
    Ответ написан
    Комментировать