Задать вопрос
  • Как выгрузить товары из 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 комментариев
  • Из таблицы справочника или регистра накопления быстрее получить данные?

    @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 человек. Поэтому опытом поделится не могу...
    Ответ написан
    Комментировать
  • Можно ли объединить два и более хранилищ систем 1с с разными конфигураторами?

    @Dementor
    программист, архитектор, аналитик
    Технически реализовать не сложно. Пишите скрипт по 1) выгрузке файлов из "доработанной базы" и "связанных баз", 2) далее замене файлов общих для всех баз объектов в каталогах выгрузки из "связанных баз", 3) загружайте файлы назад в связанные базы.

    Единственное, что вам нужно взять во внимание (кроме отслеживания логической целостности конфигурации) в этой схеме - нельзя делать загрузку файлов в базу, которая подключена к хранилищу. Если вам так сильно нужно вносить изменения именно в хранилище (внешние системы контроля версия типа GIT по какой-то причине не подходят), то вам нужно использовать промежуточные базы и цепочка в скрипте увеличивается: 0) обновиться с хранилища, 1) тот же, 2) тот же, 3) тот же но в промежуточную базу, 4) выгрузка из промежуточной базы единого файла конфигурации CF, 5) захват конфигурации в хранилище, 6) сравнение/объединение базы подключенной к хранилищу с полученным на предыдущем шаге файлом (не уверен, что это можно сделать скриптом - возможно нужно будет явно пощелкать мышкой).
    Ответ написан
  • Франчайзинг, как старт карьеры 1С Программиста. Имеются ли подводные камни?

    @Dementor
    программист, архитектор, аналитик
    Пофантазируем. Предположим, что тебя не поставили на телефон, а сразу разрешили что-то программировать. Предположим, что тебе дают задачу "у клиента Х не проводится документ, выдает ошибку - нужно исправить". Ты лезешь в код и находишь, что ошибка из-за незаполненного реквизита. Ок, ты с чувством выполненного долга удаляешь непонятную проверку и сдаешь работу. На следующий день прибегает взмыленный начальник: "Ты что натворил? У клиента полетели все отчеты и период не закрывается!!!" - оказывается логика одной из подсистем крутится вокруг того, что тот реквизит ВСЕГДА должен быть заполнен и тебе было нужно не комментировать ошибку, а вывести сообщение пользователю, что он забыл внести важное значение...

    В 2004 году, когда меня зеленым новичком взяли в одну контору программистом с нулевыми знаниями программ моей фирмы, языка программирования (FoxPro) и основ экономики/бухгалтерии (включая терминологию), меня тоже изначально посадили на телефон оператором службы поддержки. Классический рабочий день - принимал звонок, бегал в мыле между сотрудников пытаясь узнать решение проблемы, лазил в листинги в попытках разобрать логику кода..., отзванивался клиенту и решал его проблему. В результате за два месяца уже знал всю терминологию, знал особенности всех наших программ и довольно неплохо программировал на FoxPro. При этом я настолько хорошо себя зарекомендовал, что мне полностью доверили проект перевода наших российских бюджетников на новый план счетов (согласно приказа Минфина РФ от 26.08.2004 № 70н). А через год я уже по заказу одной из киевских газет написал с нуля программу для учета распространения тиража печатной продукции.

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

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

    Не знаю как работает ваш опенкарт, но могу предположить что скрипт пытается загрузить ваш XML с помощью буферного чтения в файл. В какой-то момент срабатывает таймаут и сокет закрывается; загрузчик с помощью try-catch успешно обрабатывает ошибку и посылает ее куда подальше; остатки из буфера чтения успешно записываются в файл и происходит попытка его прочитать XML-парсером. В результате ошибка.

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

    @Dementor
    программист, архитектор, аналитик
    Ну, так используй не один параметр, а три - отдельно день, месяц и год.
    А в условии напиши что-то типа такого:
    ГДЕ ДЕНЬ(Т.Дата) = &День и МЕСЯЦ(Т.Дата) = &Месяц и ГОД(Т.Дата) = &Год
    Ответ написан
  • Как понять из-за чего зависает 1С на этапе создания информационной быза?

    @Dementor
    программист, архитектор, аналитик
    Для начала отмечу, что АртемЪ написал верно - PostgreSQL нужно после установки дополнительно настраивать - подгонять константы из конфига под реально доступные параметры системы. C этим вам поможет данная страничка: pgtune.leopard.in.ua
    Но, что бы бездумно не вносить непонятные магические цифры, предварительно рекомендую все же ознакомится с документацией. Рекомендую смотреть тут.

    Далее хочу отметить, что ваши действия похожи на шаманский танец - а если тут, а может так, а локально? Так тоже можно искать ошибки, но только в случае безысходности, когда уже ничего не помогает.

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

    @Dementor
    программист, архитектор, аналитик
    Наличие ошибок - это отсутствие или неполноценное тестирование.

    Вызывает вопросы ваша тестовая база - зачем она вам, если она не защищает от ошибок? Кто обнаруживает ошибки в рабочей базе и почему вы не даете этим людям возможность увидеть эти ошибки еще во время обновления тестовой базы?

    В зависимости от бюджетов и компетенций можете внедрить какие-то из технологий сценарных тестирований, что бы автоматически выявлять привнесенные ошибки:
    1c.ru/news/info.jsp?id=17985
    https://habrahabr.ru/post/307808/
    https://infostart.ru/public/262904/
    https://github.com/silverbulleters/vanessa-behavior
    Ответ написан
    8 комментариев