Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 03:45

Инвентаризация.Количество.

Автор Kostik2013, 09 апр 2013, 19:19

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

Besart

попробуйте так Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
 
   Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Инвентаризация") Тогда
                   
      Если  ТекСтрокаТовары.Отклонение < 0 Тогда
         Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            НоваяСтрока = Товары.Добавить();
            НоваяСтрока.Количество = -ТекСтрокаТовары.Отколонение;
            НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
            НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
            НоваяСтрока.Цена = ТекСтрокаТовары.Цена;

        КонецЦикла;
      КонецЕсли;

   КонецЕсли;
   //}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ

Kostik2013

      
      Если  ТекСтрокаТовары.Отклонение < 0 Тогда
            Документы.СписаниеТоваров.Количество.Заполнить(ДанныеЗаполнения);   
      КонецЕсли;


Ошибка,не видит поле,хотя оно у меня есть


{Документ.СписаниеТоваров.МодульОбъекта(13)}: Поле объекта не обнаружено (Отклонение)

Besart

Цитата: Kostik2013 от 08 мая 2013, 12:46
      
      Если  ТекСтрокаТовары.Отклонение < 0 Тогда
            Документы.СписаниеТоваров.Количество.Заполнить(ДанныеЗаполнения);   
      КонецЕсли;


Ошибка,не видит поле,хотя оно у меня есть


{Документ.СписаниеТоваров.МодульОбъекта(13)}: Поле объекта не обнаружено (Отклонение)

у вас поле отклонение отсутствует в документе расходная, поэтому метод заполнить в вашем случае не подойдет, см выше
да и поля остаток склад и остаток реальный то же отсутствуют с документе расходная

Kostik2013

Цитата: Besart от 08 мая 2013, 12:51
Цитата: Kostik2013 от 08 мая 2013, 12:46
      
      Если  ТекСтрокаТовары.Отклонение < 0 Тогда
            Документы.СписаниеТоваров.Количество.Заполнить(ДанныеЗаполнения);   
      КонецЕсли;


Ошибка,не видит поле,хотя оно у меня есть


{Документ.СписаниеТоваров.МодульОбъекта(13)}: Поле объекта не обнаружено (Отклонение)

у вас поле отклонение отсутствует в документе расходная, поэтому метод заполнить в вашем случае не подойдет, см выше
да и поля остаток склад и остаток реальный то же отсутствуют с документе расходная

Так а зачем мне там это поле? А причем расходная здесь?Я же нигде её не упоминал

Besart

Цитата: Kostik2013 от 08 мая 2013, 17:52Так а зачем мне там это поле? А причем расходная здесь?Я же нигде её не упоминал
то есть документ списаниие, метод Зполнить() работает в том случае если у источника и приемника совпадают соответствующие данные

Kostik2013

Цитата: Besart от 08 мая 2013, 18:10
Цитата: Kostik2013 от 08 мая 2013, 17:52Так а зачем мне там это поле? А причем расходная здесь?Я же нигде её не упоминал
то есть документ списаниие, метод Зполнить() работает в том случае если у источника и приемника совпадают соответствующие данные

Плохо дело...

Besart

упс, ошибочка вышла, нужно так Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
 
   Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Инвентаризация") Тогда
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            Если  ТекСтрокаТовары.Отклонение < 0 Тогда
                   НоваяСтрока = Товары.Добавить();
                   НоваяСтрока.Количество = -ТекСтрокаТовары.Отколонение;
                   НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
                   НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
                   НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
            КонецЕсли;
        КонецЦикла;
      КонецЕсли;

КонецПроцедуры

Kostik2013

Цитата: Besart от 09 мая 2013, 10:51
упс, ошибочка вышла, нужно так Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
 
   Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Инвентаризация") Тогда
        Для Каждого ТекСтрокаТовары Из ДанныеЗаполнения.Товары Цикл
            Если  ТекСтрокаТовары.Отклонение < 0 Тогда
                   НоваяСтрока = Товары.Добавить();
                   НоваяСтрока.Количество = -ТекСтрокаТовары.Отколонение;
                   НоваяСтрока.Номенклатура = ТекСтрокаТовары.Номенклатура;
                   НоваяСтрока.Сумма = ТекСтрокаТовары.Сумма;
                   НоваяСтрока.Цена = ТекСтрокаТовары.Цена;
            КонецЕсли;
        КонецЦикла;
      КонецЕсли;

КонецПроцедуры


Да,спасибо!Сегодня так и сделал))Работает))

Теги:
Рейтинг@Mail.ru

Поиск