Как id Software создавала Wolfenstein 3D на основе технологий из Commander Keen

У этого термина существуют и другие значения, см. .

id Software
Тип частная компания
Основание 21 сентября 1990
Основатели Джон Кармак Джон Ромеро Том Холл Адриан Кармак
Расположение США США: Мескит, Техас Германия Германия: Франкфурт[1]
Ключевые фигуры Тим Уиллитс (глава студии) Марти Стрэттон (ведущий продюсер) Хьюго Мартин (ведущий художник) Роберт Даффи (ведущий программист)
Отрасль индустрия компьютерных игр
Продукция Полный список в статье
Число сотрудников 200+ (2011)
Материнская компания ZeniMax Media
Сайт [www.idsoftware.com/ www.idsoftware.com]

К:Компании, основанные в 1990 году
id Software

— американская компания-разработчик компьютерных игр, основанная в 1991 году в Меските (Техас) и ставшая одним из основоположников 3D-шутеров. 24 июня 2009 года была приобретена компанией ZeniMax Media.

История

Основание

Фирма была основана четырьмя сотрудниками компьютерной компании Softdisk:

  • Джон Кармак, программист
  • Джон Ромеро, игровой дизайнер
  • Том Холл, игровой дизайнер
  • Адриан Кармак (однофамилец Джона Кармака), художник

Название

По официальной версии восходит к термину Зигмунда Фрейда и читается «ид»[2]. Однако в биографической книге Дэвида Кушнера «Masters of Doom» написано, что название «id» является аббревиатурой словосочетания «ideas from the deep», что в переводе с английского означает «идеи из глубины/глубокого».

Так же существует версия, что сначала название компании было именно аббревиатурой, но затем оно было заменено на термин Зигмунда Фрейда.

Слияние с ZeniMax Media

24 июня 2009 года было анонсировано, что компания ZeniMax Media, которая является родительской компанией Bethesda Softworks, завершила приобретение id Software. Согласно договору, Bethesda Softworks будет издавать все игры id Software за исключением тех, которые подпадают под соглашение на издание с другими компаниями. Тодд Холленсхед, генеральный директор id Software, так прокомментировал акт приобретения: «Сотрудничество с умным издателем, таким как Bethesda Softworks, было уникальной возможностью, при которой интересы студии и издателя будут полностью одинаковыми и в разработке, и в маркетинге наших игр. Кроме того, теперь мы имеем финансовые и деловые ресурсы для поддержки будущего развития id Software; это огромное преимущество, которое приведёт к более и более хорошим играм для наших фанатов». Id Software продолжит работать как студия-разработчик под руководством её основателя Джона Кармака. Согласно договору, в процессе разработки игр id Software не будет сделано никаких изменений, все руководители останутся на своих должностях и уже подписали контракты о продолжении деятельности на своих постах[3][4].

«Эта сделка помещает id Software в замечательную позицию, которая будет способствовать нашему продвижению», заявил Джон Кармак, который продолжит работать на должности технического директора. «Теперь мы будем в состоянии улучшить и расширить все наши франчайзы под одной крышей, усиливая наши способности благодаря многим командам, давая возможность проводить передовые исследования»[5][6].

Позднее известный игровой ресурс Kotaku.com попросил Кармака прокомментировать данную сделку[7]:

«Нам порядком надоело состязаться с нашими собственными издателями в вопросах того, какими будут наши игры. И у нас на самом деле накопилось больше интеллектуальной собственности, чем мы были способны использовать. А результаты работы с другими компаниями были не столь впечатляющими, какими могли бы. И потому идея превращения по существу в издателя и слияния с Bethesda и ZeniMax идеальна. Даже трудно вообразить более взаимодополняющие отношения. Они — асы, высший класс в области RPG. И они не пересекаются со всем тем, что мы делаем в жанре FPS».
Оригинальный текст
(англ.)

«We’re really getting kind of tired competing with our own publishers in terms of how our titles will be featured,» Carmack said. «And we’ve really gotten more IPs than we’ve been able to take advantage of. And working with other companies hasn’t been working out as spectacularly as it could. So the idea of actually becoming a publisher and merging Bethesda and ZeniMax on there It would be hard to imagine a more complementary relationship. They are triple A, top-of-the-line in what they do in the RPGs. And they have no overlap with all the things we do in the FPSes.»

Джон Ромеро, бывший сотрудник id Software, назвал эту сделку «отвратительной», а также добавил «Fallout 3 купил DOOM»[8]. Однако позднее он изменил своё мнение, заявив: «Я положительно отношусь к сделке с ZeniMax. Моя первоначальная реакция была резкой. Жаль. Я полагаю, что я был потрясён и грустен, когда увидел, что та старая id Software сегодня изменилась навсегда. Это новый день и новая id Software»[9][10].

На следующий день, 25 июня, сайт VentureBeat разговаривал с Джоном Кармаком касательно данной сделки. На вопрос о том, почему id Software так сделала, Кармак ответил следующим образом[11][12]:

ZeniMax пришла с предложением. Чем больше мы на него смотрели, тем больше оно нам нравилось. Среди двух очевидных покупателей id Software присутствовали Electronic Arts и Activision. Они являются двумя гигантами игровой индустрии. Но мы знали, что должны будем пройти через существенные корпоративные изменения, если пойдём с ними. Мы знаем разработчиков, работающих в студиях, принадлежащих этим компаниям. И хотя они много чего хорошего говорят, но нет сомнения в том, что эти компании изменились. И если бы мы пошли к одной из этих двух компаний, то мы бы стали ещё одной такой студией. Мы были бы дорогой студией, но мы бы не были единственной студией издателя, которая производит шутеры. И нам пришлось бы конкурировать за ресурсы с нашими партнёрскими и сестринскими студиями. Нет сомнения, что если бы в них был проект типа Call of Duty, то был бы конфликт.

Также в данном интервью Кармак говорил о будущем компании. Он сообщил о намерении id Software создать три команды разработчиков, которые бы параллельно работали над тремя крупными проектами. После того, как Quake Live будет закончена, её небольшая команда перейдёт на мультиплеер Rage и Doom 4. Согласно Кармаку, на момент интервью компания располагает двумя крупными командами, работающими над Rage и Doom 4. Также есть отделение мобильных игр. Соответственно, планируется создание третьей новой команды путём набора новых сотрудников. На момент данного интервью общее количество сотрудников компании равно 105[13][14].

Джордж Бруссард, сооснователь 3D Realms, так прокомментировал данную покупку[10][15]:

Нет лучшей компании, которая бы могла купить их. Мы все довольно удачливы, и я ожидаю, что ZeniMax не будет существенно «трогать» id Software и даст ей делать то, что они делают; т.е. поступит так же, как и с Bethesda. Помните, что Oblivion и Fallout 3 были сделаны при том же самом соглашении. Если бы это был какой-то другой издатель, то это была бы причина для поминок, но в этом случае сто́ит праздновать.

Позже стало известно, что для покупки id Software компания ZeniMax Media взяла кредит в размере $105 млн[16].

Doom 2

Brutal Doom

Помните, что когда-то давным давно Doom был запрещен из за запредельной жестокости? Это сейчас он нам кажется таким квадратным, милым и добрым, что даже в Германии его разрешили. Ну так вот, наконец вышел мод который дотягивает уровень жести до того, что его пора бы запретить его еще разок . Встречайте — Brutal Doom.

  • Море крови и дырок от пуль на стенах и прямо на вашем экране (и море, это мягко сказано)
  • Изменен баланс с упором на скорость и динамику. Что-то ближе к Serious Sam в его лучших проявлениях
  • Смачные зрелищные спецэффекты. Видели бы вы как бешенно тут все трясет при взрывах!
  • Жуткие но при этом сочные звуки
  • Иногда монстры не умирают сразу, и их можно добивать используюя жосткие фаталити (за это дают бонусные броню и здоровье)
  • Куча новых анимаций смертей монстров и игроков с кинематографичным полетом камеры. Например бык может натурально съесть зомби. А вы, в приступе берсерка, разорвать быка на 2 части. И вся это в стильной квадратной графике. Кстати! Вам тоже могут сделать фаталити
  • Удар ногой на Q, чего так не хватало для подло выскакивающих в упор монстров. А еще их можно скидывать с обрывов!
  • Новое, клёвое оружие. Нет больше сильных и слабых пушек. Теперь каждая пушка — сама по себе очень крутая. Например вместо пистолета — универсальная винтовка с хорошим прицеолом
  • A кулаками можно совершать стелс-убийства а так же ловить и кидать горящие головы
  • Хедшоты наносят двойной уроном
  • Необходимость перезаряжать оружие. Супостаты перезаряжаются тоже, давая вам шанс выскочить из укрытия, и завалить их в упор
  • Монстры научились прыгать. Так что если теперь вы попробуете хитро растрелять беззащитного демона на недоступной платформе, он обязательно спуститься к вам, и объяснит почему так делать нечестно
  • Можно выпиливать (в буквальном смысле) пушки у Ревенантов и Манкубусов
  • Наконец то можно разрушать и поджигать предметы окружения
  • Еще множество адских сюрпризов

Вообщем Brutal Doom — адские стероиды, которые на 200% реанимируют старый добрый Дум. Действие напоминает последние полчаса фильма Cabin In The Woods. С модом веселее и интереснее проходить разные мегавады (да, до сих пор талантивые люди делают для нас новые уровни). Или наример мне этот мод на пару с Hires-Текстурами дал мне повод в n-ный раз пройти Doom 2 на Nightmare. Единственный комментарий который крутился у меня в голове — «wow, this was pretty intense«.

Короче, включайте музычку потяжелее, и лучшего антистресса вам не найти!

Установка Brutal Doom

  1. Скачайте и установите Skulltag
  2. Скачайте Hires-Текстуры для Skulltag (zd-dhtp-20101225.pk3)
  3. Скачайте Brutal Doom для Skulltag и Zandorum (brutaldoomv016b.pk3)
  4. Запускайте следующей командой: Shell
    1 skulltag -file /full_path_to/zd-dhtp-20101225.pk3 /full_path_to/brutaldoomv016b.pk3

Если игра не запускается, ругаясь на «SERVERSIDEONLY» is an unknown flag, откройте файл brutaldoomv016b.pk3 и в файлах BOSSBOX и HEAD_SYS удалите все строчки содержащие слово SERVERSIDEONLY.

Кстати, если вдруг любимые мегавады на Nightmare с Brutal Doom становяться непроходимыми — вот вам регенерация, как в этих ваших современных шутерах.

Stronghold — On The Edge Of Chaos

И еще одно чертовски проработанное дополнение для Doom. Есть множество уровней с адскими полчищами новых монстров, которые набегают волнами. Куча миссий на этих картах. И уютная база с дружелюбными NPC и магазином, куда можно возвращаться между рейдами. Вообщем поиграйте, оно того стоит.

Установка Stronghold

  1. Скачайте и установите Skulltag
  2. Скачайте Stronghold
  3. Запускайте коммандой Shell
    1 skulltag -file /full_path_to/strnghld_v1.pk3

Описание компании

На 2009 год ключевыми фигурами компании являлись[17]:

  • Джон Кармак (англ. John Carmack
    ), сооснователь, технический директор (покинул компанию в ноябре 2013 года для возможности работать над своим проектом Oculus Rift[18])
  • Кэвин Клауд (англ. Kevin Cloud
    ), сооснователь, художник
  • Тим Уиллитс (англ. Tim Willits
    ), сооснователь, ведущий дизайнер
  • Тодд Холленсхед (англ. Todd Hollenshead
    ), сооснователь, генеральный директор (покинул компанию в июне 2013 года)
  • Катерина Анна Кэнг (англ. Katherine Anna Kang
    ), президент, заведующий отделом «id mobile», жена Д. Кармака[19]

Список продуктов

  • 1988 – Dangerous Dave
    (MS-DOS, Apple II) 1990 –
    Double Dangerous Dave
    (16-цветный порт оригинала 1988 года)
  • 1990 – Dangerous Dave
    (версия оригинала 1988 года для DOS, позже была переиздана как:
    Dangerous Dave in the Deserted Pirate’s Hideout
    )
  • 1989 – Catacomb
    (MS-DOS)
  • 1990 – Dangerous Dave in »Copyright Infringement»
    (была создана Джоном Кармаком, для демонстрации плавного перехода экрана в сайд-скроллерах на PC)
  • 1991 – Dangerous Dave in the Haunted Mansion
    (MS-DOS, Apple II)
  • 1991 – Catacomb II
    (aka
    The Catacomb
    (MS-DOS)
  • 1993 – Dangerous Dave’s Risky Rescue
    (MS-DOS)
  • 1993 – Dave Goes Nutz!
    MS-DOS)
  • Commander Keen
    (MS-DOS)
      1990 – Episode 1: Marooned on Mars
  • 1991 – Episode 2: The Earth Explodes
  • 1991 – Episode 3: Keen Must Die
  • 1991 – Keen Dreams
  • 1991 – Episode 4: Secret of the Oracle
  • 1991 – Episode 5: The Armageddon Machine
  • 1991 – Episode 6: Aliens Ate My Baby Sitter
  • 1991 – Rescue Rover
    (MS-DOS)
  • 1991 – Rescue Rover 2
    (MS-DOS)
  • 1991 – Slordax
    (MS-DOS)
  • 1991 – Shadow Knights
    (MS-DOS)
  • 1991 – Hovertank 3D
    (MS-DOS)
  • 1992 – Catacomb 3D
    :
    A New Dimension
    , переиздана под названием
    Catacomb 3-D: The Descent
      1992 – Catacomb Abyss
  • 1992 – Catacomb Armageddon
    , переиздана под названием
    Curse of the Catacombs
  • 1992 – Catacomb Apocalypse
    , переиздана под названием
    Terror of the Catacombs
  • 1992 – Wolfenstein 3D
    (MS-DOS)
      1992 – Spear of Destiny
  • 1993 – Spear of Destiny Mission 2: Return to Danger
  • 1993 – Spear of Destiny Mission 3: The Ultimate Challenge
  • 1993 – Doom
    (MS-DOS)
      1995 – The Ultimate Doom
  • 1994 – Doom II: Hell on Earth
    (MS-DOS)
      1995 – Master Levels for Doom II
  • 1996 – Final Doom: TNT Evilution
    (разработана любителями)
  • 1996 – Final Doom: The Plutonia Experiment
    (разработана любителями)
  • 1994 – Heretic
    (MS-DOS) (разработана компанией Raven Software)
      1994 – Heretic: Shadow of the Serpent Riders (разработана компанией Raven Software)
  • 1995 – HeXen
    (MS-DOS) (разработана компанией Raven Software)
      1995 –HeXen: The Deathkings of the Dark Citadel (разработана компанией Raven Software)
  • 1997 – HeXen II
    (1997) (Microsoft Windows, Mac) (разработана компанией Raven Software)
      1998 – HeXen II: Portal of Praevus
      (разработана компанией Raven Software)
  • 1996 – Quake
    (MS-DOS, Linux)
      1997 – Mission Pack 1: Scourge of Armagon
      (разработана компанией Hipnotic Interactive, позже ставшей называться Ritual Entertainment)
  • 1997 – Mission Pack 2: Dissolution of Eternity
    (разработана компанией Rogue Entertainment)
  • 1997 – Quake II
      1998 – Mission Pack 1: The Reckoning
      (разработана компанией Xatrix Entertainment, позже ставшей называться Gray Matter Interactive)
  • 1998 – Mission Pack 2: Ground Zero
    (разработана компанией Rogue Entertainment)
  • 1997 – DOOM 64
    (разработан Midway Interactive для Nintendo 64)
      2005 – DOOM 64: The Outcast Levels
  • 1999 – Quake III Arena
      2000 – Expansion: Team Arena
  • 2001 – Return to Castle Wolfenstein
    (разработана компанией Gray Matter Interactive, мультиплеер разработан компанией Nerve Software)
  • 2003 – Wolfenstein: Enemy Territory
    (разработана компанией Splash Damage)
  • 2004 – Doom 3
      2005 – Expansion: Resurrection of Evil
      (разработана компанией Nerve Software)
  • 2005 – Doom RPG
    (разработана id Software для мобильных телефонов)
  • 2005 – Quake 4
    (разработана компанией Raven Software)
  • 2006 – Orcs & Elves
    (разработана id Software для мобильных телефонов)
  • 2007 – Orcs & Elves II
    (разработана id Software для мобильных телефонов)
  • 2007 – Enemy Territory: Quake Wars
    (разработана компанией Splash Damage)
  • 2007 – Wolfenstein RPG
    (разработана id Software для мобильных телефонов)
  • 2009 – Wolfenstein
    (разработана совместно с Raven Software) (Microsoft Windows, PlayStation 3, Xbox 360)
  • 2009 – Doom: Resurrection
    (iOS)
  • 2009 – Wolfenstein 3D Classic
    (Java, iOS)
  • 2009 – Wolfenstein RPG
    (Java, iOS)
  • 2009 – Doom II RPG
    (разработана id Software для мобильных телефонов)
  • 2010 – Rage: Mutant Bash TV
    (iOS)
  • 2010 – Quake Live
    (Microsoft Windows)
  • 2011 – Rage
    (Microsoft Windows, Mac OS X, PlayStation 3, Xbox 360)
  • 2012 – Doom 3 BFG Edition
    (Microsoft Windows, Linux, PlayStation 3, Xbox 360)
  • 2016 – DOOM
    (Microsoft Windows, PlayStation 4, Xbox One)
  • 2018, в разработке – Quake Champions
    (Microsoft Windows)
  • В некоторых странах (например, в Германии) игры фирмы по причине присутствия элементов насилия долгое время не были допущены для официальной продажи.

    Скачать игру Quake 2 v3.20 — полная русская версия

    Рейтинг: 9.45 [31]

    Добавил игру: Otto | 15.07.2012 | Бродилки (211) | Сетевые игры (150) | Стрелялки, шутеры (130)

    |

    Примечания

    1. [www.bethblog.com/2015/08/05/now-hiring-id-software-hiring-for-new-office-in-frankfurt/ Now Hiring: id Software Hiring for New Office in Frankfurt]
    2. [www.idsoftware.com/business/history/ id Software: id History] (англ.). id Software. Проверено 26 мая 2009. [www.webcitation.org/61CsDbZFF Архивировано из первоисточника 25 августа 2011].
    3. Роман Епишин.
      [www.igromania.ru/GameNews/24570/ZeniMax_kupila_id_Software.htm ZeniMax купила id Software](недоступная ссылка —
      история
      ). Игромания (журнал) (24 июня 2009 года). Проверено 24 июня 2009.
    4. Mumby.
      [news.playground.ru/25675/#comments id Software куплена с потрохами компанией ZeniMax Media]. PlayGround.ru (25 июня 2009 года). Проверено 25 июня 2009. [www.webcitation.org/61CrzGYFT Архивировано из первоисточника 25 августа 2011].
    5. Andrew Burnes.
      [ve3d.ign.com/articles/news/48578/Bethesda-Buys-id-Software Bethesda Buys id Software!] (англ.). Voodoo Extreme 3D (24 июня 2009 года). Проверено 25 июня 2009. [www.webcitation.org/61Cs1mk17 Архивировано из первоисточника 25 августа 2011].
    6. Сергей Ваткин.
      [www.gamedev.ru/industry/news/Bethesda_id_Software Bethesda приобрела id Software]. GameDev.ru (24 июня 2009 года). Проверено 25 июня 2009. [www.webcitation.org/61Cs2dVhg Архивировано из первоисточника 25 августа 2011].
    7. Stephen Totilo.
      [kotaku.com/5302060/id-software-bought-by-bethesda-parent-company-zenimax id Software Bought By Bethesda Parent Company, ZeniMax] (англ.). Kotaku.com (24 June 2009). Проверено 27 декабря 2014.
    8. Andrew Burnes.
      [ve3d.ign.com/articles/news/48595/John-Romero-Calls-id-Sell-Out-Disgusting John Romero Calls id Sell Out «Disgusting»] (англ.). Voodoo Extreme 3D (24 июня 2009 года). Проверено 25 июня 2009. [www.webcitation.org/61Cs6bb5x Архивировано из первоисточника 25 августа 2011].
    9. Andrew Burnes.
      [ve3d.ign.com/articles/news/48619/John-Romero-Changes-His-Tune John Romero Changes His Tune] (англ.). Voodoo Extreme 3D (24 июня 2009 года). Проверено 25 июня 2009. [www.webcitation.org/61Cs7MTVA Архивировано из первоисточника 25 августа 2011].
    10. 12Nick Breckon.
      [www.shacknews.com/onearticle.x/59278 Industry Responds to id Software Acquisition; Co-founder Romero Labels Deal ‘Disgusting’] (англ.). Shacknews (24 июня 2009 года). Проверено 28 июня 2009. [www.webcitation.org/61CsBK28P Архивировано из первоисточника 25 августа 2011].
    11. Jube.
      [ve3d.ign.com/articles/news/48634/What-The-Future-Holds-For-id-Software-ZeniMax What The Future Holds For id Software & ZeniMax] (англ.). Voodoo Extreme 3D (25 июня 2009 года). Проверено 26 июня 2009. [www.webcitation.org/61Cs86tJ0 Архивировано из первоисточника 25 августа 2011].
    12. [www.gametech.ru/cgi-bin/show.pl?option=news&id=7822 Джон Кармак о продаже id Software]. GameTech (26 июня 2009 года). Проверено 26 июня 2009. [www.webcitation.org/61Cs8inL6 Архивировано из первоисточника 25 августа 2011].
    13. Chris Faylor.
      [www.shacknews.com/onearticle.x/59285 id’s John Carmack Explains ZeniMax Acquisition, Discusses Future Plans] (англ.). Shacknews (25 июня 2009 года). Проверено 28 июня 2009. [www.webcitation.org/61CsAJa8J Архивировано из первоисточника 25 августа 2011].
    14. Петр Петров.
      [www.3dnews.ru/software-news/dzhon_karmak_rasskazivaet_o_svoih_planah_na_budushee/ Джон Кармак рассказывает о своих планах на будущее]. 3DNews (28 июня 2009 года). Проверено 28 июня 2009.
    15. Петр Петров.
      [www.3dnews.ru/software-news/starozhili_reagiruut_na_prodazhu_id_software/ Старожилы реагируют на продажу id Software]. 3DNews (26 июня 2009 года). Проверено 26 июня 2009.
    16. Иван Норенко.
      [www.3dnews.ru/games/games_weekly_120709/ Игровая индустрия за неделю. 6 — 12 июля 2009]. 3DNews (12 июля 2009 года). — Первая часть еженедельного обзора игровой индустрии. Проверено 14 июля 2009.
    17. [www.idsoftware.com/business/team/ id Software: id Team] (англ.)(недоступная ссылка — история
      ). id Software. Проверено 26 мая 2009. [web.archive.org/20060315213611/www.idsoftware.com/business/team/ Архивировано из первоисточника 15 марта 2006].
    18. Sean Hollister.
      [www.theverge.com/2013/11/22/5134574/john-carmack-resigns-from-id-software-will-focus-his-time-on-oculus-vr John Carmack resigns from id Software to focus on Oculus VR]. The Verge (22 ноября 2013 года). Проверено 05 февраля 2014 года.
    19. [www.gametech.ru/cgi-bin/show.pl?option=news&id=1088 id Mobile под руководством жены Джона Кармака]. GameTech (30 ноября 2008 года). Проверено 24 июня 2009. [www.webcitation.org/61CsC537M Архивировано из первоисточника 25 августа 2011].

    Ссылки

    • Компания Softdisk • 3D Realms • FormGen • GT Interactive • ZeniMax Media • QuakeCon • Masters of Doom
      Серия Wolfenstein Wolfenstein 3D • Spear of Destiny • Return to Castle Wolfenstein (Enemy Territory) • Wolfenstein • Wolfenstein: The New Order
      Серия Doom Doom (The Ultimate Doom) • Doom II: Hell on Earth (Final Doom • Master Levels for Doom II) • Doom 3 (Resurrection of Evil) • Doom (2016)
      Серия Quake Quake • Quake II • Quake III Arena (Team Arena) • Quake 4 • Enemy Territory: Quake Wars • Quake Live • Quake Champions
      Серия Commander Keen Marooned on Mars • The Earth Explodes • Keen Must Die! • Keen Dreams • Secret of the Oracle • The Armageddon Machine • Aliens Ate My Babysitter!
      Другие игры Dangerous Dave • Dangerous Dave in the Haunted Mansion • Rescue Rover • Rescue Rover 2 • Shadow Knights • Hovertank 3D • Catacomb 3-D • Rage
      Технологии id Tech Wolfenstein 3D engine • Doom engine • Quake engine • id Tech 2 • id Tech 3 • id Tech 4 • id Tech 5 • id Tech 6

    Отрывок, характеризующий Id Software

    Со времени этого известия и до конца кампании вся деятельность Кутузова заключается только в том, чтобы властью, хитростью, просьбами удерживать свои войска от бесполезных наступлений, маневров и столкновений с гибнущим врагом. Дохтуров идет к Малоярославцу, но Кутузов медлит со всей армией и отдает приказания об очищении Калуги, отступление за которую представляется ему весьма возможным. Кутузов везде отступает, но неприятель, не дожидаясь его отступления, бежит назад, в противную сторону. Историки Наполеона описывают нам искусный маневр его на Тарутино и Малоярославец и делают предположения о том, что бы было, если бы Наполеон успел проникнуть в богатые полуденные губернии. Но не говоря о том, что ничто не мешало Наполеону идти в эти полуденные губернии (так как русская армия давала ему дорогу), историки забывают то, что армия Наполеона не могла быть спасена ничем, потому что она в самой себе несла уже тогда неизбежные условия гибели. Почему эта армия, нашедшая обильное продовольствие в Москве и не могшая удержать его, а стоптавшая его под ногами, эта армия, которая, придя в Смоленск, не разбирала продовольствия, а грабила его, почему эта армия могла бы поправиться в Калужской губернии, населенной теми же русскими, как и в Москве, и с тем же свойством огня сжигать то, что зажигают? Армия не могла нигде поправиться. Она, с Бородинского сражения и грабежа Москвы, несла в себе уже как бы химические условия разложения. Люди этой бывшей армии бежали с своими предводителями сами не зная куда, желая (Наполеон и каждый солдат) только одного: выпутаться лично как можно скорее из того безвыходного положения, которое, хотя и неясно, они все сознавали. Только поэтому, на совете в Малоярославце, когда, притворяясь, что они, генералы, совещаются, подавая разные мнения, последнее мнение простодушного солдата Мутона, сказавшего то, что все думали, что надо только уйти как можно скорее, закрыло все рты, и никто, даже Наполеон, не мог сказать ничего против этой всеми сознаваемой истины. Но хотя все и знали, что надо было уйти, оставался еще стыд сознания того, что надо бежать. И нужен был внешний толчок, который победил бы этот стыд. И толчок этот явился в нужное время. Это было так называемое у французов le Hourra de l’Empereur [императорское ура]. На другой день после совета Наполеон, рано утром, притворяясь, что хочет осматривать войска и поле прошедшего и будущего сражения, с свитой маршалов и конвоя ехал по середине линии расположения войск. Казаки, шнырявшие около добычи, наткнулись на самого императора и чуть чуть не поймали его. Ежели казаки не поймали в этот раз Наполеона, то спасло его то же, что губило французов: добыча, на которую и в Тарутине и здесь, оставляя людей, бросались казаки. Они, не обращая внимания на Наполеона, бросились на добычу, и Наполеон успел уйти. Когда вот вот les enfants du Don [сыны Дона] могли поймать самого императора в середине его армии, ясно было, что нечего больше делать, как только бежать как можно скорее по ближайшей знакомой дороге. Наполеон, с своим сорокалетним брюшком, не чувствуя в себе уже прежней поворотливости и смелости, понял этот намек. И под влиянием страха, которого он набрался от казаков, тотчас же согласился с Мутоном и отдал, как говорят историки, приказание об отступлении назад на Смоленскую дорогу. То, что Наполеон согласился с Мутоном и что войска пошли назад, не доказывает того, что он приказал это, но что силы, действовавшие на всю армию, в смысле направления ее по Можайской дороге, одновременно действовали и на Наполеона. Когда человек находится в движении, он всегда придумывает себе цель этого движения. Для того чтобы идти тысячу верст, человеку необходимо думать, что что то хорошее есть за этими тысячью верст. Нужно представление об обетованной земле для того, чтобы иметь силы двигаться. Обетованная земля при наступлении французов была Москва, при отступлении была родина. Но родина была слишком далеко, и для человека, идущего тысячу верст, непременно нужно сказать себе, забыв о конечной цели: «Нынче я приду за сорок верст на место отдыха и ночлега», и в первый переход это место отдыха заслоняет конечную цель и сосредоточивает на себе все желанья и надежды. Те стремления, которые выражаются в отдельном человеке, всегда увеличиваются в толпе. Для французов, пошедших назад по старой Смоленской дороге, конечная цель родины была слишком отдалена, и ближайшая цель, та, к которой, в огромной пропорции усиливаясь в толпе, стремились все желанья и надежды, – была Смоленск. Не потому, чтобы люди знала, что в Смоленске было много провианту и свежих войск, не потому, чтобы им говорили это (напротив, высшие чины армии и сам Наполеон знали, что там мало провианта), но потому, что это одно могло им дать силу двигаться и переносить настоящие лишения. Они, и те, которые знали, и те, которые не знали, одинаково обманывая себя, как к обетованной земле, стремились к Смоленску. Выйдя на большую дорогу, французы с поразительной энергией, с быстротою неслыханной побежали к своей выдуманной цели. Кроме этой причины общего стремления, связывавшей в одно целое толпы французов и придававшей им некоторую энергию, была еще другая причина, связывавшая их. Причина эта состояла в их количестве. Сама огромная масса их, как в физическом законе притяжения, притягивала к себе отдельные атомы людей. Они двигались своей стотысячной массой как целым государством. Каждый человек из них желал только одного – отдаться в плен, избавиться от всех ужасов и несчастий. Но, с одной стороны, сила общего стремления к цели Смоленска увлекала каждою в одном и том же направлении; с другой стороны – нельзя было корпусу отдаться в плен роте, и, несмотря на то, что французы пользовались всяким удобным случаем для того, чтобы отделаться друг от друга и при малейшем приличном предлоге отдаваться в плен, предлоги эти не всегда случались. Самое число их и тесное, быстрое движение лишало их этой возможности и делало для русских не только трудным, но невозможным остановить это движение, на которое направлена была вся энергия массы французов. Механическое разрывание тела не могло ускорить дальше известного предела совершавшийся процесс разложения. Ком снега невозможно растопить мгновенно. Существует известный предел времени, ранее которого никакие усилия тепла не могут растопить снега. Напротив, чем больше тепла, тем более крепнет остающийся снег. Из русских военачальников никто, кроме Кутузова, не понимал этого. Когда определилось направление бегства французской армии по Смоленской дороге, тогда то, что предвидел Коновницын в ночь 11 го октября, начало сбываться. Все высшие чины армии хотели отличиться, отрезать, перехватить, полонить, опрокинуть французов, и все требовали наступления. Кутузов один все силы свои (силы эти очень невелики у каждого главнокомандующего) употреблял на то, чтобы противодействовать наступлению. Он не мог им сказать то, что мы говорим теперь: зачем сраженье, и загораживанье дороги, и потеря своих людей, и бесчеловечное добиванье несчастных? Зачем все это, когда от Москвы до Вязьмы без сражения растаяла одна треть этого войска? Но он говорил им, выводя из своей старческой мудрости то, что они могли бы понять, – он говорил им про золотой мост, и они смеялись над ним, клеветали его, и рвали, и метали, и куражились над убитым зверем. Под Вязьмой Ермолов, Милорадович, Платов и другие, находясь в близости от французов, не могли воздержаться от желания отрезать и опрокинуть два французские корпуса. Кутузову, извещая его о своем намерении, они прислали в конверте, вместо донесения, лист белой бумаги. И сколько ни старался Кутузов удержать войска, войска наши атаковали, стараясь загородить дорогу. Пехотные полки, как рассказывают, с музыкой и барабанным боем ходили в атаку и побили и потеряли тысячи людей. Но отрезать – никого не отрезали и не опрокинули. И французское войско, стянувшись крепче от опасности, продолжало, равномерно тая, все тот же свой гибельный путь к Смоленску. Бородинское сражение с последовавшими за ним занятием Москвы и бегством французов, без новых сражений, – есть одно из самых поучительных явлений истории. Все историки согласны в том, что внешняя деятельность государств и народов, в их столкновениях между собой, выражается войнами; что непосредственно, вследствие больших или меньших успехов военных, увеличивается или уменьшается политическая сила государств и народов. Как ни странны исторические описания того, как какой нибудь король или император, поссорившись с другим императором или королем, собрал войско, сразился с войском врага, одержал победу, убил три, пять, десять тысяч человек и вследствие того покорил государство и целый народ в несколько миллионов; как ни непонятно, почему поражение одной армии, одной сотой всех сил народа, заставило покориться народ, – все факты истории (насколько она нам известна) подтверждают справедливость того, что большие или меньшие успехи войска одного народа против войска другого народа суть причины или, по крайней мере, существенные признаки увеличения или уменьшения силы народов. Войско одержало победу, и тотчас же увеличились права победившего народа в ущерб побежденному. Войско понесло поражение, и тотчас же по степени поражения народ лишается прав, а при совершенном поражении своего войска совершенно покоряется. Так было (по истории) с древнейших времен и до настоящего времени. Все войны Наполеона служат подтверждением этого правила. По степени поражения австрийских войск – Австрия лишается своих прав, и увеличиваются права и силы Франции. Победа французов под Иеной и Ауерштетом уничтожает самостоятельное существование Пруссии. Но вдруг в 1812 м году французами одержана победа под Москвой, Москва взята, и вслед за тем, без новых сражений, не Россия перестала существовать, а перестала существовать шестисоттысячная армия, потом наполеоновская Франция. Натянуть факты на правила истории, сказать, что поле сражения в Бородине осталось за русскими, что после Москвы были сражения, уничтожившие армию Наполеона, – невозможно. После Бородинской победы французов не было ни одного не только генерального, но сколько нибудь значительного сражения, и французская армия перестала существовать. Что это значит? Ежели бы это был пример из истории Китая, мы бы могли сказать, что это явление не историческое (лазейка историков, когда что не подходит под их мерку); ежели бы дело касалось столкновения непродолжительного, в котором участвовали бы малые количества войск, мы бы могли принять это явление за исключение; но событие это совершилось на глазах наших отцов, для которых решался вопрос жизни и смерти отечества, и война эта была величайшая из всех известных войн… Период кампании 1812 года от Бородинского сражения до изгнания французов доказал, что выигранное сражение не только не есть причина завоевания, но даже и не постоянный признак завоевания; доказал, что сила, решающая участь народов, лежит не в завоевателях, даже на в армиях и сражениях, а в чем то другом. Французские историки, описывая положение французского войска перед выходом из Москвы, утверждают, что все в Великой армии было в порядке, исключая кавалерии, артиллерии и обозов, да не было фуража для корма лошадей и рогатого скота. Этому бедствию не могло помочь ничто, потому что окрестные мужики жгли свое сено и не давали французам. Выигранное сражение не принесло обычных результатов, потому что мужики Карп и Влас, которые после выступления французов приехали в Москву с подводами грабить город и вообще не выказывали лично геройских чувств, и все бесчисленное количество таких мужиков не везли сена в Москву за хорошие деньги, которые им предлагали, а жгли его. Представим себе двух людей, вышедших на поединок с шпагами по всем правилам фехтовального искусства: фехтование продолжалось довольно долгое время; вдруг один из противников, почувствовав себя раненым – поняв, что дело это не шутка, а касается его жизни, бросил свою шпагу и, взяв первую попавшуюся дубину, начал ворочать ею. Но представим себе, что противник, так разумно употребивший лучшее и простейшее средство для достижения цели, вместе с тем воодушевленный преданиями рыцарства, захотел бы скрыть сущность дела и настаивал бы на том, что он по всем правилам искусства победил на шпагах. Можно себе представить, какая путаница и неясность произошла бы от такого описания происшедшего поединка. Фехтовальщик, требовавший борьбы по правилам искусства, были французы; его противник, бросивший шпагу и поднявший дубину, были русские; люди, старающиеся объяснить все по правилам фехтования, – историки, которые писали об этом событии. Со времени пожара Смоленска началась война, не подходящая ни под какие прежние предания войн. Сожжение городов и деревень, отступление после сражений, удар Бородина и опять отступление, оставление и пожар Москвы, ловля мародеров, переимка транспортов, партизанская война – все это были отступления от правил. Наполеон чувствовал это, и с самого того времени, когда он в правильной позе фехтовальщика остановился в Москве и вместо шпаги противника увидал поднятую над собой дубину, он не переставал жаловаться Кутузову и императору Александру на то, что война велась противно всем правилам (как будто существовали какие то правила для того, чтобы убивать людей). Несмотря на жалобы французов о неисполнении правил, несмотря на то, что русским, высшим по положению людям казалось почему то стыдным драться дубиной, а хотелось по всем правилам стать в позицию en quarte или en tierce [четвертую, третью], сделать искусное выпадение в prime [первую] и т. д., – дубина народной войны поднялась со всей своей грозной и величественной силой и, не спрашивая ничьих вкусов и правил, с глупой простотой, но с целесообразностью, не разбирая ничего, поднималась, опускалась и гвоздила французов до тех пор, пока не погибло все нашествие. И благо тому народу, который не как французы в 1813 году, отсалютовав по всем правилам искусства и перевернув шпагу эфесом, грациозно и учтиво передает ее великодушному победителю, а благо тому народу, который в минуту испытания, не спрашивая о том, как по правилам поступали другие в подобных случаях, с простотою и легкостью поднимает первую попавшуюся дубину и гвоздит ею до тех пор, пока в душе его чувство оскорбления и мести не заменяется презрением и жалостью. Одним из самых осязательных и выгодных отступлений от так называемых правил войны есть действие разрозненных людей против людей, жмущихся в кучу. Такого рода действия всегда проявляются в войне, принимающей народный характер. Действия эти состоят в том, что, вместо того чтобы становиться толпой против толпы, люди расходятся врозь, нападают поодиночке и тотчас же бегут, когда на них нападают большими силами, а потом опять нападают, когда представляется случай. Это делали гверильясы в Испании; это делали горцы на Кавказе; это делали русские в 1812 м году.

    Описание таблиц

    address — адреса компаний

    NameTypeNULLDefaultDescription
    company_id‭int(11)‬NoNoneID компании => company.id
    address‭text‬NoNoneАдрес с индексом
    address_hash‭varchar(32)‬NoNoneХеш адреса для быстрого поиска. Можно использовать MD5(company_id + address)

    brand — бренды

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬YesNULLВнешний ID продавца (идентификатор из 1С)
    name‭varchar(255)‬NoNoneНазвание бренда
    synonyms‭text‬YesNULLСписок синонимов через запятую. Используется только для поиска, на внешней части не отображается. Регистр не имеет значения, обычно используют нижний.
    Например: «legrand, legrand, легранд, легрант»

    Имеется возможность редактирования из административного интерфейса. При синхронизации, изменения, внесенные из административного интерфейса, заменяются(!) данными из шлюзовых таблиц.

    catalog_section — разделы каталога

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬YesNULLВнешний ID раздела каталога(идентификатор из 1С)
    name‭varchar(255)‬NoNoneНазвание раздела
    synonyms‭text‬YesNULLСписок синонимов через запятую. Используется только для поиска, на внешней части не отображается. Регистр не имеет значения, обычно используют нижний.
    Например: «рамка, красная, valena, валена»
    int(11)YesNULLСсылка на родительский раздел catalog_section.id. NULL — для разделов верхнего уровня.
    sortint(11)Yes1Порядковый номер сортировки

    certificate — сертификаты

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    product_idint(11)NoNoneИдентификатор продукта => product.id
    namevarchar(255)YesNULLНазвание типа сертификата
    urlvarchar(255)NoNoneСсылка на файл сертификата
    validity_fromdateYesNULLДата начала действия сертификата
    validity_todateYesNULLДата окончания действия сертификата

    company — компании

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(60)‬NoNoneВнешний ID компании (контрагента) продавца (идентификатор из 1С)
    merchant_idint(11)YesNULLID продавца => merchant.id
    is_individual‭tinyint(1)‬No0Признак физического лица
    name‭varchar(255)‬NoNoneНазвание компании
    alt_name‭varchar(255)‬NoАльтернативное название компании
    description‭text‬YesNULLОписание
    price_type_id‭int(11)‬NoNoneТип цен, назначенный для компании => pryce_type.id
    bonusint(8)Yes0Бонусы.
    balance‭decimal(11,2)‬Yes0Баланс
    deferral_daysint(6)Yes0Количество дней отсрочки
    credit_sum‭decimal(11,2)‬No0Сумма кредитного лимита
    receivables‭decimal(11,2)‬No0Дебиторская задолженность
    overdue_receivables‭decimal(11,2)‬No0Просроченная дебиторская задолженность
    overdue_duration‭int(10)‬No0Срок просрочки дебиторской задолженности
    note‭text‬YesNULLПримечание для менеджера (видно в панели управления)

    company_additional_field — дополнительные поля для компаний

    NameTypeNULLDefaultDescription
    company_idint(11)NoNoneID компании => company.id
    typeenum(‘string’,’number’,’boolean’,’object’,’array’)NostringТип переменной
    namevarchar(255)NoNoneНазвание доп. поля
    valuemediumtextYesNoneЗначение (для типов array и object это строка в формате JSON)

    company_manager_relation — связь компания-менеджер

    NameTypeNULLDefaultDescription
    company_idint(11)NoNoneID компании => company.id
    manager_idint(11)NoNoneID менеджера => manager.id

    company_segment_relation — связь компания-сегмент

    NameTypeNULLDefaultDescription
    company_idint(11)NoNoneID компании => company.id
    segment_idint(11)NoNoneID сегмента=> segment.id

    contract_price — цены по контракту (скидки для компаний)

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    company_idint(11)NoNoneID компании => company.id
    price_type_idint(11)NoNoneID типа цены => price_type.id
    discountdecimal(7,4)NoNoneРазмер скидки в процентах
    brand_idint(11)YesNULLID бренда, для которого предоставляется скидка => brand.id
    category_idstextYesNULLСписок ID категорий через запятую, для которых предоставляется скидка
    price_group_idstextYesNULLСписок ID ценовых групп

    Если brand_id, category_ids и price_group_ids оставить NULL, то скидка будет распространяться на ВСЕ товары.

    ПО УМОЛЧАНИЮ. Если на один товар задано несколько скидок, то клиент увидит цену с наибольшей скидкой, самую выгодную для него.

    Алгоритм ценообразования может быть изменен.

    currency — валюты

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    abbreviation‭varchar(60)‬NoNoneаббревиатура валюты. Например RUR, USD
    signvarchar(10)NoNoneОтображаемый знак валюты. Например руб. или $

    deleted_product — удаленные товары

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬NoNoneВнешний ID продавца (идентификатор из 1С)
    article‭varchar(60)‬NoNoneАртикул (код 1С)
    manufacturer_code‭varchar(80)‬YesNULLКод производителя
    alt_manufacturer_code‭varchar(80)‬YesNULLАльтернативный код производителя
    manufacturer‭varchar(255)‬YesNULLПроизводитель, название
    name‭text‬YesNULLНазвание товара (из 1С)
    name_of_manufacturer‭text‬YesNULLНазвание от производителя
    alt_name_of_manufacturer‭text‬YesNULLАльтернативное название от производителя
    unit_name‭varchar(30)‬YesNULLНазвание единицы измерения (шт, м)
    multiplicity‭decimal (8,4) int(7)No1Кратность для заказа.
    image_url‭varchar(255)‬YesNULLАбсолютная ссылка на изображение товара
    country_code_a3‭varchar(255)‬YesNULLТрехбуквенный код страны производителя (RUS — Россия)
    brand_id‭int(11)‬YesNULLID бренда => brand.id
    catalog_section_id‭int(11)‬YesNULLID раздела каталога => catalog_section.id
    processedtinyint(1)No0

    Таблица заполняется автоматически при удалении строк из таблицы product.

    delivery_period — информация о сроках поставки товаров в регионы

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара ожидаемого в поставке product_id = product.id
    region_idint(11)NoNoneID региона в который ожидается поставка region_id = region.id
    days‭int(8)‬YesNULLКоличество дней — срок поставки
    quantitydecimal(11,4)‬YesNULLОжидаемое количество товара в поставке

    delivery_point — адреса доставки

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    external_idvarchar(120)YesNULLВнешний идентификатор (из 1С)
    company_id‭int(11)‬YesNULLID компании company.id
    addresstextNoNoneАдрес доставки

    Список адресов доставки доступных для компании. Адреса доставки могут создаваться и удаляться(опционально) непосредственно пользователями системы.

    delivery_schedule — график доставки

    NameTypeNULLDefaultDescription
    company_idint(11)NoNoneID компании company_id=company.id
    delivery_point_idint(11)NoNoneID адреса доставки delivery_point_id=delivery_point.id
    montinyint(1)No0Флаг доставки в определенный день недели
    tuetinyint(1)No0
    wedtinyint(1)No0
    thutinyint(1)No0
    fritinyint(1)No0
    sattinyint(1)No0
    suntinyint(1)No0

    document — документы

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(60)‬YesNULLВнешний ID документа продавца (идентификатор из 1С)
    b2b_id‭int(11)‬YesNULLID документа в B2B, проставляется после синхронизации
    type_id‭int(11)‬YesNULLID типа документа => document_type.id
    status_id‭int(11)‬YesNULLID статуса документа document_status.id
    order_id‭int(11)‬YesNULLID заказа, если документ прикреплен к заказу => order.id
    parent_document_id‭int(11)‬YesNULLID родительского документа
    number‭varchar(120)‬YesNULLНомер документа
    total_amount‭decimal(18,2)‬YesNULLСумма
    doc_date‭date‬YesNULLДата документа
    valid_until_date‭date‬YesNULLДата — документ действителен до
    external_linkvarchar(255)YesNULLВнешняя ссылка на готовый документ в формате PDF
    status‭int(1)‬No0Статус: 0-новый 1-импортирован 2-ошибка 3-необходимо перезагрузить. Новые документы из 1С должны иметь статус = 0
    incoming‭tinyint(1)‬NoNoneФлаг, указывающий, что документ входящий (1)

    document_additional_field — дополнительные поля для документов

    NameTypeNULLDefaultDescription
    document_id‭int(11)‬YesNULLID документа => document.id
    typeenum(‘string’,’number’,’boolean’,’object’,’array’)NostringТип переменной
    namevarchar(255)NoNoneНазвание доп. поля
    valuemediumtextYesNoneЗначение (для типов array и object это строка в формате JSON)

    document_item — товары в документе

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    document_id‭int(11)‬YesNULLID документа => document.id. Принадлежность к документу
    product_id‭int(11)‬YesNULLID товара => product.id
    price‭decimal(11,2)‬YesNULLЦена
    price_type_id‭int(11)‬YesNULLID типа цены => price_type.id
    quantity‭decimal(11,4)‬YesNULLКоличество
    amount‭decimal(11,2)‬YesNULLСумма = price*quantity
    unit_name‭varchar(30)‬NoштНазвание единицы измерения

    document_custom_item — товары от покупателя в документе

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    document_id‭int(11)‬YesNULLID документа => document.id. Принадлежность к документу
    product_custom_id‭int(11)‬YesNULLID товара => product_custom.id
    price‭decimal(11,2)‬YesNULLЦена
    quantity‭decimal(11,4)‬YesNULLКоличество
    amount‭decimal(11,2)‬YesNULLСумма = price*quantity
    unit_name‭varchar(30)‬NoштНазвание единицы измерения

    document_status — предустановленные статусы документов

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    document_type_id‭‭int(11)‬NoNoneПривязка статуса к типу документа => document_type.id
    name‭varchar(255)‬NoNoneНазвание статуса

    document_type — типы документов

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    name‭varchar(255)‬NoNoneНазвание
    name_short‭varchar(255)‬NoNoneНазвание краткое
    file_generation‭tinyint(1)‬No11 — формировать файл (pdf, xlsx), 0 — нет

    external_link_type — типы внешних ссылок для товаров

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    name‭varchar(64)‬NoNoneНазвание статуса
    is_video‭tinyint(1)Yes0Флаг для видео ссылки

    feature — свойства товаров

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара => product.id
    name‭varchar(255)‬NoNoneНазвание свойства
    value‭varchar(255)‬NoNoneЗначение свойства
    unit‭varchar(30)‬YesNULLЕдиница измерения
    sort‭int(6)‬No0Сортировка в карточке товара

    gallery — галерея изображений

    NameTypeNULLDefaultDescription
    product_idint(11)NoNoneID товара => product.id
    image_urlvarchar(255)NoNoneАбсолютная ссылка на изображение товара

    legal_entity — юридические лица компаний

    NameTypeNULLDefaultDescription
    company_id‭int(11)‬NoNoneID компании => company.id
    external_id‭varchar(60)‬YesNULLВнешний идентификатор (из 1С)
    name‭varchar(255)‬NoNoneНазвание юр. лица
    short_name‭varchar(255)‬NoNoneКраткое название
    inn‭varchar(12)‬NoNoneИНН
    kpp‭varchar(9)‬NoNoneКПП
    visibletinyint(1)No1Видимость юридического лица на front-end

    В таблице хранятся наименования и реквизиты юридических лиц. Эти данные используются при формировании документов.

    manager — менеджеры

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    external_idvarchar(120)YesNULLВнешний идентификатор (из 1С)
    phonevarchar(16)NoNoneНомер телефона в формате +79991234567
    emailvarchar(120)NoNoneАдрес электронной почты
    identityvarchar(255)NoNoneИмя Фамилия менеджера

    Хранится информация о менеджерах компании продавца.

    Обращаем внимание на необходимость правильного заполнения поля phone, так как номер телефона имеет строковый формат и используется для поиска соответствующего пользователя системы.

    merchant — продавцы

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    external_idvarchar(60)YesNULLВнешний идентификатор (из 1С)
    namevarchar(255)NoNoneНазвание компании продавца
    addresstextYesNULLАдрес
    phonevarchar(255)YesNULLТелефон
    phone_hotlinevarchar(255)YesNULLТелефон горячей линии
    inn‭varchar(12)‬YesNULLИНН
    kpp‭varchar(9)‬YesNULLКПП
    emailvarchar(255)YesNULLАдрес электронной почты
    sitevarchar(255)YesNULLАдрес сайта в сети Интернет
    bank_namevarchar(255)YesNULLНазвание банка
    bank_accountvarchar(255)YesNULLНомер счета
    bank_cor_accountvarchar(255)YesNULLНомер кор. счета
    bank_bikvarchar(255)YesNULLБИК
    directorvarchar(255)YesNULLФИО директора
    accountantvarchar(255)YesNULL
    consignorvarchar(255)YesNULLРеквизиты грузоотправителя
    gave_out_productvarchar(255)YesNULLФИО производящего отгрузку (для документов)
    offer_for_legal_entitiestextYesNULLОферта для юридических лиц
    offer_for_individualstextYesNULLОферта для физических лиц
    is_defaulttinyint(1)YesNULLФлаг: использовать по умолчанию

    Для записи информации о компаниях (филиалах) продавцах продукции.

    В административном интерфейсе есть возможность создания и редактирования. При синхронизации со шлюзовыми таблицами ведется поиск по полю id.

    ВНИМАНИЕ данные в административном интерфейсе заменяются данными из ШТ.

    order — заказы

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT (он же B2B ID)
    external_id‭varchar(60)‬YesNULLВнешний ID заказа, присваивается после обработки 1С
    merchant_id‭int(11)‬YesNULLID продавца order.merchant_id => merchant.id
    company_id‭int(11)‬YesNULLID компании order.company_id => company.id
    delivery_point_id‭int(11)‬YesNULLID адреса доставки order.delivery_point_id => delivery_point.id
    pickup_point_idint(11)YesNULLID пункта самовывоза order.pickup_point_id => pickup_point.id
    status‭smallint(6)‬YesNULLСтатус заказа order..status => order_status.id
    comment‭text‬YesNULLКомментарий
    is_standardtinyint(1)YesNULLФлаг. Выставляется на основе комплексной проверки заказа и заказчика на возможность автоматической обработки заказа на стороне 1С

    order_additional_field — дополнительные поля для заказов

    NameTypeNULLDefaultDescription
    order_id‭int(11)‬YesNULLID заказа => order.id
    typeenum(‘string’,’number’,’boolean’,’object’,’array’)NostringТип переменной
    namevarchar(255)NoNoneНазвание доп. поля
    valuemediumtextYesNoneЗначение (для типов array и object это строка в формате JSON)

    order_meta — дополнительная информация к заказу

    NameTypeNULLDefaultDescription
    order_id‭int(11)‬NoNoneID заказа order.id
    user_firstname‭varchar(255)‬YesNULLИмя пользователя
    user_middlename‭varchar(255)‬YesNULLОтчество пользователя
    user_lastname‭varchar(255)‬‬YesNULLФамилия пользователя
    user_phone‭varchar(16)‬YesNULLТелефон пользователя
    user_email‭varchar(120)‬YesNULLE-mail пользователя
    user_rolevarchar(64)YesNULLРоль пользователя
    user_region_name‭varchar(120)‬YesNULLРегион пользователя
    store_ids‭varchar(255)‬YesNULLИдентификаторы складов
    delivery_type‭varchar(20)‬YesNULLТип доставки
    delivery_addresstextYesNULLАдрес доставки

    order_item — товары в заказе

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    order_id‭int(11)‬NoNoneID заказа order.id
    article‭varchar(60)‬NoNoneАртикул товара
    external_id‭varchar(120)‬YesNULLВнешний ID товара (product.external_id)
    price‭decimal(11,2)‬YesNULLЦена
    current_price‭decimal(11,2)‬YesNULLТекущая цена на момент обновления
    user_price‭decimal(18,2)‬YesNULLЦена назначенная пользователем (для произвольных товаров)
    price_type_id‭int(11)‬YesNULLТип цены price_type.id
    quantity‭decimal(11,2)‬NoNoneКоличество. Возможно дробное значение.
    product_custom_idint(11)YesNULLID произвольного товара

    order_status — статусы заказов

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(60)‬YesNULLВнешний ID статуса заказа
    name‭varchar(255)‬YesNULLНазвание (ожидание, в работе, завершен, отмена, др.)

    payment_company — график платежей компаний

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    company_idint(11)NoNoneID компании => company.id
    doc_namevarchar(255)YesNULLПроизвольное название документа. Например «Расх. накл. РНк-00840541 (12.09.18)»
    sum_doc‭decimal(11,2)YesNULLСумма по документу
    sum_debt‭decimal(11,2)YesNULLСумма долга
    expired_daysint(11)NoNoneПросрочено дней оплаты. Если значение отрицательное, то срок платежа по документу не истек. Если значение равно нулю, то сегодня последний день оплаты.
    document_idint(11)YesNULLID документа => document.id. Привязка к документу

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

    pickup_point — адреса самовывоза

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    external_idvarchar(120)YesNULLВнешний идентификатор (из 1С)
    region_idint(11)NoNoneID региона, к которому привязаны пункты самовывоза
    addresstextNoNoneАдрес пункта самовывоза

    price — цены

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    type_id‭int(11)‬NoNoneID типа цены type_id => price_type.id
    price‭decimal(11,2)‬NoNoneЦена

    price_type — типы цен

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬YesNULLВнешний ID типа цены продавца (идентификатор из 1С)
    currency_idint(11)NoNoneID валюты
    name‭text‬NoNoneНазвание
    with_vat‭tinyint(1)‬No11 — цена включает НДС, 0 — без НДС
    basetinyint(1)No0Признак базового типа цены

    product — товары

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬NoNoneВнешний ID продавца (идентификатор из 1С)
    article‭varchar(60)‬NoNoneАртикул (код 1С)
    manufacturer_code‭varchar(80)‬YesNULLКод производителя
    alt_manufacturer_code‭varchar(80)‬YesNULLАльтернативный код производителя
    manufacturer‭varchar(255)‬YesNULLПроизводитель, название
    name‭text‬YesNULLНазвание товара (из 1С)
    name_of_manufacturer‭text‬YesNULLНазвание от производителя
    alt_name_of_manufacturer‭text‬YesNULLАльтернативное название от производителя
    unit_name‭varchar(30)‬YesNULLНазвание единицы измерения (шт, м)
    multiplicity‭decimal(9,4)‬No1Кратность для заказа.
    image_url‭varchar(255)‬YesNULLАбсолютная ссылка на изображение товара
    new_image_flagtinyint(1)No0Флаг, показывающий что изменен image_url.
    country_code_a3‭varchar(255)‬YesNULLТрехбуквенный код страны производителя (RUS — Россия)
    brand_id‭int(11)‬YesNULLБренд (brand.id)
    catalog_section_id‭int(11)‬YesNULLРаздел каталога (catalog_section.id)
    stock_status‭varchar(1)‬YesNULLСкладской статус товара (D, S, P, другой, принятый в системе продавца)

    product_additional_field — дополнительные поля товара

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    namevarchar(255)NoNoneНазвание дополнительно поля
    value‭mediumtextYesNULLЗначение дополнительного поля

    product_analog — товары аналоги

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    analog_product_id‭int(11)‬NoNoneID товара аналога analog_product_id => product.id
    sort‭smallint(6)‬No0Порядок сортировки(приоритета)
    Большее значение ниже в списке.

    product_catalog_section_relation — отношение товаров к разделам каталога

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    catalog_section_id‭int(11)‬NoNoneID раздела каталога catalog_section_id =>catalog_section.id

    product_contract_price — индивидуальные цены компании

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    segment_id‭int(11)‬YesNULLID сегмента компании segment_id => segment.id
    company_id‭int(11)‬YesNULLID компании company_id => company.id
    price‭decimal(11,2)‬NoNoneЦена на товар

    Если поля company_id и segment_id задать NULL, то цена будет применяться всем компаниям.

    product_custom — произвольные товары

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    namemediu‬mtextYesNULLНаименование произвольного товара
    manufacturer_code‭varchar(80)‬No»Код производителя
    brand_name‭varchar(120)‬No»Наименование бренда
    descriptionmediu‬mtextYesNULLОписание
    unit_namevarchar(30)No»Единица измерения
    pricedecimal(18,2)YesNULLЦена

    product_identifiers — идентификаторы товара

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    namevarchar(255)NoNoneНазвание идентификатора
    value‭textYesNULLЗначение идентификатора

    product_related — связанные товары

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    related_product_id‭int(11)‬NoNoneID связанного товара related_product_id => product.id
    sort‭smallint(6)‬No0Порядок сортировки(приоритета)
    Большее значение ниже в списке.
    sourcesmallint(6)No0Источник связи

    region — регионы (Заполняется из интерфейса администратора)

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    internal_idint(11)NoNoneИдентификатор региона на внешней части
    name‭varchar(255)NoNoneНаименование региона

    remains_manufacturer — остатки на складах производителя

    NameTypeNULLDefaultDescription
    IDint(11)NoNoneAUTO_INCREMENT
    product_id‭int(11)‬NoNoneID товара product_id =>product.id
    storage_namevarchar(255)NoNoneНаименование склада производителя
    quantity‭decimal(11,4)‬YesNULLКоличество товара на складе.
    relevance_date‭date‬YesNULLДата актуальности
    delivery_daysint(11)YesNULLСрок поставки, дней

    remains — остатки на складах

    NameTypeNULLDefaultDescription
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    store_id‭int(11)‬NoNoneID склада store_id => store.id
    total_item_count‭decimal(11,2)‬YesNULLКоличество товара на складе. Используется целочисленное значение
    status‭varchar(1)‬YesNULLСкладской статус остатка (не обязателен)

    residue_packing — Куски товаров

    NameTypeNULLDefaultDescription
    IDint(11)NoNoneAUTO_INCREMENT
    product_id‭int(11)‬NoNoneID товара product_id => product.id
    store_id‭int(11)‬NoNoneID склада store_id => store.id
    consignmentvarchar(255)YesNULLПартия товара
    residuedecimal(11,4)YesNULLРазмер куска
    reservedecimal(11,4)No0.0000Размер резерва

    segment — сегменты

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_idvarchar(64)YesNoneВнешний ID сегмента (идентификатор 1C)
    name‭varchar(255)YesNoneНаименование сегмента
    segment_group_idint(11)YesNoneИдентификатор группы сегмента segment.segment_group_id = segment_group.id

    segment_group — группы сегментов

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_idvarchar(64)YesNoneВнешний ID группы сегментов (идентификатор 1C)
    name‭varchar(255)YesNoneНаименование группы сегментов

    store — склады

    NameTypeNULLDefaultDescription
    id‭int(11)‬NoNoneAUTO_INCREMENT
    external_id‭varchar(120)‬YesNULLВнешний ID склада продавца (идентификатор из 1С)
    name‭varchar(255)‬NoNoneНазвание склада
    address‭varchar(255)‬YesNULLАдрес склада (пока не используется на внешней части)
    description‭text‬YesNULLОписание (пока не используется на внешней части)
    phone‭varchar(255)‬YesNULLТелефон (пока не используется на внешней части)
    schedule‭text‬YesNULLРасписание работы (пока не используется на внешней части)
    sort‭int(11)‬No1Сортировка
    lat‭float(10,7)‬YesNULLКоординаты склада (пока не используется на внешней части)
    lng‭float(10,7)‬YesNULLКоординаты склада (пока не используется на внешней части)

    user — пользователи

    NameTypeNULLDefaultDescription
    idint(11)NoNoneAUTO_INCREMENT
    company_idint(11)YesNULLИдентификатор компании
    phonevarchar(20)YesNULLТелефон пользователя
    emailvarchar(120)YesNULLE-mail пользователя
    email_agreed_for_marketingtinyint(1)Yes1Подписка на рассылки
    email_agreed_updated_atdatetimeYesNULLДата обновления состояния подписки
    firstnamevarchar(255)YesNULLИмя
    middlenamevarchar(255)YesNULLОтчество
    lastnamevarchar(255)YesNULLФамилия
    groupvarchar(64)YesNULLГруппа

    Таблица используется для получения информации о зарегистрированных пользователях.

    Часто задаваемые вопросы

    Почему изменения в шлюзе не видно на внешней части B2B?

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

    Как удалять товары?

    Достаточно удалить соответствующую запись в таблице product. На стороне B2B удаление товара из базы обычно происходит в течение 10 минут.

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

    Как обновлять данные по товару?

    Нужно просто обновить нужные поля в таблице product, использовав для идентификации id или external_id. Можно выполнять запросы типа insert into product … on duplicate key update …

    Нельзя использовать запросы типа replace into product … , так как в таком случае будет зафиксировано удаление записи.

    Как изменить данные в уже загруженном документе?

    Нужно изменить документ в ШТ и проставить ему document.status = 3 — это означает, что в документ нужно внести изменения. Через 1 мин документ изменится.

    Как грузить описание товара?

    Описание товара это дополнительное поле. Чтобы добавить описание надо создать запись в таблице product_additional_field для соответствующего товара name = «description», value = «Само описание»

    Если документы не выгружаются из ШТ в В2В.

    Нужно проверить значение поля document.status. Возможно в поле document.status записано 1, что означает что документ уже обработан. Нужно писать 0. Тогда документ будет обработан и статус изменится на 1.

    Как сделать товары с шильдиком «Best price» и специальной ценой

    1) Чтобы создать шильдик необходимо в таблицу с доп. полями прогрузить специальный флаг для необходимых товаров. Таблица product_additional_field. Для товаров с пометкой Best price надо создать запись name = «badge_best_price», value = 1. Чтобы быстро убрать пометку можно проставить value = 0

    При создании товаров «Best price» свяжитесь с нашими программистами для правок зеленого фильтра (добавление чек-бокса).

    2) Если на такие товары нужна специальная цена, то можно воспользоваться таблицей product_contract_price, company_id можно не указывать (NULL), если нужна цена для всех компаний.

    Как прогрузить товары «Сделано в России» ?

    Чтобы создать шильдик необходимо в таблицу с доп. полями прогрузить специальный флаг для необходимых товаров. Чтобы добавить товару флаг «Сделано в России» достаточно в таблице product в поле country_code_a3 проставить значение RUS для соответствующих товаров.

    Как добавить код РАЭК?

    Код РАЭК добавляется в product_identifiers

    product_id — ссылка товар (product.id) name — название, для идентификатора РАЭК это «raec_id». Т.е. для всех кодов РАЭК вы записываете «raec_id» value = значение, собственно код РАЭК

    В шлюзовой таблице document_item чем отличаются поля amount и quantity?

    quantity = количество amount = количество * цена

    Свойства для карточки товара.

    Таблица features (ID товара, название свойства, значение, ед. изм — не обязательно) При изменении данных в features желательно обновить дату product.updated_at = NEW() для соответствующего товара. Чтобы все изменения быстро попали в b2b.

    Инструкция по добавлению картинок:

    1. Если добавили новый товар. Если он с картинкой выставили флаг new_image_flag = 1. Ожидаем синхронизации на добавление новых товаров. По регламенту (обычно каждый час).
    2. Если товар уже есть в системе, то не зависимо от наличия у него изображения, при изменении ссылки на изображение выставляем флаг равным 1. Ожидаем завершения полной синхронизации товаров, запускаемой по регламенту (обычно раз в сутки)

    Как прописать статусы заказа:

    Статусы надо прописать в ШТ. id — автоинкремент, external_id — идентификатор в 1с, name — наименование статуса. updated_at — дата обновления записи.

    таблица order_status

    order.status = order_status.id

    когда в 1с измениться статус заказа, он должен обновиться в шт

    Как убрать цены на портале?

    Чтобы убрать цены на портале надо не удалять их из ШТ, а задавать 0.

    При передаче сегментов из 1С для таргетирования:

    Работы в связке с нашей стороной. Для дальнейшей работы с ними(актуализации) используйте ШТ segment_group и segment. И необходимо согласовать регламент их синхронизации с основной базой данных. Далее вам необходимо передать привязку компаний к сегментам в ШТ company_segment_relation. Эти привязки будут обновляться при синхронизации компаний.

    Как передавать свои документы через ссылку Для документов можно передавать ссылку на файл в поле external_link. Эта ссылка должна позволять сразу скачать этот файл без авторизации. Ресурс на котором будут располагаться эти файлы, может быть нашим ftp-сервером или вашим (если наш вы сообщаете об этом заранее и мы его готовим). В этом случае, вы, когда выгружаете документы в ШТ, закачиваете печатные формы на сервер и указываете в поле external_link ссылку на файл с учетом полученного от нас пути на сервере. Далее при синхронизации документов мы получаем эти файлы и предоставляем покупателям возможность их скачать.

    Подробнее:

    1. В случае использования нашего ftp сервера заказчик загружает туда документы и прописывает в ШТ document в поле external_link полное имя загруженного файла(с учетом созданных вами каталогов) на ftp сервере. Заказчику передаем реквизиты доступа к серверу (IP, логин, пароль) предварительно получив от них IP адреса серверов, с которых будет осуществляться загрузка документов. Заказчик загружает документы в корневой или созданные им каталоги.
    2. В случае использования сторонних ресурсов заказчик записывает в выше указанное поле URL файла.
    Рейтинг
    ( 1 оценка, среднее 4 из 5 )
    Понравилась статья? Поделиться с друзьями: