Задать вопрос
  • Как получить доступ к Динамическому списку Номенклатуры?

    @Dementor
    программист, архитектор, аналитик
    У вас в теме один вопрос про динамический список, в теле еще два вопроса, которые не связаны с темой, про формы списка номенклатуры и про форму элемента. А чуть ниже какой-то кусок кода, который похоже что скопирован с формы одного из производственных документов, где в табличной части при изменении в колонке материала в колонку цены подставляют значение из карточки этого материала.

    Совершенно не понятно, что вам нужно. Если хотите помощи, то приведите свой вопрос в порядок.
    Ответ написан
  • Нарушение сортировки номенклатуры в счете?

    @Dementor
    программист, архитектор, аналитик
    Так происходит не только со счетом, но и с реализацией на основании заказа. Фишка в том, что кроме документа "Заказ покупателя" еще есть документ "Корректировка заказа покупателя", в котором могут отказаться от некоторых изначальных позиций или добавить новые. Документ нужен для тех случаев, когда клиент меняет свое решение по первоначальному заказу и эту информацию нужно где-то фиксировать, но сам заказ должен остаться неизменным для выплаты бонусов торговому агенту или он уже ушел в какую-то другую систему документооборота и потому его правка запрещена.

    Итого получаем, что данные которые пользователь видит в документе заказ, не всегда соответствуют реальному содержанию заказа, который фиксируется в регистре накопления по заказам и можно проанализировать соответствующим отчетом. Именно поэтому при вводе новых документов на основании заказов данные берутся из регистра заказов с той сортировкой, которая там получилась.
    Ответ написан
  • Как с помощью "Плана обмена" отправить данные по HTTP?

    @Dementor
    программист, архитектор, аналитик
    Если есть какие-то более правильные способы реализации подобного функционала, я их с удовольствием выслушаю.

    Сколько людей - столько и мнений.

    Поэтому у меня следующие вопросы:

    1) В вашем представлении о работе платформы есть неточности. Если на пальцах, то на самом деле все выглядит следующим образом. При авторегистрации или при регистрации программно согласно алгоритмов в таблице узла ничего не происходит. На самом деле происходит заполнение таблиц "Изменения", которые подчинены регистрируемым объектам. К этим таблицам можно даже обращаться запросами. Для примера у складов таблица для запроса будет иметь вид Справочник.Склады.Изменения. Эти таблицы состоят из трех колонок - ссылка на оригинальный регистрируемый объект, ссылка на узел куда регистрируем и номер пакета. Сразу после регистрации номер пакета не заполнен и заполняется конкретным номером только в момент формирования пакета данных на отправку. Детальнее про работу с планом вам все же придется почитать в документации.

    2) С помощью периодического вызова метода ПланыОбмена.ВыбратьИзменения(). Он возвращает выборку из уже зарегистрированных для отправки объектов. Детальнее в справке.

    3) Если вам нужно формировать XML-файл, к структуре которого есть строгие требования, которые желательно сразу проверить на соответствие схеме, то да. Если вам нужно просто создать XML-файл (а еще лучше JSON), то просто создайте в памяти из массивов, структур и соответствий требуемый вам объект и далее сериализируйте его в нужный вам формат с помощью функций ЗаписатьXML() или ЗаписатьJSON().
    Ответ написан
    7 комментариев
  • Как отключить веб итс 1с8.3?

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

    Надоедливая табличка ввода логина/пароля ресурса ИТС появляется только до тех пор, пока вы эти логин и пароль не введете. Надоедает она специально - что бы вы не забыли. А при официальной покупке учетных систем компании 1С вас сразу регистрируют на портале ИТС и дают определенное количество месяцев поддержки бесплатно. В любом случае, у вас как у официального покупателя программы 1С есть нужные логин/пароль. Просто введите их.

    А если хотите поиграть в хакера, то хоть публично не позорьтесь тем, что не можете повторить примитивных инструкций по взлому, которых в интернете валом :(
    Ответ написан
    Комментировать
  • Как окрасить колонки в таблице 1С?

    @Dementor
    программист, архитектор, аналитик
    Для начала рассмотрим какое предназначение форм у документа. Форма списка документов - это визуальное представление набора записей в таблице СУБД. Форма самого документа - это визуальное представление значения свойств одной конкретной записи во все той же таблице СУБД.

    Если на форму документа вынесли чекбокс, который никак не связан со значениями, которые хранятся в СУБД - забудьте про него. Такое значение не то, что на других формах нельзя обработать, даже при повторном открытии текущей формы оно не сохранится (за исключением автосохранения в настройках пользователя, но это совсем другая история).

    Если чекбокс отражает существование реального значения в записи таблицы в СУБД, то его можно использовать и на форме списка. Что бы знать как это сделать, нужно знать вид используемых форм - обычные (типа Visual Studio) или управляемые (HTML-подобные). В первом случае, у списка есть события ПриВыводеСтроки и ПриПолученииДанных - в обоих вариантах доступны значения свойств выводимых записей и настройки их оформления - можно менять шрифты, фон и так далее. Во втором случае, все еще проще и без программирования - у самой формы есть настройки условного оформления и в визуальном конструкторе можно настроить как будут выглядеть какие из записей при наличии в них определенных значений. В последнем случае изменение условного оформления доступно не только программистам в конфигураторе, но и обычным пользователям в процессе их работы.
    Ответ написан
  • Как правильно создать новую колонку в списке документов "Реализация товаров и услуг"(Управление торговлей 10.3)?

    @Dementor
    программист, архитектор, аналитик
    Все правильно. Стандартное поведение платформы. Форма списков документов не предназначена для непосредственного редактирования. Если сильно хочется менять реквизиты без непосредственного захода в документ, то нужно взять напильник и...

    У табличного поля списка есть обработчики событий ПриАктивизацииСтроки, ПриАктивизацииКолонки и ПриАктивизацииЯчейки. В зависимости от нужного вам эффекта выберите то, что больше подходит. Далее предлагайте пользователю интерактивно внести новое значение с помощью функции ВвестиЗначение(). Определите на каком документе находитесь, откройте его программно, измените реквизит на введенное пользователем значение, запишите/проведите и обновите список документов, что бы новое значение перерисовалось на форме. Готово! ;)
    Ответ написан
    Комментировать
  • Почему элемент цикла Для Каждого остается инициализированным после завершения цикла?

    @Dementor
    программист, архитектор, аналитик
    Все верно. Это правильное поведение еще со времен платформы 8.0

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

    @Dementor
    программист, архитектор, аналитик
    1) Веб-сервисы, про которые вы упомянули предназначены для внешних потребителей. Если инициатором выступает 1С, то вам доступны практически все инструменты (кроме особо экзотических) - обмены через файловые шары, FTP, веб-службы, COM-подключения, прямые выгрузки в СУБД при наличии ODBC-драйверов и так далее.

    2) В платформе есть специальный объект "подписка на события", который позволяет не редактируя те же самые справочники вставить свой исполняемый код на события, которые связаны с конкретным справочником, их списком или каждым из справочников системы. Тоже самое касается документов (только список обрабатываемых событий более расширен) и некоторых других объектов.

    3) Совсем "вручную" не нужно. Вы можете сделать свою "каркасную" конфигурацию, которую через механизм "сравнения/объединения конфигураций" будете внедрять в пользовательскую, таким образом перенося в нее свои подписки на события и общие модули с их обработкой. Таким образом свои настройки интеграции распространяют такие компании как Битрикс, Агент-Плюс и пр. Для управляемых конфигураций (это самые последние разработки 1С - ERP, Бухгалтерия 3, Управление торговлей 11, Управление небольшой фирмой и так далее) совсем недавно появилась возможность создавать расширения. Обзорно можете почитать тут - https://habrahabr.ru/company/1c/blog/320018/
    Ответ написан
    6 комментариев
  • Не входит в 1С через браузер из внешней сети. в чем может быть дело?

    @Dementor
    программист, архитектор, аналитик
    Тут не на форумы нужно ходить, а брать бубен и бегать вокруг роутера :)

    То, что приходит в голову навскидку:
    1) У вас в фаерволе могут быть запрещены входящие кроме стандартных портов (80, 443, 3389 и так далее)
    2) В правилах форвардинга где-то ошибка - или не перебрасываются назад ответы, или ваш порт 10400 перебрасывается на другой IP, но все тем же портом 10400 ; или портом 80, в то время как у вас защищенное соединение и проброс нужен на 443.
    3) Что-то нахимичили в настройках веб-сервера и он отклоняет входящие из-за NATa так как считает, что кто-то пытается использовать MiTM-атаку.
    Ответ написан
    Комментировать
  • В чем разница между объектом формы и элементов фармы в 1с?

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

    Форма - это визуальное представление какого-то объекта (справочник, документ, отчет и пр.). У объекта могут быть данные - это реквизиты, которые описываются в дереве метаданных.

    При создании новой формы конструктор предлагает существующие данные объекта автоматически разместить на форме произвольным образом - можно согласиться или отказаться. При редактировании готовой формы можно размещать на ней различные элементы и при этом некоторые из них не связаны ни с какими данными (группировки, надписи и пр.), некоторые связаны с данными объекта и при изменении в полях редактирования будут изменяться в его реквизитах, после чего могут быть сохранены в базе; а некоторые элементы формы связаны с реквизитами формы - данными, которые живут исключительно в рамках текущей формы и будут удалены после ее закрытия (к примеру, если у вас есть заказ клиента на товары с суммами, то вы можете на форму вывести дополнительные поля с итоговой суммой заказа, количеством SKU, средней стоимостью позиции или даже показать долг этого клиента).
    Ответ написан
    3 комментария
  • Как разобраться в чужих конфигурациях 1с?

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

    Просто как иллюстрация. Предположим вы знаете УТ10 и вам в нагрузку дали УТ11 - чего уж там, циферку поменяли, а суть такая же. Но не все так просто вместо единого справочника контрагентов у вас уже целых два, вместо двух справочников единиц измерений уже один, а контактную информацию вообще из регистра сведений перекинули в табличные части объектов. А в вашем случае вообще какие-то самописки, где для единиц измерения могут применять все что угодно - перечисления с указанием коэфициента в табличной части товара, или справочник упаковок без подчинения, а лишь с указанием ссылки на владельца/владельцев.
    Ответ написан
  • Как избавиться от артефактов 1с при копировании в Excel?

    @Dementor
    программист, архитектор, аналитик
    Ни разу такого не делал, но трудно ли этот ваш макрос внедрить в шаблоны пользователей (кажется normal.dotm), что бы событие копипасты само отлавливалось и все вставляемые Shapes автоматически удалялись?
    Ответ написан
    Комментировать
  • Переход из 1С в web-разработчики (PHP ) в 35 лет. С чего начать и реально ли?

    @Dementor
    программист, архитектор, аналитик
    Недавно попробовал доработать для себя небольшой проект на Wordpress и понял...

    Вы человек-парадокс, обычно как раз после Wordpress люди считают PHP фиговым языком, а PHP-программистов говнокодерами. А еще ваша мотивация не очень понятна. Просто взять и уходить с хлебного 1С в никуда немного странно. Я бы посоветовал немного покопаться в себе и попытаться понять, что именно вам в программировании на платформе 1С не устраивает. Может вы просто работаете не над интересными для вас проектами и вам достаточно было просто сменить место работы?

    Не могу определить для себя последовательность шагов.

    Еще один плохой звоночек. "Высоконагруженные системы" - это вообще ни о чем. ERP с тысячей пользователей в базе - это тоже высоконагруженная система.

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

    В первую очередь вам нужно изучить сам язык программирования, пока без фреймворков. Когда я только начинал свой путь в программировании, то попал на переход между PHP3 и PHP4, когда на слуху у всех были изменения глобальных переменных (в первую очередь $_get и $_post), из-за которых приходилось переписывать все проекты, единственным фреймворком был ZEND, а единственно CMSкой был PHP-Nuke. Не мне вам рассказывать, как с тех пор все изменилось, но язык и базовые библиотеки практически те же - их вам и стоит хорошо знать, не зависимо от дальнейшей судьбы. Конкретные новые библиотеки и фреймворки, которые вам нужно дополнительно выучить, что бы быть востребованными на рынке труда вам подскажут другие, так как я с PHP распрощался очень давно и ни разу не пожалел.

    Еще подскажу, что нужно держать руку на пульсе. Не только узнавать про новые фреймворки из вакансий, но и самому читать хабровские еженедельные дайджесты новостей из мира PHP, подписаться на другие тематические рассылки, слушать подкасты. Зарегится на живом форуме, где крутятся PHP-программисты разных уровней - профи и новычки. Профи - это понятно. А новички вам нужны для того, что бы попробовать отвечать на их вопросы - так и теорию подтяните и ЧСВ :)

    Но не везде возьмут такого возрастного стажера...

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

    И опять таки, не порывайте так быстро с 1С - переходите на полставки и в свободное время займитесь обучением и проектами для гитхаба. С головы брать ничего не нужно - просто сёрфите по проектам и смотрите какая идея приглянется. Далее или клонируете репу или пилите проект по мотивам. Так и портфолио наберете для собеседования, и немного навыки отточите. В конце-концов, попробуйте пилить свои темы для Wordpress, раз он вас так сильно впечатлил - это не сложно и на этом тоже деньги зарабатывают.
    Ответ написан
    6 комментариев
  • Как разрешить редактирование единиц измерений?

    @Dementor
    программист, архитектор, аналитик
    АртемЪ и Константин все верно написали. Во многих торговых конфигурациях блокируются единицы измерений в номенклатуре, если по ним есть проведенные документы.

    Пример. Вы продаете кабель и его единица измерения по какой-то причине сантиметр. В документе прихода было 2 километра, что в проводках дало 200000 сантиметров. Далее в реализации вы продали 50 метров, что в проводках дало 5000 сантиметров. При анализе остатков склада у вас показывает 195000, что сбивает кладовщика с толку и он просит давать ему отчет в метрах. Тут два выхода - 1) не трогать злополучные сантиметры, а установить метр как единицу для отчетов 2) заменить единицу для остатков, что вы и задумали.

    Как вы поняли из объяснения на пальцах проводки и остатки в базе волшебным образом сами не трансформируются. И именно что бы не было разброда и шатания в одних документах по одному коэффициенту, а в других по другому, был введен запрет на изменения единицы измерения при существовании проведенных документов. Т.е. вам нужно снять с проводки все документы, в которых фигурирует ваша номенклатура, изменить единицу измерения, а затем заново перепровести.

    Варианты для специалистов:
    1) Включить для конфигурации возможность редактирования, отключить проверку при записи номенклатуры, написать и запустить обработку, которая в торговых регистрах заменит реквизит Количество. Это по времени намного быстрее чем полное перепроведение всех документов и проводки гарантированно не поплывут при наличии нехронологического ввода информации.
    2) Вы упомянули про перенос из другой базы. Именно в этот этап можно вклинится и сделать в загружаемых данных нужную подмену.
    Ответ написан
    Комментировать
  • Что выбрать УТ 10 или 11?

    @Dementor
    программист, архитектор, аналитик
    С точки зрения бухгалтера: да ему фиолетово, так как это программа для торговцев и бухгалтера в ней не работают. Не знаю вашу ситуацию, но возможный максимум - это когда бухгалтера-учетчики формируют счета на оплату и отправляют по почте, но с такой "мартышкиной" работой могут справится и продавцы.

    С точки зрения программиста: есть целый ряд принципиальных различий:
    1) УТ10 - это экранные формы, которые рисуются по аналогии с Visual Studio, т.е. на полотне экранной формы набрасываются в нужных местах укравляющие элементы и прописываются их обработчики событий; такие формы доступны только в режиме "толстого клиента". УТ11 - это управляемые формы, которые создаются по аналогии с DIV-версткой веб-страниц, т.е. основа любой формы это десятки групп, которые вложены друг в друга с указанием порядка группировок подчиненных элементов, размер и вид которых генерируется автоматически (можно влиять но не так абсолютно, как было в УТ10); такие формы доступны не только в версии для ПК, но и через браузер при наличии публикации базы на веб-сервере.
    2) Сильно изменилась система прав. В УТ10 - были роли-должности (продавец, кладовщик и так далее), а в УТ11 - море ролей-функций (право на чтение контактной информации, право на формирование отчетов и так далее) из которых тонко настраивается справочник профилей доступа и уже по назначению такого профиля элементу справочника пользователи у самого пользователя назначаются нужные роли.
    3) Изменилась стратегия проведения. В УТ10 обычно сначала делались проверки доступности остатков, а потом проводки (при чем некоторые проводки могли порождать в глубине общих модулей другие движения, о которых программист не задумывался - к примеру, так себя вели проводки по партиям), и при этом в каждом документе был свой "путь", а в УТ11 в каждом документе все причесали под единую гребенку и сначала делались проводки, а потом контроль "не ушли ли в минус".
    4) С точки зрения отчетов. В УТ10 множество отчетов на базе универсального отчета (который создан на основе объекта построитель отчета), а в УТ11 все отчеты на базе компоновки данных.
    5) Значения по умолчанию. В УТ10 были настройки пользователя, которые мог себе настроить пользователь или админ, и из которого значения по умолчанию можно было подставлять на формы новых документов, отчетов и обработок. В УТ11 от этой системы отказались и перешли к использованию статистики - т.е. если продавец чаще выписывает документы с основного склада, то именно этот склад через некоторое время начнет подставляться, но сначала нужно все указывать вручную; а часть параметров нужно вообще всегда вносить вручную (по этому поводу очень много возмущений на форумах).
    6) Интерфейс. В УТ10 - было несколько вариантов интерфейса, которые создавались в конфигураторе для определенных групп пользователей. В УТ11 есть единый для всех интерфейс, в котором недоступные по правам доступа элементы просто скрыты.

    Это из крупного что я вспомнил. О том, что в УТ11 есть встроенное БСП (такое себе "государство в государстве" со своими законами) я вообще уже молчу.

    Естественно, что еще есть других отличий вагон и маленькая тележка. Что бы неплохо разбираться в обоих системах УТ10 и УТ11 нужно достать вопросы на профессионала и прорешать их. А еще лучше сходить на курсы.
    Ответ написан
    5 комментариев
  • Где найти примерный круг вопросов для получения сертификата 1С?

    @Dementor
    программист, архитектор, аналитик
    Вероятно, вы как-то криво построили гуглу запрос. Почти первая же ссылка дает то, что вам нужно для проверки ваших знаний - professor1c.ru/podgotovka-k-sertifikacii/pro-po-pl...

    Успехов на сертификации! :)
    Ответ написан
    Комментировать
  • А можно ли в 1с https сервис организовать через виртуальный хостинг?

    @Dementor
    программист, архитектор, аналитик
    В смысле, можно ли сделать форвардинг через прокси-сервер?
    Да.

    Сами клиенты 1С (как толстые так и тонкие) через форвардинг портов 1С-сервера без определенного непростого шаманского танца работать не будут из-за особенностей архитектуры настройки подключения. А вот соединение с веб-сервером, на котором опубликован доступ к 1С-базе, можно форвардить сколько угодно раз. Я так в локалке поднимал обычный apache без шифрования, а на сервере форвардинга у меня уже был сертификат и я от туда давал уже HTTPS-доступ
    Ответ написан
  • Как правильно создать запрос для поиска последней актуальной записи в регистрах в 8.3?

    @Dementor
    программист, архитектор, аналитик
    Не вопрос, а ужасный сумбур.

    1) >>Найти в регистре последнюю запись для пары Наименование и Измерение.
    Наименование - это и есть измерение. Нужно только для конкретного Наименования искать значение? Или все же для полной пары Наименование+Серия?

    2) >>Поиск в срезе последних не дает результат, если запись с парой не последняя.
    Написанное противоречит самой идее среза последних. Или Вам нужны не самые последние данные - тут проверьте, что бы вы в параметры виртуальной таблицы передавали правильную дату. Или вам нужны данные по другим наборам измерений - тут проверьте отбор в параметрах виртуальной таблицы по измерениям.

    3) Если вы железно уверены, что в параметры виртуальной таблицы среза последних вы передали правильное время и правильный отбор по измерениям, но при визуальном просмотре регистра сведений явно видите, что получаете неправильное значение, то значит у вас проблема с индексом - просто переиндексируйте регистр.

    4) Все выше перечисленное справедливо для табличной и для объектной модели доступа к данным. Уточняю, так как вы забыли рассказать, как именно пытаетесь получить срез последних.
    Ответ написан
  • Организация доступа к базе данных в web?

    @Dementor
    программист, архитектор, аналитик
    Большая часть программ 1С, так же как и Просто Софт и прочие офисные программы не имеют штатного веб-доступа. Для удаленной работы через браузер вам нужно будет делать настройки на вашем Windows Server. Смотрите в сторону TS Web Access.

    P.S. С указанными тегами windows-админы никогда не увидят ваш вопрос и не смогут вам помочь.
    Ответ написан
    Комментировать
  • Нужно синхронизировать 1С с Prom.ua и CMS Bitrix. Какие шаги нужно предпринять, чтобы все получилось?интегрировать все?

    @Dementor
    программист, архитектор, аналитик
    На сайте Prom.ua лежат уже готовые обработки для обмена для большинства конфигураций и инструкции к ним (доступны в кабинете). Аналогично с Битриксом - они тоже уже все сами написали и инструкции по интеграции приложили (1c.1c-bitrix.ru/ecommerce/download.php)
    Ответ написан
    1 комментарий