razon
+1
Цена за доставку товара для покупателя интернет-магазина редко совпадает с ценой, которую транспортная компания возьмет с самого магазина

Т.е. эффективные тарифы, по которым считается стоимость доставки, в общем случае могут быть никак не связаны с тарифами доставщика.Соответственно хранятся и живут они в новом модуле
razon
+1
Да, новый Тарификатор учитывает габариты товаров и при расчете объемного веса, и при компоновке товаров в посылки (коробки) с соответствующими алгоритмами поворотов/переворотов товаров :)
Формулы расчета объемного веса у доставщиков различаются — это тоже учитывается.
Настроить тарифы можно в том числе и так, чтобы брался максимальный из объемного и физического весов и по нему считалась стоимость доставки.
razon
–2
скорее велик разброс потребностей людей и их экономности, нежели цен
razon
0
дополнение для импорта текстовых данных из .dbt-файлов (спутников .dbf):

                    switch (fieldType[i])
                    {
                        ...
                        case "M":
                            result = GetMemoField(value, fileName.ToLower().Replace(".dbf", ".dbt"));
                            break;
                        ...
                    }

        string GetMemoField(string recordContent, string dbtFile)
        {
            if (recordContent.Trim().Length > 0)
            {
                int block = Int32.Parse(recordContent);
                return GetMemoField(block, dbtFile);
            }

            return ""; // memo has no content: maybe should be null for more correctness
        }

        string GetMemoField(int blockIndex, string dbtFile)
        {
            using (var fileStream = new FileStream(dbtFile, FileMode.Open, FileAccess.Read))
            {
                long start = blockIndex * 512;
                fileStream.Seek(start, SeekOrigin.Begin);
                var bytes = new List<byte>();
                while (fileStream.Position < fileStream.Length)
                {
                    byte c = (byte) fileStream.ReadByte();
                    long pos = fileStream.Position;
                    if (c == 0x1a
                        && fileStream.ReadByte() == 0x1a
                        )
                        return Encoding.UTF8.GetString(Encoding.Convert(Encoding.GetEncoding(866), Encoding.UTF8, bytes.ToArray()));
                    fileStream.Seek(pos, SeekOrigin.Begin);
                    bytes.Add(c);
                }
            }

            throw new InvalidOperationException();
        }
razon
0
работает и на локалке, в качестве урла пишем localhost:44301/
razon
+1
где вы их берете? :)
razon
+14
чтобы их там стало еще больше? :)
razon
+2
прочитал как «Пишем под ЛСД». Обрадовался
razon
+3
хм, до сих пор нужно ставить тег *сарказм*?
razon
+7
почему нет возможности искать по паролю? ;)
razon
+9
— Теперь выбери себе язык программирования. Ты почувствуешь его. Если и он выберет тебя, действуй быстро. У тебя одна попытка, %username%.
— А как понять, что он меня выбрал?
— Он захочет тебя убить.
razon
+6
причем, если верить дате рождения в профиле хабра — получается что чуть ли не с 5 лет программируют :)

не, ну я тоже в 5 лет программировал таймер на телевизоре, чтобы он через полчаса сам выключился, тем самым напугав бабушку :)
razon
0
а есть исходники примера использования? т.е. сайта с подключенным пакетом
razon
0
главное, что процент живых душ, выше чем был раньше :)
razon
0
виден скриншот на лендинге ) Раньше можно было смотреть и пользоваться в ограниченном объеме и без регистрации — в итоге мало кто регистрировался. Сейчас намного больше регистрирующихся пользователей
razon
0
у нас, по-моему, неплохо смотрятся и на больших мониторах: http://pandorama.com
razon
+1
но не развидеть )
razon
0
не осилил полностью перевести и понять ((
может уже есть где перевод? Или кто-то хорошо знает математический английский?
razon
+14
интересно, когда в картинных галереях будут вывешивать исходный код вместо картин?
razon
+1
попробуйте на голом OpenXML SDK сгенерируйте документ хоть мало-мальски нетривиальный
razon
+1
про это написано в самом начале — во втором предложении:
С помощью неё вы сможете отказаться от работы с COM+ или редактирования OpenXML-дерева через OpenXML SDK
:)

Aspose и IndependentSoft — платные насколько мне известно, к тому же совсем не open source
razon
0
у Вас это работает? Подробное составление ТЗ до этапа разработки и отсутствие изменений в требованиях во время разработки?
razon
0
можно скомпилировать и проверить только то, что программист добавил/изменил только что. А можно протыкать всю систему полностью (ну или хотя бы частично)
razon
+1
интересно было бы связать результаты опроса с размерами проектов (численностью команды и средним временем одного проекта).
Думаю, в более менее крупных проектах ситуация выглядит получше
razon
0
треда с перезаписью значений вроде нету выше.
У меня была такая идея, но в получившейся реализации тест проходил от случая к случаю
razon
0
))) Вы меняете условие задачи — в тесте все по-английски ;)
razon
0
верно, это самое простое и гениальное на мой взгляд решение, если задуматься почему при этом тест проходит.
Но есть и еще решения, без структур
razon
0
что значит статический эквивалент? хочу обратить внимание, что значения полей выставляются рефлексией
razon
0
тест здесь только для краткого формулирования условий задачи. Сама задачи на знания и фантазию
razon
+3
Давайте даже такую простую задачу оформим в лучших традициях ООП

Посмотрел код. Позвольте спросить, где в нем ООП?

Про кучу дублирования я вообще молчу
razon
+1
молодой разработчик Delphi — звучит как приговор…
razon
+1
очень животрепещущий вопрос: когда вы планируйте открываться в остальных (кроме Москвы, Питера и Уфы) городах-миллионниках России?
razon
0
для этого есть личные сообщения ;)