Ответы пользователя по тегу
  • Перенос базы данных 1C 7.7 в 8.3, как сделать?

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

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

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

    Посоветую вам удалить пользователя Администратор, а вместо него завести Иванов/Петров/Сидоров для каждого из ваших разработчиков. Лицензирование все равно происходит количества работающих пользователей, а не количества зарегистрированных - хотя тысячами их добавляйте, но ни копейки доплаты с вас не потребуют. Да и вам так проще - человек уволился, так сразу убирайте ему доступ, а не переживайте о том, кто из обиженных в очередной раз захочет скопировать базу или заняться вандализмом.
    Ответ написан
    2 комментария
  • В каких случаях нужно использовать объединение/соединение?

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

    Как учебный пример для вышесказанного:
    1) в пакете сначала делаем запрос для фильтра по товарам на справочник Номенклатуры, где в секции ГДЕ будет условие на вхождение ссылки в результаты вложенного запроса по продажам в указанный пользователем период, а результат помещаем во временную таблицу.
    2) во втором запросе пакета делаем объединение выборок по товарному составу документов заказ товаров и реализация товаров, каждый из которых будет соединен внутренним соединением с ранее сформированной временной таблице для отсечения неинтересной информации и добавления недостающей колонки с артикулом номенклатуры в результат.
    Ответ написан
    Комментировать
  • Как сделать обмен с сайтом?

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

    Ошибочно понимаете.

    О чем вообще речь? О передаче с сайта базы покупателей в качестве контрагентов в вашу бухгалтерию? Или может об авторегистрации новых пользователей для вашей он-лайн системы?

    В первом случае проще сделать HTTP-сервис и передать в теле запроса все данные по вашему контрагенту.

    Во втором случае есть варианты. Вплоть до того, что ваш сайт сам будет выступать сервером авторизации по OAuth 2, который поддерживается платформой 1С8.
    Ответ написан
  • 1C- Парсер JSON?

    @Dementor
    программист, архитектор, аналитик
    Вам для какой версии платформы 1С?
    Начиная с уже относительно старой 8.3.6 - весь функционал для работы с JSON входит в штатную поставку. Если по какой-то причине интересуют более старые версии платформы, то лично я писал парсер самостоятельно (даже два - рекурсивный и потоковый), но где-то через год на infostart.ru появились еще несколько вариантов от пользователей - полистайте их каталог.
    Ответ написан
    Комментировать
  • Как исправить "Код справочника стал неуникальным"?

    @Dementor
    программист, архитектор, аналитик
    Забей на неуникальность кодов справочников - это не повод останавливать обновление.
    В смысле, молодец, что заметил. Выпиши куда-нибудь в блокнотик и обновляй дальше. Когда закончишь, можешь перенумеровать, если будет желание.
    Ответ написан
  • Как отловить POST на стороне 1с в веб сервисах?

    @Dementor
    программист, архитектор, аналитик
    как получить данные из пост запроса

    Из вашего вопроса не понял как вы передаете данные - в POST объект JSON или с помощью multipart/form-data.

    В первом случае текст вашего POST легко можно получить с помощью следующей конструкции:
    POST_txt = Запрос.ПолучитьТелоКакСтроку();

    и далее уже элементарно создаете с JSON объект и работаете с ним:

    ЧтениеJSON = Новый ЧтениеJSON;
    ЧтениеJSON.УстановитьСтроку(POST_txt);
    Объект_JSON = ПрочитатьJSON(ЧтениеJSON,,"DOC_DATE");  // важно указать все ваши поля типа даты, что бы потом не парсить вручную строки
    ЧтениеJSON.Закрыть();

    Во втором случае, если я не ошибаюсь, то можно получить значение POST-параметры с помощью упомянутого у вас метода запроса ПараметрыЗапроса() , который возвращает соответствие, где ключами будут названия параметров. Но на практике я это не проверял - для работы с HTML-формами вполне достаточно GET-параметров, а в POST все же удобно писать JSON или XML).
    Ответ написан
    2 комментария
  • Как изменить вид товара без последствий?

    @Dementor
    программист, архитектор, аналитик
    Cucumbere: вопрос вообще ни о чем. Вы так точный ответ никогда не получите. Звучит похоже на: "Я в Excel хочу сложить 2+2, но мне пишет, что в формуле ошибка; так может мне транспонировать таблицу?"

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

    В любом случае можно выкрутится. Скажем создать дубликат номенклатуры с нужным видом товара, а потом с помощью обработки по работе с дублями указать вторую как основную и сделать в базе замену всех ссылок с удалением старой позиции. Обработка в типовых встроена, а для других конфигураций можно взять с диска/сайта ИТС.
    Ответ написан
  • Как решить в 1с ошибку в модуле "РаботаВБезопасномРежимеСлужебный"?

    @Dementor
    программист, архитектор, аналитик
    Судя по скриншоту у вас конфигурация снята с поддержки и доработана. Все вопросы к тому, кто это делал.

    Если концов не найти и вам нужно это как-то расхлебывать, то запускайте Меню Конфигурация > Поддержка > Настройка поддержки > Сравнить объединить. Если в конфигурации поставщика есть пакет XDTO про который ругается код в модуле, то поставьте напротив него галочку и пусть он подтянется в вашу конфигурацию. Если нет, вероятно было частичное обновление и у вас два варианта - или откатится на версию общего модуля РаботаВБезопасномРежимеСлужебный из конфигурации поставщика (но тогда возможны другие ошибки - ведь не от балды кто-то обновлением занимался), или найти более свежую версию вашей конфигурации и с помощью сравнения/объединения добавить недостающий пакет XDTO.
    Ответ написан
  • Как сменить время в реализации товаров и услуг?

    @Dementor
    программист, архитектор, аналитик
    В модуле объекта документа найдите или создайте процедуру ПередЗаписью и туда пишите установку вашего времени. Получится что-то типа такого:

    Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
       // какой-то текст, который был ранее...
       Дата = КонецДня(Дата); // или НачалоДня(Дата)
    КонецПроцедуры // ПередЗаписью


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

    @Dementor
    программист, архитектор, аналитик
    Ну так у Вас практически все уже сделано!

    Осталось самое мелкое и незначительное:
    1. Купить у вашего интернет провайдера статический IP-адрес
    2. Купить красивое доменное имя
    3. На ns-сервере (его продавцы доменных имен предоставляют бесплатно) привязать ваш домен к вашему IP с помощью A-записи
    4. Настроить Apache на ответ по запросу этого доменного имени
    5. Купить для домена сертификат или воспользоваться бесплатным от Let’s Encrypt (можно и без него, но хром и мозила обещают все сайты без HTTPS показывать как неблагонадежные - если такое устраивает, то пропускайте этот и следующий пункт)
    6. Установить купленный сертификат в вашей системе и настроить Apache на его использование
    7. Добавить в ваш фаервол разрешающие правила для вашего HTTP/HTTPS трафика
    8. Если вы работаете из локальной сети, то еще возможно нужно будет настроить форвардинг HTTP/HTTPS трафика с вашего роутера на компьютер с физически установленным Apache (где при этом база 1С находится не имеет значения; главное, что бы на компе с веб-сервером стояли 1С-кие библиотеки и был прямой доступ по локалке)
    Ответ написан
    4 комментария
  • Не работает учебная версия 1С под Wine ЧЯДНТ?

    @Dementor
    программист, архитектор, аналитик
    Учебная версия платформы 1С есть в наличии только для операционной системы Windows. Работа под эмуляторами не декларируется и не гарантируется.

    То, что у вас запустилась версия 8.3.7.2027 - это большая удача. Пользуйтесь, если внешне все устраивает. Различия между вашей платформой и последней 8.3.10.* не очень значительные. Учебные материалы можно вообще было проходить на 8.2.*.*
    Ответ написан
  • Как реализовать скрытие значения справочника в системе 1с предприятие (пример: уволенный сотрудник)?

    @Dementor
    программист, архитектор, аналитик
    То что вы описали и есть стандартное решение.

    Мы в часть справочников добавили реквизит "Не используется", а в формах списка/выбора при открытии накладываем отбор, что бы такие элементы не показывать пользователю. Тут же на формах прячем кнопку "Показать скрытые", которая снимает этот отбор для случая работы с архивными данными (к примеру, выбрать в отчет по старому периоду). Но это была УТ10. Возможно, что подобный функционал уже внесли в состав БСП - не рыл в данном направлении, не знаю...
    Ответ написан
  • Настроил 1С по локальной сети на два компьютера, но проблемы с постоянной переиндексацией, что делать?

    @Dementor
    программист, архитектор, аналитик
    LalkaBagetova: админил семерку в 2003 году, но с указанным поведением не сталкивался. Насколько я помню, то нужно было или в конфигураторе насильно требовать переиндексацию, или из каталога базы удалить все файлы индексов *.cdx и *.idx

    Следовательно я допускаю, что при каждом входе (с главного ПК или по сети) после переиндексации создаются индексы, файловые права которых не дают другому человеку ими воспользоваться на чтение/запись. Только гипотеза.

    А вообще погуглите. Подобных тем на различных форумах море и в каждой есть советы "что делать". К примеру, по первой же ссылке случай с проблемой в данных и все полечилось после волшебной комбинации:
    Администрирование- выгрузить данные
    Администрирование- заггрузить данные
    Ответ написан
  • Можно ли написать своё веб-приложение в рамках веб-сервера 1С?

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

    или
    отправляет в 1С, там всё просчитывается и ему возвращается цена


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

    Во втором случае, клиент работает на вашем сайте и отправляет данные в 1С. Как реализовать HTTP-сервис с примером на 1С можете прочитать тут - infostart.ru/public/538808
    Ответ написан
    6 комментариев
  • Из таблицы справочника или регистра накопления быстрее получить данные?

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

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

    P.S. Кстати, одна из причин использования непериодических регистров сведения, которые подчинены справочникам (в виде указания ведущим измерением), вместо обычных табличных частей - как раз борьба с блокировками, которые возникают при обычной работе пользователей в базе с формами этих справочников. Их продвигали в эпоху конфигураций 8.0-8.2, но в новых типовых конфигурациях вернулись назад к использованию табличных частей. Пример - контактная информация.
    Ответ написан
    Комментировать
  • Как сделать автосумму в 1C?

    @Dementor
    программист, архитектор, аналитик
    Если хотите помощь, то уточняйте ЧТО КОНКРЕТНО вы не понимаете. Для меня тут вообще все очевидно и на все про все ленивые минуты 2 с тестированием.

    Итак:
    1) Вы не знаете как вообще создавать документы в дереве метаданных?
    2) Вы не знаете как создать форму для вашей "Заявки на транспортировку"?
    3) Вы не знаете как на форме разместить элементы формы?
    4) Вы не знаете, как вызвать палитру свойств для элемента формы?
    5) Вы не знаете, где в палитре свойств блок "События", в котором прописываются обработчики?
    6) Вы не знаете как прописать новый обработчик?
    7) Вы не знаете как проверить правильность выполненных доработок?
    Ответ написан
    4 комментария
  • Возможна ли реализация в 1с получения и отправки аттачей через soap?

    @Dementor
    программист, архитектор, аналитик
    Успешно делал пересылку файлов с помощью бинарного реквизита в теле soap-конверта.
    Технология SwA скорее всего поддерживаться не будет, так как развитие сейчас пошло больше в сторону HTTP-сервисов, как более привычных и удобных для веб-разработчиков.
    Ответ написан
    Комментировать
  • Ваше отношение к 1С в качестве Enterprise решения для бизнеса?

    @Dementor
    программист, архитектор, аналитик
    Вопрос какой-то странный. Само решение "1С:Предприятие 8" (платформа) написано на С++, JavaScript и Java (тут детальнее - https://habrahabr.ru/company/1c/blog/269611/). Вы не теплое с мягким сравниваете, а скорее ткацкий станок с овечьей шерстью.

    Может вы бы хотели сравнить что-то сопоставимое, а точнее какие-то решения уровня Enterprise? Из 1С можно взять программу "1С:ERP Управление предприятием 2" и сравнивать ее уже с SAP R3, Microsoft Dynamics AX, Oracle E-Business Suite и прочими.

    P.S. Сам в Enterprise не работал и имею опыт только с мелкими фирмами до 500 человек. Поэтому опытом поделится не могу...
    Ответ написан
    Комментировать