• Как сравнить таблицы?

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

    Подскажи код, для загрузки 2 таблиц из xlsx для сравнения их по столбцу Договор, допустим и вывода таблицы с результатом разницы по тем полям, что есть в таблице и тем, которых вообще нету.
    Для загрузки таблиц из Excel в 1С предназначен объект ТабличныйДокумент. Если твои таблицы в нескольких файлах, то будет несколько ТабличныхДокументов. Если таблицы на разных листах одной книги, то это все загружается в единый ТабличныйДокумент, где каждая страница загружается в одноименную именованную область. Далее уже можно крутить циклы и получать данные из соответствующих ячеек.
    Ответ написан
  • Как синхронизировать изменяемую таблицу в 1С с Oracle БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Никакой max indexrow вам не поможет. Это же не Excel. Но если вы знаете к примеру что данные имею дату создания и partitioning по этой дате, то тогда запрос может быть улучшен по плану и по логике.
    Ответ написан
    3 комментария
  • Этапы оплаты получить для печатной формы?

    @Dementor
    программист, архитектор, аналитик
    Не полиглот и не знаю на каком языке вопрос, но попробую перевести на русский:

    Нужно для документа "Заказ клиента" добавить свою печатную форму, в которую выводить данные по этапам и суммам оплаты из текущего документа. При чем требуется реализовать с помощью расширения.
    Уже посмотрел как это реализовано в Обработка.ПечатьЗаказовНаТоварыУслуги и там слишком сложно. Можно ли проще?


    Если я правильно перевел вопрос, тот тут классическая дилемма сложности и универсальности. Вся эта сложная БСП-обвязка, когда с формы вызывается комманда, которая через общий модуль смотрит в менеджер документа, который через общие модули смотрит в дополнительную обработку для печати - это все для универсальности. Чтобы вы не только из документа или формы списка документов могли печатать, но и вообще из любого места (различные пакетные печати и АРМ).

    Если нужно попроще и даже не планируется печать списка документов, то ДА, можно все сделать очень просто - переносите в расширение только форму документа и реализовывайте печать прямо в ней. Если уже нужна печать из списка, то очевидно, что вам в расширение придётся забирать все нужные формы плюс сам документ, что бы начинку печати поместить в модуль менеджера и не дублировать в модулях форм.

    Но! Если вы начинаете работать со сложными конфигурациями и активно используете техники программирования времен УТ10 и УПП, то система может начать работать непредсказуемо и поддержка станет более затратной. Рекомендую разобраться с Обработка.ПечатьЗаказовНаТоварыУслуги - и внести правки в неё.
    Ответ написан
    1 комментарий
  • Как обратиться к полю таблицы через другой модуль объекта?

    @Dementor
    программист, архитектор, аналитик
    Через модуль формы можно обратиться к полю через Элемент.Товары.ТекщиеДанные.Цена,

    Это не совсем обращение к полю. Если точно, то тут - получение значения конкретной ячейки (с названием "Цена") у выделенной на форме строки табличного поля (с названием "Товары").

    Если рассматривать более детально:
    "Элементы" - это коллекция всех элементов на форме
    "Товары" - элемент формы типа "табличное поле", который связан или с таблицей значения в реквизитах формы, или с табличной частью одного из реквизитов поля (обычно это основной реквизит с названием "Объект")
    "ТекущиеДанные" - свойство табличного поля формы для доступа к данным, которые выведены на форму -т.е. содержит некоторую часть значений строки таблицы, которые программист решил сделать доступными на форме, т.е. там могут быть не все!

    Если на форме нужно получить доступ ко всем колонкам нужной строки табличной части (или таблицы значений), то нужно использовать свойство ТекущаяСтрока, в котором находится идентификатор строки, а потом получить нужную строку из реквизита формы с помощью метода НайтиПоИдентификатору()

    а как обратиться через другой модуль объекта?

    Если вы передаете в любой другой модуль контекст формы (указали форму параметром функции), то ничего не меняется. Получить данные можно по указанной выше схеме, только нужно обращаться через контекст. Т.е. будет как-то так: ПереданнаяФорма.Элементы.Товары.ТекущиеДанные.Цена

    Если вызов внешнего модуля инициируется не из формы и контекст недоступен, то такого понятия, как "выделенная на форме пользователем строка" не имеет смысла. У вас просто есть табличная часть, в которой есть множество строк, которые можно обходить итератором (в конструкции Для каждого ... Из ... Цикл), выборкой (результатом НайтиСтроки(Отбор)) или по указанному индексу.

    К примеру, обращение к значению первой строки будет иметь вид: Объект.Товары[0].Цена , а если вы работаете в модуле объекта, то и вовсе достаточно Товары[0].Цена
    Ответ написан
    Комментировать
  • Реально ли полному новичку пойти в 1С программисты?

    @Dementor
    программист, архитектор, аналитик
    Или данная ниша уже окончательна занята?

    В данной нише дефицит кадров.
    Ответ написан
    3 комментария
  • Реально ли полному новичку пойти в 1С программисты?

    karabanov
    @karabanov
    Системный администратор
    Не совершай ошибку. Учи Go или Python или PHP или JS.
    Ответ написан
    3 комментария
  • Как сделать POST запрос из 1С?

    Fragster
    @Fragster
    помогло? отметь решением!
    Рекомендую вот этот модуль: https://github.com/vbondarevsky/Connector там в описании прям даже есть отправка нескольких файлов
    Ответ написан
    Комментировать
  • 1C конструктор запроса, вкладка "Условие" должен содержать только период?

    nki
    @nki
    bezkart.ru готовая система лояльности
    В этой вкладке формируется условие. В коде перед выполнением запроса, вы должны программно заполнить значения параметров, которые указаны в условии.
    Покажите скриншот ваших условий.
    Ответ написан
    2 комментария
  • Как правильно реализовать чтение продуктов с сервер?

    @Dementor
    программист, архитектор, аналитик
    Все в целом звучит как "сделайте мою работу".

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

    Где правильно хранить json, какие языки использовать?
    Снова таки, если от вас требуют хранить данные в определенном месте и использовать определенный язык, то правильным будет - следовать этим требованиям. Иначе храните как вам удобно и используйте те языки, которые знаете.
    Ответ написан
    Комментировать
  • Как в 1с создать каталог на локальном диске?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Вы серьезно?
    В синтаксис-помощнике смотрели - СоздатьКаталог()?
    Гуглится за 15сек.
    Ответ написан
    Комментировать
  • Есть ли опенсурсные интернет магазины с синхронизацией с 1С?

    vabka
    @vabka
    Токсичный шарпист
    Например OpenCart и nopCommerce
    Для них обоих есть решения для экспорта товаров из 1С в магазин.
    В обратную сторону тоже, кажется, дело небольшого плагина для магазина и небольшого обработчика на стороне 1С.

    Но вообще, если делаешь магазин, у которого уже такие масштабы, что нужен 1С и надо автоматически синхронизировать его с магазином - почему бы не рассмотреть какие-нибудь готовые коммерческие решения? Вроде денег должно хватать.
    Ответ написан
    Комментировать
  • С чего начать в 1С?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    Начать надо с работы в франче. А дальше как пойдет.
    Ответ написан
    Комментировать
  • 1с не умеет комментарий toggle?

    vabka
    @vabka
    Токсичный шарпист
    Стандартный конфигуратор не умеет.
    EDT умеет
    Ответ написан
    Комментировать
  • Как поменять guid в 1с?

    @Dementor
    программист, архитектор, аналитик
    Ответ: Нет!

    Причина: Что такое ссылка справочника? Это тип справочника и этот самый GUID. Другой GUID - это другая ссылка. Если в базе есть справочники, документы или другие сущности, которые ссылаются на ваш элемент справочника, то даже после физического удаления из базы, когда все эти ссылки станут "битыми", из каждой из них можно узнать изначальный GUID.

    Выход: А если очень нужно? Если нужно, то можно. Вам нужно с помощью функции НайтиПоСсылкам() или собственного кода найти все ссылки на ваш элемент. Далее создать в базе новый элемент с данными оригинального элемента, которому с помощью УстановитьСсылкуНового() установить ссылку сформированную с помощью ПолучитьСсылку() на базе вашего GUID, а потом записать. И наконец, сделать замену во всей базе по ранее полученному списку старой ссылки на новую, после чего старый элемент можно полностью удалить из базы.
    Ответ написан
    Комментировать
  • Почему HTTP-запрос на создание элемента любого справочника в 1С выдаёт ошибку обработчика ПередЗаписью?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Посмотрите журнал регистрации, возможно там есть более подробное описание ошибки.
    Ответ написан
    Комментировать
  • Почему HTTP-запрос на создание элемента любого справочника в 1С выдаёт ошибку обработчика ПередЗаписью?

    @Dementor
    программист, архитектор, аналитик
    0) Посмотреть журнал регистрации на предмет ошибок
    1) Проверить права. Для теста можно выполнить запрос под учеткой админа.
    2) Проверить наличие подписки на событие ПередЗаписью и проверить ее модуль. Обращать внимание на директивы компиляции и попытки вывода интерактивных сообщений.
    3) Настроить широкое логирование с помощью технологического журнала и анализировать логи.
    Ответ написан
    Комментировать
  • Как лечится кризис начинающего программиста?

    @Dementor
    программист, архитектор, аналитик
    Не знаю насколько мой случай типичен или является экзотикой, но я целенаправленно не учился программировать и все познавал в процессе.

    Мне захотелось сделать сайт и я просто открыл исходный код похожей страницы и стал изучать как там все устроено - так я изучил HTML и CSS. Захотел сделать галерею и просто начал делать - в процессе освоил PHP (тогда это была еще третья версия). На сисадминской подработке попросили автоматизировать ежедневную рутинную операцию с заявками - освоил 1С 7.7. На следующей работе меня посадили на поддержку бухгалтерского софта для бюджетных организаций и единственным источником информации были только исходники программы - так я освоил Foxpro и SQL. И все это происходило в начале 2000-х в так сказать догугловскую и достекоферфлововский период.

    И вот как-то мне захотелось изучить Java. У меня была какая-то бумажная книга от Питера, потом электронная версия философии Экера, смотрел форумы... Но не пошло и я забросил. А где-то пару лет назад нужно было для моего проекта сделать мобильное приложение и снова все пошло как по маслу - все что в подкорке лежало по Jave всплыло, а остальное быстро выловил на стековерфлоу, джаватолке и стартандроиде.

    Так что мой совет: найдите себе дело и просто делайте его.
    Ответ написан
    Комментировать
  • Как просклонять Слово?

    @Dementor
    программист, архитектор, аналитик
    Из описания метода в синтаксис-помощнике:

    Допустимые параметры:
    Л (L) - Код локализации. По умолчанию используется код локализации, установленный в операционной системе. Примеры кодов локализации: ru_RU - Русский (Россия), en_US - Английский (США). В настоящий момент поддерживается только русский язык. Если код локализации не указан, то используется текущая локализация пользователя.


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

    @Dementor
    программист, архитектор, аналитик
    В смысле "проведенный"? Если нужно отобрать только проведенные документы, то в тексте запроса достаточно написать: "И ЗаказКлиента.Проведен" и никаких лишних параметров передавать не нужно.
    Ответ написан
    2 комментария
  • Почему меняется регистр при поиске по свойтсва по наименованию?

    fosihas
    @fosihas
    Автоматизации учета на 1С.
    608161c08be17610177763.png
    Есть типа "уникальный" реквизит.

    Типа такого можно получить значение доп.реквизита для объекта, это если конфа на БСП (все типовые)
    Заблокирован = УправлениеСвойствами.ЗначениеСвойства(Источник.Ссылка, "ЗаблокироватьДляИзменения_cf34a3829a8d449d82cb02898742f829");
    Ответ написан
    2 комментария