Задать вопрос
  • Перенос базы данных 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.
    Ответ написан
  • Как выгрузить товары из 1с v8.3 в excel с картинками?

    @Dementor
    программист, архитектор, аналитик
    Быстрее всего получить список товаров с общими реквизитами можно так:
    1) Заходишь в список товаров
    2) Правой клавишей мышки по списку и в контекстном меню "Вывести список"
    3) Меню "Файл" > "Сохранить как" и выбрать формат Excel.
    Но это без картинок.

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

    Далее соединить в Excel первую таблицу со всей доп информацией и таблицу с картинками - это плевое дело для любого, кто пишет в своем резюме "опытный пользователь Ms Office" :)
    Ответ написан
    Комментировать
  • Как сменить время в реализации товаров и услуг?

    @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с в правильной кодировке?

    @Dementor
    программист, архитектор, аналитик
    Какой-то бред написан...

    В системе 1С-Предприятие все данные внутри базы (конфигурация и ее версия тут не важны) хранятся в Юникоде (кроме варианта 7.7 - там действительно было в виндузовской кодировке). Сохранение любой информации по-умолчанию происходит в кодировке UTF-8, если явно не указать какую-то другую.

    Если нельзя - будут ли проблемы с работой сайта, если оставить таблице cp1251?

    Вы написали какой-то сайт на PHP и MySQL (судя по тегам), а теперь хотите от абсолютно незнакомых людей угадать: будут ли у вас проблемы??? Вас самого ничего не смущает в вашем вопросе? :)
    Ответ написан
    2 комментария
  • Как получить запросом данные из регистра накопления об остатке и откуда прибыла номенклатура?

    @Dementor
    программист, архитектор, аналитик
    Если в таблице ТоварыНаСкладах такого поля нет, то значит нужно делать ЛЕВОЕ СОЕДИНЕНИЕ с таблицей, где эти поля есть. Или не делать... В текущей постановке у такого вопроса не может быть ответа (разве что от экстрасенсов).

    Но давайте попробуем зайти с конца. Если вы анализируете остатки тракторов на складе, то значит вам все равно кто их продал. Точнее поставщик = завод производитель, т.е. для каждого трактора он предопределен (а если их несколько, то у вас просто нет шансов смотря на циферку остатка понимать от кого они пришли). Скорее всего (если у вас что-то типа УТ или УПП) у номенклатуры есть реквизит "ОсновнойПоставщик". В таком случае решение простое:

    ВЫБРАТЬ
    ТоварыНаСкладахОстатки.Организация,
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.Номенклатура.ОсновнойПоставщик,
    ТоварыНаСкладахОстатки.ВНаличииОстаток

    ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Организация = &Организация) КАК ТоварыНаСкладахОстатки
    Ответ написан
    Комментировать
  • Не работает учебная версия 1С под Wine ЧЯДНТ?

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

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

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

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

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

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

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

    @Dementor
    программист, архитектор, аналитик
    Судя по набору слов, которые вы применили, у вас очень мало опыта в создании решений на PHP и вовсе нет понимания в работе с 1С. Поясню:

    1) Вы ссылаете на статью, где есть пример создания XML-файла с помощью инструментов работы с DOM. Можно и так. А можно сделать XSLT-трансформацию вашего представления заказа в тот вид, который вам дали для интеграции с 1С. А можно и вовсе не заморачиваться и писать просто текстовый файл. Все зависит от вашего мастерства в PHP-программировании и контекста выполнения скрипта.
    1.1) Насколько я понял Yii2 - это фреймворк для создания интерфейсов, а не набор базовых библиотек. Поэтому искать в нем средства выгрузки заказа в файл бесполезно - он не знает что такое "заказ". Он знает только, что такое грид, который подгружает данные с вашей базы заказов.

    2) Дропбокс не имеет никакого отношения к 1С (и никогда не имел). Решения на платформе "1С Предприятие 8" (и некоторые 7.7) умеют получать данные из файлов, из внешних СУБД, запрашивать их по HTTPS или с FTP, сами выставлять к себе доступ и получать данные по REST-сервисам, SOAP или даже по COM-соединению (а если подключать библиотеки, то каналы связи ограничены только фантазией разработчика). В вашем случае вам дали четкое ТЗ на разработку, где есть описанный XML-формат заказа и место, куда файл нужно выгружать (на дропбокс, но точно так же могли потребовать на Яндекс-диск) - к 1С эти данные не имеют прямого отношения, просто так захотели разработчики, с которыми вы контактируете.

    Буду благодарен, у кого был опыт и примерный алгоритм скажет как действовать, чтобы не набивать лишний раз шышки, так как не было опыта по интеграции

    Самая распространненая схема - битриксовская (он были первыми, а другим было лень делать велосипеды): специально для 1С публикуется скрипт, который периодически дергается и выгружает свежие заказы. По этой ссылке очень обзорно написано, но там же есть учебный курс, где очень детально расписаны все форматы и орг.процедуры. Но для вас этот подход не подходит, так как вам дали задание делать файлы и грузить на дропбокс.
    Ответ написан
    2 комментария
  • Можно ли написать своё веб-приложение в рамках веб-сервера 1С?

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

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


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

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