• Существует ли метод определить, какие точно версии конфигураций баз 1с, установлены у пользователя (или на сервере), не открывая?

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

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

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

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

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

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

    Вам остается только поиском найти все вызовы этой "обвертки" и явно заменить их текстом процедур, которые передавались в виде параметра. Или пользоваться тонким клиентом поверх HTTP.

    P.S. Ваш предшественник хотел сделать систему-ребус и быть единственным неувольняемым экспертом? Такие команды как Выполнить() и Вычислить() не предназначены для использования при обычном программировании, а только исключительно для того, что бы дать возможность в режиме "Предприятия" выполнить произвольный код обычному пользователю (при загрузках/выгрузках что-то подправить напильником).
    Ответ написан
    Комментировать
  • Гуру чем XML перевести?

    @Dementor
    программист, архитектор, аналитик
    Переводить с украинского на английский?

    Гугл.Транслейтом и прочими автоматическими переводчиками вы со своих универсальных потайных шурупов получите такую фигню, что сами не поймете, не говоря про ваших англоязычных партнеров. Нужно однозначно всем украинским названиям вручную дать правильные переводы с привлечением специалиста знающего нужный язык. А далее названия, так же как и имена тегов элементарно заменяются в любом текстовом редакторе комбинацией Ctrl+H (найти и заменить).
    Ответ написан
    Комментировать
  • Если в системе 1с проверка и функция по выводу предупреждения (при переходе в другое поле) с возможностью дальнейшей записи документа в БД?

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

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

    Просто так спроектированы IDE. Одним создателям показалось, что нумеровать строки хорошая идея, а другие посчитали, что это занимает лишнее место и вывода номера в статусе будет достаточно.

    Так же не стоит забывать и о самой специфике программирования на разных языках. Для языков ООП считается дурным тоном, когда листинг кода больше одного экрана (а в каталоге проекта меньше сотни мелких файликов). В то же время для 1С во времена 7.7 был доступен всего один модуль, куда писали ВСЕ, а в последних релизах есть множество общих модулей, но их размеры часто все равно зашкаливают за сотни тысяч строк кода. Т.е. боковая панелька размером на 2 символа вроде не очень мешает, а при ширине 6-7-8 уже как-то не очень, особенно в начале модуля, где большая часть панели не занята абсолютно ни чем. А если учесть, что для 1С практически всегда нужно смотреть на другие дополнительные боковые панельки (дерево метаданных, панель свойств, синтаксис-помощник), то становится понятным идея борьбы за рабочее пространство.
    Ответ написан
    Комментировать
  • Как из 1C сделать POST запрос к скрипту на сайте с передачей JSON данных?

    @Dementor
    программист, архитектор, аналитик
    А вы что ожидали увидеть? Все правильно - согласно листингу вы в ваш скрипт не передали ни единой переменной ни методом GET, ни методом POST.

    Подсказка. Тело запроса <> передача параметров методом POST. Параметр - это как минимум название, а у вас только содержимое.

    Или оформите правильно содержимое в переменной strJSON (если лень читать RFC, то подсмотрите правильную структуру снифером), или берите в вашем скрипте PHP полностью содержимое запроса ($HTTP_RAW_POST_DATA) - это и будет ваш JSON.
    Ответ написан
    9 комментариев
  • На каком движке лучше создавать интернет магазин зоотоваров(корма для животных) с интеграцией последней 1С-розница?

    @Dementor
    программист, архитектор, аналитик
    Просто многие жалуются, что да, создатели движка заявляют про полную интеграцию с 1C, а на деле всё приходится вручную допиливать. Что посоветуете...

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

    @Dementor
    программист, архитектор, аналитик
    В каталоге BIN платформы есть два исполняемых файла: 1cv8c.exe - тонкий клиент и 1cv8s.exe - толстый клиент. В зависимости от того, который из них вы запустите, тот режим и получите.

    Настройки в списке баз - предназначены для стартера (1cestart.exe из каталога COMMON), что бы он знал к какому из исполняемых файлов передавать управление. Но список баз для подключения так же доступен для показа и тонкому с толстым клиентам.

    Итого. Если у вас при настройке запуска толстым клиентом, запускается тонкий и, более того, в списке баз доступна только кнопка запуска в режиме предприятия (без конфигуратора) - значит вы явно запускаете исполняемый файл тонкого клиента. Так же еще есть вариант, что при установке платформы вы просто не поставили толстый клиент - тогда стартер будет запускать тонкий не зависимо от настройки.
    Ответ написан
    3 комментария
  • Как избежать вложенных транзакций при работе с подпиской на событие?

    @Dementor
    программист, архитектор, аналитик
    1) Вложенный транзакций в 1С не существует! Синтаксически можно сделать "матрешку", но она будет только в коде и в голове программиста. На деле при откате транзации из любого уровня вложенности происходит откат транзакции верхнего уровня.
    2) Механизм подписок на события при записи работает в рамках общей транзакции записи объектов в базу. Любая ошибка в подписках этого типа приведет к общей отмене записи.
    3) Исключения нужно обрабатывать с помощью конструкций Попытки.

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

    @Dementor
    программист, архитектор, аналитик
    Дополню ответ Игоря.
    Для версий платформы 1С 8.х существуют два режима работы - серверный (с использованием внешней СУБД) и файловый (с использованием встроенной СУБД). Файл 1Cv8.1CD - это как раз файл с данными встроенной СУБД.

    Что бы работать с базой из файла 1Cv8.1CD , вам необходимо поместить его в пустой каталог и указать путь к этому каталогу в списке баз 1С. Может возникнуть проблема, если у вас файл от версии 8.3.9 со снятой совместимостью, а у вас установлена платформа версией ниже. Зато в обратной ситуацией все нормально - обратная совместимость поддерживается.
    Ответ написан
    Комментировать
  • Интеграция 1С и aliexpress, taobao кто сталкивался?

    @Dementor
    программист, архитектор, аналитик
    Вы автоматизируете производителя из Китая?
    Не думаю, что есть готовые бесплатные модули. Все таки это штучные и очень редкие заказы.

    API естественно есть и странно, что Google и Яндекс вам не помогли с их поиском:
    https://portals.aliexpress.com/help/help_center_AP...
    open.taobao.com/docs/doc_index.htm
    Ответ написан
    Комментировать
  • Почему сервис не доступен для публикации в 1С?

    @Dementor
    программист, архитектор, аналитик
    Верхняя часть экрана обрезана и не понятно сохранена ли измененная конфигурация. Если изменения не применены, то и публикация должна быть недоступной.
    Ответ написан
    1 комментарий
  • Возможно ли интегрировать с 1С Битрикс(малый бизнес) c Управление торговлей (базовая), редакция 11.2?

    @Dementor
    программист, архитектор, аналитик
    А что мешает заглянуть на официальный сайт?

    Интегрировать можно - https://www.1c-bitrix.ua/products/cms/editions/sma... и https://www.1c-bitrix.ua/products/cms/1c/index.php В последней ссылке есть ролик по интеграции.

    Модуль для УТ 11.2 - 1c.1c-bitrix.ru/ecommerce/download.php Вместе с модулем идет инструкция по установке и настройке.
    Ответ написан
    1 комментарий
  • 1C как изменить все значения одного столбца в таблице "Номенклатура"?

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

    Путь программиста. Нужно запросом отобрать не свойства ставки НДС из справочника номенклатуры, а ссылки на элементы справочника (с отбором на то, что это не группа). Далее по выборке из запроса по ссылке получаете объект, заменяете ставку НДС и записываете назад в базу. Выглядит примерно так:
    Запрос = Новый Запрос("Выбрать Ссылка Из Справочник.Номенклатура Где не ЭтоГруппа");
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Товар = Выборка.Ссылка.ПолучитьОбъект();
        Товар.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС; 
        Товар.Записать();
    КонецЦикла;


    А что написали Вы?
    Вы отбираете свойства номенклатуры (скорее всего они у всех одинаковые = 18%) и далее работаете с массивом идентичной информации. Поскольку в вашей переменной Выборка находится ТаблицаЗначений, то значения поля СтавкаНДС1 вам с легкостью удается переопределить (бессмысленное занятие с учетом того, что после выполнения процедуры эта таблица будет удалена из памяти).
    Далее вызываете метод контекста Записать() - который определен внутри модуля объекта и модуля формы элемента для объектов данных. В случае работы внутри формы элемента справочника номенклатуры вам бы удалось записать текущий элемент, но вы скорее всего работаете в обработке и в ее контексте этого метода по-умолчанию нет - поэтому получаете ошибку.
    Ответ написан
    2 комментария
  • День 1C Карьеры, стоит ли идти?

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

    @Dementor
    программист, архитектор, аналитик
    Ошибка синтаксиса языка запроса.
    Вам нужно определится с тем, что вы используете. Если работаете с физической таблицей, то источник = РегистрСведений.ЦеныНоменклатуры. Если хотите виртуальную таблицу срезу последних, то даже не обязательно задавать время среза и условие (которое вы запихнули в секцию ГДЕ), но обязательно указать круглые кавычки!

    ВЫБРАТЬ
    | ЦеныНоменклатурыСрезПоследних.Цена,
    | ЦеныНоменклатурыСрезПоследних.Валюта,
    | ЦеныНоменклатурыСрезПоследних.ВидЦены,
    | ЦеныНоменклатурыСрезПоследних.Номенклатура,
    | ЦеныНоменклатурыСрезПоследних.Характеристика
    |ИЗ
    | РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены В(&ТипЦен) и Номенклатура В(&Номенлатуры)) КАК ЦеныНоменклатурыСрезПоследних"
    Ответ написан
    Комментировать
  • Как лучше сделать REST API в связке с 1с 8.2?

    @Dementor
    программист, архитектор, аналитик
    Какую вы задачу себе ставите? Вам нужна стабильность или просто желаете изучить новые технологии?

    Если вам нужно просто связать базу 1С и интернет магазин, то нужно так и делать используя или наработки обмена с Битриксом в типовых торговых конфигурациях, либо подключение 1С к API сайта, либо подключение сайта к API 1C. Чем больше вы вводите сущностей в архитектуру будущего решения тем больше у вас будет "тонких" мест и больше зависимость от разнородных технологий:
    1. необходимость чтения большого количества мануалов или привлечения дополнительных специалистов,
    2. требование отслеживать новости по всем технологиям в поиске сообщений о критических уязвимостях и ошибках,
    3. необходимость сталкиваться как с моноошибками технологий так и с непредсказуемыми результатами их синергии с последующими долгими гуглениями и рысканьями по сайтам/форумам где с вами будут говорить на терминологии, которая звучит одинаково, но адепты из разных сфер ИТ вкладывают в нее различный смысл (классический пример в 1С - термин "тонкий клиент")
    .
    Ответ написан
    5 комментариев
  • Оценка ИТ инфраструктуры?

    @Dementor
    программист, архитектор, аналитик
    Я не являюсь сертифицированным экспертом по технологическим вопросам, а так же не проходил никаких курсов типа такого http://Курсы-по-1С.рф/news/2016-10-17-new-optimiza... . Могу говорить только со стороны своего опыта. Оценить и улучшить работу своей системы без внешнего подрядчика вполне реально.

    Есть два простых инструмента:
    1) для того, что бы понять все ли в порядке с железом - тести Гилева. Это база данных, которая тестирует ЦП, ОЗУ и ПЗУ, а результаты выдает в сравнении с результатами других пользователей на похожем железе. Если у вас данные хуже, то это явный звоночек, что нужно апгрейдить технику или улучшыть настройку СУБД, если у вас серверная база.
    2) замер производительности в режиме отладки. Он многое происходящее в системе не показывает (особенно в модели клиент-сервер), но для оценки тонких мест очень даже хорошо себя показал. Это замечательное подспорье для улучшения своих собственных (не типовых) решений.

    Еще есть ЦУП, но для его использования нужно прочитать поставляемую с программой методичку и разобраться с непростыми настройками технологического журнала. Для больших предприятий - это конечно нужная штука в качестве мониторинга всей системы и отлова трудновоспроизводимых проблем. Но при оптимизации наличия конкретной проблемы производительности считаю излишне сложным инструментом.

    Для поднятия боевого духа могу поделится тремя случаями из практики.

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

    2) Когда-то давно я был разработчиком системы для маленького украинского дистрибутора. Через несколько лет это уже была компания национального масштаба с филиалами во всех областях и они пригласили меня для решения проблемы обмена. У них РБД, которой для сбора данных с филиалов теперь требовалась целая ночь. Практически весь мой код остался за эти года не тронутым и я уже знал где оптимизировать - просто раньше это не имело смысла, так как обмены укладывались в час-два. Согласовал с руководителем проекта и просто выбросил из обмена ненужные данные, подняв скорость сразу в 2-3 раза.

    3) Разрабатывал систему он-лайн мониторинга. Обработка главного диспетчера собирала данные и выводила целых 15 минут, что было крайне не "оперативно". С помощью замера производительности выяснил, что большая часть времени уходит на общение с СУБД. тогда я переписал алгоритмы на использование таблиц с предварительно подготовленными данными в оперативной памяти - это позволило ускорится с 15 минут до 4-5. Далее тест Гилева подтвердил своими попугаями, что проблемы в железе. Мы использовали виртуальную машину на украинском хостинге. Арендовали за те же деньги у Хецнера в Германии и сразу получили двойной прирост быстродействия всего - монитор стал отрабатывать за 1-2 минуты. Далее немного подкрутили параметры самой виртуальной машины (поэкспериментировали с различными видами виртуального ЦП, попробовали другие режимы эмуляции) и в результате получили дополнительный небольшой прирост, который позволил обновлять монитор меньше чем за минуту.
    Ответ написан
    3 комментария
  • Как сделать в 1с8 обработку? Подробное в детали вопроса?

    @Dementor
    программист, архитектор, аналитик
    Тут теория нужная для самостоятельного написания обработки - infostart.ru/public/92746
    Тут уже написанная обработка подключения к внешней СУБД - infostart.ru/public/137872
    Ответ написан
    Комментировать