1C8.1 Управление торговлей, проблема с количеством товаров

Новая тема
Показывать по 10 20 40 сообщений
Ухты, это для Украины конфа?
СтрокаТаблицы в данном случае что? Строка табличной части, таблицы значений или выборки из результата запроса?

~~~ Красноярск, http://x-frame.ru ~~~
"Я не большой спец в програмировании на 1С
я думаю что это результат запроса
проследить мне все это тяжело
 
вот процедура полностью
Процедура ПодготовитьТаблицуТоваровРегл(ТаблицаТоваров, СтруктураШапкиДокумента)

ТаблицаТоваров.Колонки.Добавить("СуммаСНДСДок",    ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15,2));
ТаблицаТоваров.Колонки.Добавить("РасчетыВозврат", Новый ОписаниеТипов("ПеречислениеСсылка.РасчетыВозврат"));

// Надо заполнить новые колонки.
Для каждого СтрокаТаблицы Из ТаблицаТоваров Цикл

СтрокаТаблицы.СуммаСНДСДок = СтрокаТаблицы.СуммаДок + ?(УчитыватьНДС И НЕ СуммаВключаетНДС, СтрокаТаблицы.НДС, 0);

Если СтрокаТаблицы.Количество < 0 Тогда
СтрокаТаблицы.РасчетыВозврат = Перечисления.РасчетыВозврат.Возврат;
Иначе
СтрокаТаблицы.РасчетыВозврат = Перечисления.РасчетыВозврат.Расчеты;
КонецЕсли;

КонецЦикла;

КонецПроцедуры // ПодготовитьТаблицуТоваровРегл()


вот запрос

Процедура ПодготовитьТаблицыДокумента(СтруктураШапкиДокумента, ТаблицаПоТоварам) Экспорт

// Получим необходимые данные для проведения и проверки заполенения данные по табличной части "Товары".
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("Склад"                            , "Склад");
СтруктураПолей.Вставить("ВидСклада"                        , "Склад.ВидСклада");
СтруктураПолей.Вставить("Номенклатура"                     , "Номенклатура");
СтруктураПолей.Вставить("Услуга"                           , "Номенклатура.Услуга");
СтруктураПолей.Вставить("Набор"                            , "Номенклатура.Набор");
СтруктураПолей.Вставить("Комплект"                         , "Номенклатура.Комплект");
СтруктураПолей.Вставить("НоменклатурнаяГруппа"             , "Номенклатура.НоменклатурнаяГруппа");
СтруктураПолей.Вставить("Количество"                       , "Количество * Коэффициент /Номенклатура.ЕдиницаХраненияОстатков.Коэффициент");
СтруктураПолей.Вставить("КоличествоДок"                    , "Количество");
СтруктураПолей.Вставить("Цена"                             , "Цена");
СтруктураПолей.Вставить("Сумма"                            , "Сумма");
СтруктураПолей.Вставить("СуммаДок"                         , "Сумма");
СтруктураПолей.Вставить("СтавкаНДС"                        , "СтавкаНДС");
СтруктураПолей.Вставить("НДС"                              , "СуммаНДС");
СтруктураПолей.Вставить("НДСДок"                           , "СуммаНДС");
СтруктураПолей.Вставить("НомерСтроки"                      , "НомерСтроки");
СтруктураПолей.Вставить("ХарактеристикаНоменклатуры"       , "ХарактеристикаНоменклатуры");
СтруктураПолей.Вставить("СерияНоменклатуры"                , "СерияНоменклатуры");
СтруктураПолей.Вставить("ПроцентСкидкиНаценки"             , "ПроцентСкидкиНаценки");
СтруктураПолей.Вставить("ПроцентАвтоматическихСкидок"      , "ПроцентАвтоматическихСкидок");
СтруктураПолей.Вставить("УсловиеАвтоматическойСкидки"      , "УсловиеАвтоматическойСкидки");
СтруктураПолей.Вставить("ЗначениеУсловияАвтоматическойСкидки", "ЗначениеУсловияАвтоматическойСкидки");
СтруктураПолей.Вставить("КлючСтроки"                       , "КлючСтроки");
СтруктураПолей.Вставить("ТипНоменклатуры", "Номенклатура.ВидНоменклатуры.ТипНоменклатуры");
СтруктураПолей.Вставить("КоличествоВЕдиницахДокумента"     , "Количество");

Если СтруктураШапкиДокумента.ВедениеУчетаПоПроектам
  И НЕ ЗначениеЗаполнено(Проект) Тогда
СтруктураСложныхПолей = Новый Структура;
СтруктураСложныхПолей.Вставить("Проект", "ПроектыНоменклатуры.Проект");
Иначе
СтруктураСложныхПолей = Неопределено;
КонецЕсли;

РезультатЗапросаПоТоварам = УправлениеЗапасами.СформироватьЗапросПоТабличнойЧасти(ЭтотОбъект, "Товары", СтруктураПолей,СтруктураСложныхПолей);

// Подготовим таблицу товаров для проведения.
ТаблицаПоТоварам = ПодготовитьТаблицуТоваров(РезультатЗапросаПоТоварам, СтруктураШапкиДокумента);

КонецПроцедуры // СформироватьТаблицыДокумента()

к сожалению "Товары" не нашол ни справочника, ни документа, ни регистра

вот создание таблицы

// Выгружает результат запроса в табличную часть, добавляет ей необходимые колонки для проведения.
//
// Параметры:
//  РезультатЗапросаПоТоварам - результат запроса по табличной части "Товары".
//  СтруктураШапкиДокумента - выборка по результату запроса по шапке документа.
//
// Возвращаемое значение:
//  Сформированная таблиица значений.
//
Функция ПодготовитьТаблицуТоваров(РезультатЗапросаПоТоварам, СтруктураШапкиДокумента)

ТаблицаТоваров = РезультатЗапросаПоТоварам.Выгрузить();

Если СтруктураШапкиДокумента.ВидСклада = Перечисления.ВидыСкладов.НТТ Тогда
ТаблицаТоваров.Колонки.Цена.Имя = "ЦенаВРознице";
КонецЕсли;

// Вызываем отдельные процедуры подготовки для регл. и упр. учета.
ПодготовитьТаблицуТоваровУпр(ТаблицаТоваров, СтруктураШапкиДокумента);

ПодготовитьТаблицуТоваровРегл(ТаблицаТоваров, СтруктураШапкиДокумента);

Возврат ТаблицаТоваров;

КонецФункции // ПодготовитьТаблицуТоваров()

"
СтруктураПолей.Вставить("Количество" , "Количество * Коэффициент /Номенклатура.ЕдиницаХраненияОстатков.Коэффициент")
Если Вы говорите, что количество в документе заполнено, то проблема в столбце Коэффициент, либо в Единице храния остатков.. Скорее в единице, посмотрите, указаны ли в товаре Единицы.

~~~ Красноярск, http://x-frame.ru ~~~
Большое спасибо !!!!!!!!!!!
ЕдиницаХраненияОстатков в битой базе везде пусто
в рабочей заполнено везде. Думаю в этом и есть проблема.

Щас буду пытатся заполнить.

Еще вопросик подскажите пожалуйста. Для чего такая сложность, почему нельзя было взять просто количество?
Потому что может быть несколько единиц с разными коэффициентами. Например коробки и штуки, в коробке - 10 шт. Указываете в приходе 1 коробку, а на склад падает 10 штук автоматом.

~~~ Красноярск, http://x-frame.ru ~~~
Спасибо.
Читают тему
(гостей: 1)

Быстрый переход