Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
28 Июл 2017, 13:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Загрузка авто товаром  (Прочитано 467 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mpoltav

  • *
  • Сообщений: 1
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-12-28
  • Сайт: 
  • Профессия: Программист 7.7
Есть таблица значений ТМЦ с количеством и весом (Колонки: ТМЦ, Количество, Вес). Как можно на языке 1с 7.7 описать загрузку одной машины с грузоподъемность 3,5т (грузоподъемность)? Буду рад за примеры. Позиции с товаром следует дробить при необходимости.
А то уже неделю думаю.
Пока получилось такое, но если машин несколько, то последняя перегружена.

   
тз.ВыбратьСтроки(); НомерТТН=1;
Пока тз.ПолучитьСтроку()=1 Цикл
ОстатокКолво=0;
ВесАвто=ВесАвто+тз.Количество*ВычислитьВесТМЦ(тз.ТМЦ,тз.Ед);
Если ВесАвто>=Грузоподъемность Тогда
//Разбиваем по количеству
ОстатокВеса=Грузоподъемность-ВесАвто;
//Сообщить("Остаток веса "+ОстатокВеса);
НадоКолво=Цел(Грузоподъемность/ВычислитьВесТМЦ(тз.ТМЦ,тз.Ед));
ОстатокКолво=тз.Количество-НадоКолво;
Сообщить(" "+СокрЛП(тз.ТМЦ)+"  надо "+СокрЛП(НадоКолво)+" остаток "+СокрЛП(ОстатокКолво));
тз.Количество=НадоКолво;
тз.Сумма=тз.Количество*тз.Цена;
тз.Вес=тз.Количество*ВычислитьВесТМЦ(тз.ТМЦ,тз.Ед);
тз.НомерТТН=НомерТТН;
НомерТТН=НомерТТН+1;
ВесАвто=0;
КонецЕсли;
//Остаток добавляем в конец
Если ОстатокКолво>0 Тогда
ТМЦ1=тз.ТМЦ;
Ед1=тз.Ед;
Цена1=тз.Цена;
тз.НоваяСтрока();
тз.ТМЦ=ТМЦ1;
тз.Ед=Ед1;
тз.Цена=Цена1;
тз.Количество=ОстатокКолво;
тз.Сумма=тз.Количество*тз.Цена;
тз.Вес=тз.Количество*ВычислитьВесТМЦ(тз.ТМЦ,тз.Ед);
ВесАвто=ВесАвто+тз.Вес;
ОстатокКолво=0;
КонецЕсли;
тз.НомерТТН=НомерТТН;
КонецЦикла;


Оффлайн G_Re

  • *
  • Сообщений: 32
  • РЕПУТАЦИЯ: 5
  • КПД: 16%
  • Регистрация: 2011-12-17
  • Сайт: 
  • Профессия: Ученик 1С
Не совсем понятна формулировка "...описать загрузку одной машины...". По всей видимости, речь идет о классической Задаче о рюкзаке? Формулировка её примерно следующая: Есть набор вещей с известным количеством каждой и весом. Их нужно разместить в минимальное количество рюкзаков известной вместимости(грузоподъемности). Если это таки да, то погугли, алгоритм известен давно. В 1С переведешь. Если нет, то сформулируй задание ещё раз более четче.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
96 Сообщений
oleg-x
75 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
66 Сообщений
Golickoff Golickoff
53 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
40 Сообщений
Амал
30 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений

* Кто онлайн

  • Точка Гостей: 847
  • Точка Скрытых: 0
  • Точка Пользователей: 13
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal