• Как окрасить колонки в таблице 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, средней стоимостью позиции или даже показать долг этого клиента).
    Ответ написан
  • Как разобраться в чужих конфигурациях 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 комментарий
  • 1С Веб-клиент почему не активна кнопка Записать?

    @Dementor
    программист, архитектор, аналитик
    Не важно как вы заходите - веб, тонкий или толстый клиенты. Если кнопка записать недоступна, то значит у вас только чтение и нет прав на редактирование справочника. Обратитесь к вашему администратору.
    Ответ написан
    5 комментариев
  • Сервер 1С+клиентская часть на Ubuntu 16.04, может кто знает хорошие мануалы?

    @Dementor
    программист, архитектор, аналитик
    Не разделяю скептецизма АртемЪ - я ставил серверную Ubuntu 12.04 и у меня сотня пользователей 1С нормально себя чувствовала. Да и управляемость таким сервером намного выше чем у виндовой альтернативы. Но при чем тут MySQL? Мы сейчас точно про 1С говорим?

    Ваши шаги:
    1) Прочитать о системных требованиях сервера 1С на официальном сайте - v8.1c.ru/requirements
    2) Докупить недостающее программное обеспечение.
    3) Заключить договор с опытным DBA на поддержку вашей СУБД (при вашем количестве пользователей оптимизация системы понадобится не раз). Тут можно и самому тему покопать - на инфостарте есть ряд статей о параметрах эффективной настройки наиболее популярных СУБД.
    4) Настроить на вашей архитектуре тестировочный стенд, после чего прогнать нагрузочной и сценарное тестирование (или с помощью инструментов сценарного тестирования, или с помощью ваших пользователей). По результатам замеров ключевых параметров вы далее принимаете решение или об попытке запуска, или об апгрейде железа, или о замене системного ПО, или о внесении доработок в ваши конфигурации 1С для их более эффективной и бездэдлоковой работы.

    Если вас вгоняет в ужас то, что я написал, то лучше заключите договор с одним из центров внедрений. Попытка самостоятельно внедрить систему на 500 человек специалистом, у которого нет соответствующего опыта и знаний, пахнет для него большими проблемами (при чем бессонные ночи и лишение премий может быть только вершиной айсберга).
    Ответ написан
    4 комментария
  • Существует ли метод определить, какие точно версии конфигураций баз 1с, установлены у пользователя (или на сервере), не открывая?

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

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

    @Dementor
    программист, архитектор, аналитик
    Судя по тому как вы построили вопрос и по тому, что вы без лишних уточнений выбрали ответ точно такого же перепуганного сисадмина, то вы явно не поняли суть вопроса. При чем тут минусы? Как раз минусы тут очевидны: злые дядьки, которые работают на ваших конкурентов, теперь не должны лично приезжать к вам в офис под видом обслуживающей организации, а могут получить ту же информацию удаленно. Только при чем тут вы? Разве что вы отвечаете и службу безопасности. А если да, то зачем вы даете доступ к вашей бухгалтерии сомнительным личностям????? Вообще-то, бухгалтера сами без всякой сторонней помощи могут и конфигурацию обновить и позвонить на линию поддержки 1С, где им любой вопрос "разжуют".

    В этом вопросе вам стоило подумать, а есть ли плюсы, на которые вам стоит уделить внимание. Вы точно читали про эту технологию? Лично ни разу не покупал и не ставил, так как все клиенты с удовольствием дают удаленный доступ по TeamViewer (в паре компаний сиадмины были против, но их мнение успешно игнорировалось - замечательное дополнение к вашим страхам, не так ли?). Но вот я зашел на описание на их сайте и сразу вижу: запись всех разговоров, логирование всех действий удаленного специалиста, встроенные отчеты для анализа работ по подключению.

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