Не выводится сумма

1. SergeyR 08.06.07 08:47 Сейчас в теме
Может кто подскажет у меня в табличную часть не выводится сумма. Цена находится в плановой себестоимости.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sashulyT 201 08.06.07 09:08 Сейчас в теме
У меня контр вопрос:
какая конфигурация? какой документ? Какая сумма? Какая цена?
16. SergeyR 08.06.07 16:29 Сейчас в теме
Вот модуль формы Мне нужно заполнить Списание продуктивного скота и животных
Код
////////////////////////////////////////////////////////////////////////////////
// ПЕРЕМЕННЫЕ МОДУЛЯ
//
Перем ТаблицаПечФорм;  // список печатных форм документа
Перем НомерТекущейФормы;
Перем НачальнаяДатаДокумента;
Перем Сч01, Сч02, Сч010;
Перем Новый;
Перем СписокДействий;
Перем тЗаголовок;

//******************************************************************************
Функция ИтоговаяСтрока()
   Стр = "Итого: " + СокрЛП(Формат(Итог("Стоимость"),"Ч20.2-'"));
   Стр = Стр+"; Кол-во голов: "+Итог("Количество"); 
   Стр = Стр+"; Масса: "+Итог("Масса")+" кг";
   Возврат Стр;
КонецФункции // ИтоговаяСтрока  

//******************************************************************************
Процедура Подбор()
   Если ПустоеЗначение(МестоХранения)=1 Тогда
      Предупреждение("Выберите ферму");
      Возврат;
   КонецЕсли;
   Если РежимДокумента=Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
      ОткрытьПодбор("Справочник.ОсновныеСредства","ДляВыбора");
   Иначе
      глОбъект = СоздатьОбъект("СписокЗначений");
      
      сп = СоздатьОбъект("СписокЗначений");
      сп.Установить("ИмяОтбора",      "ВидСельскохозяйственнойПродукции");
      сп.Установить("ЗначениеОтбора", Перечисление.ВидыСельскохозяйственнойПродукции.Животные);
      глОбъект.Установить("Отбор",    сп);
      глОбъект.Установить("Родитель", "");
      
      КонтекстФормыПодбора = СоздатьОбъект("СписокЗначений");
      КонтекстФормыПодбора.ДобавитьЗначение(Контекст, "Контекст");
      КонтекстФормыПодбора.ДобавитьЗначение(МестоХранения, "МестоХранения");
      ОткрытьПодбор("Справочник.Номенклатура", "ДляПодбора", КонтекстФормыПодбора);
   КонецЕсли;
КонецПроцедуры  

//******************************************************************************
// ПриВыбореЖивотного()
//
Процедура ПриВыбореЖивотного()
   БухИт = СоздатьОбъект("БухгалтерскиеИтоги");
   БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2);
   
   Если РежимДокумента=Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
      Если ОсновноеСредство.Выбран() = 0 Тогда Возврат; КонецЕсли;
      
      БухИт.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства, ОсновноеСредство, 2);
      Если Выбран() = 1 Тогда
           БухИт.ВыполнитьЗапрос(ТекущийДокумент(),, "Г01,М01");
      Иначе БухИт.ВыполнитьЗапрос(, ДатаДок, "Г01,М01"); 
      КонецЕсли;
      
      БухИт.ВыбратьСчета();
      Пока БухИт.ПолучитьСчет()=1 Цикл
         Если БухИт.Счет = СчетПоКоду("Г01") Тогда
            Количество = ?(Выбран() = 1, БухИт.СНД("К"), БухИт.СКД("К"));
         ИначеЕсли БухИт.Счет = СчетПоКоду("М01") Тогда
            Масса = ?(Выбран() = 1, БухИт.СНД("К"), БухИт.СКД("К"));
         КонецЕсли;
      КонецЦикла;
      
      Если (Количество = 0) или (Масса = 0) Тогда
         Сообщить("Для скота: " + ОсновноеСредство + РазделительСтрок +
                "по данным учета количество или масса равна нулю!");
      КонецЕсли;
      
   Иначе
      Если Номенклатура.Выбран() = 0 Тогда Возврат; КонецЕсли;
      
      ТекстСообщения = "";
      СчетЖивотных = ОпределитьСубсчет11(Номенклатура, ТекстСообщения);
      Если СчетЖивотных = 0 Тогда
         Предупреждение(ТекстСообщения);
         Номенклатура = "";
         Возврат;
      КонецЕсли;   
      
      БухИт.ИспользоватьСубконто(ВидыСубконто.Номенклатура,Номенклатура,2);  
      
      БухИт_11 = СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2);
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.Номенклатура, Номенклатура, 2);
      Если Выбран() = 1 Тогда
         БухИт.ВыполнитьЗапрос(ТекущийДокумент(),, "К11"); 
         БухИт_11.ВыполнитьЗапрос(ТекущийДокумент(),, СчетЖивотных);
         Масса      = БухИт_11.СНД("К");
         Количество = БухИт.СНД("К");
         
      Иначе
         БухИт.ВыполнитьЗапрос(, ДатаДок, "К11");
         БухИт_11.ВыполнитьЗапрос(, ДатаДок, СчетЖивотных);
         Масса      = БухИт_11.СКД("К");
         Количество = БухИт.СКД("К");
      КонецЕсли;
      
      Если (Количество = 0) или (Масса = 0) Тогда
         Сообщить("Для животного: " + Номенклатура + РазделительСтрок +
                "по данным учета количество или масса равна нулю!");
      КонецЕсли;
   КонецЕсли;
КонецПроцедуры   //   ПриВыбореЖивотного()

//******************************************************************************
// ОбработкаПодбора()
//
Процедура ОбработкаПодбора(ВыбрОС)
   Если РежимДокумента = Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
      Если ВыбрОС.Группа <> Перечисление.ГруппыОС.ПродуктивныйСкот Тогда
          Предупреждение("ОС не относится к группе 'Продуктивный скот'");
         Возврат;
      КонецЕсли;
      
      ВыбратьСтроки();
      Пока ПолучитьСтроку() = 1 Цикл
         Если ОсновноеСредство.Код = ВыбрОС.Код Тогда
            Предупреждение("Основное средство уже выбрано", 10);
            Возврат;
         КонецЕсли;
      КонецЦикла;
      
      НоваяСтрока();
      ОсновноеСредство = ВыбрОС;
      ПриВыбореЖивотного();
      
   Иначе 
      НоваяСтрока();
      Номенклатура = ВыбрОС;
      ПриВыбореЖивотного();
   КонецЕсли;
   
   АктивизироватьСтроку();
КонецПроцедуры   //ОбработкаПодбора()

//******************************************************************************
Процедура УправлениеДиалогом(УстановитьРеквизиты=0)
   
   Форма.Закладки.УдалитьВсе();
   Форма.Закладки.ДобавитьЗначение(1, "Вид списания");
   Если (ТипСписания = 1) Тогда
      Форма.Закладки.ДобавитьЗначение(2, "Выход продукции");
   КонецЕсли;
   Форма.ИспользоватьСлой("Основной, Шапка", 2);

   Позиция = Форма.Закладки.НайтиЗначение(2);
   Если ТипСписания = 2 Тогда
      Если Позиция > 0 Тогда
         Форма.Закладки.УдалитьЗначение(2);
      КонецЕсли;
      
   Иначе
      Если Позиция = 0 Тогда
         Форма.Закладки.ДобавитьЗначение(2, "Выход продукции");
         Форма.ИспользоватьСлой("Основной, Шапка", 2);
      КонецЕсли;
   КонецЕсли;
   
//   УправлениеКурсом(УстановитьРеквизиты);
   
КонецПроцедуры // УправлениеДиалогом()

Процедура Заполнить()  
   Если ПустоеЗначение(МестоХранения)=1 Тогда
      Предупреждение("Выберите ферму");
      Возврат;
   КонецЕсли;
   Если РежимДокумента=Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
      БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2); 
      БухИт.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,,1); 
      Если Выбран()=1 Тогда
         БухИт.ВыполнитьЗапрос(ТекущийДокумент(),,"Г01,М01"); 
      Иначе
         БухИт.ВыполнитьЗапрос(,ДатаДок,"Г01,М01"); 
      КонецЕсли;
      НачОС = "";                            
      СписокКодов = СоздатьОбъект("СписокЗначений");
      Если КоличествоСтрок() = 0 Тогда
         ВвестиЗначение(НачОС,"Выберите элемент, входящий в группу однотипных основных средств","Справочник.ОсновныеСредства");
         Если ПустоеЗначение(НачОС) = 1 Тогда
            Возврат;
         Иначе
            НоваяСтрока();
            ОсновноеСредство = НачОС;
         КонецЕсли;
      КонецЕсли;
      ВыбратьСтроки();
      ПолучитьСтроку();
      НаимОС = ОсновноеСредство.Наименование;       
      СписокКодов.ДобавитьЗначение(ОсновноеСредство.Код);
      ОСРодитель = ОсновноеСредство.Родитель;
      КС = КоличествоСтрок();
      Пока ПолучитьСтроку() = 1 Цикл
         Если ОсновноеСредство.Наименование <> НаимОС Тогда
            Предупреждение("В табличной части указаны объекты с разными наименованиями."+
            РазделительСтрок+"                Заполнение отменено",60);
            Возврат;
         Иначе
            СписокКодов.ДобавитьЗначение(ОсновноеСредство.Код);
         КонецЕсли;
      КонецЦикла;
      Спр = СоздатьОбъект("Справочник.ОсновныеСредства");
      Спр.ИспользоватьРодителя(ОСРодитель);
      Спр.ВыбратьЭлементы(1);
      Пока Спр.ПолучитьЭлемент() = 1 Цикл
         Если Спр.ЭтоГруппа() = 1 Тогда
            Продолжить;
         КонецЕсли;
         Если Спр.Наименование <> НаимОС Тогда
            Продолжить;
         КонецЕсли;
         Если СписокКодов.НайтиЗначение(Спр.Код) = 0 Тогда
            НоваяСтрока();
            ОсновноеСредство = Спр.ТекущийЭлемент(); 
            Если БухИт.ПолучитьСубконто(2,,ОсновноеСредство)=1 Тогда
               БухИт.ВыбратьСчета();
               Пока БухИт.ПолучитьСчет()=1 Цикл
                  Если БухИт.Счет=СчетПоКоду("Г01") Тогда
                     Если Выбран()=1 Тогда
                        Количество=БухИт.СНД("К");
                     Иначе
                        Количество=БухИт.СКД("К");
                     КонецЕсли; 
                  Иначе          
                     Если Выбран()=1 Тогда
                        Масса=БухИт.СНД("К");
                     Иначе
                        Масса=БухИт.СКД("К");
                     КонецЕсли; 
                  КонецЕсли;
               КонецЦикла;
            КонецЕсли;   
         КонецЕсли;
      КонецЦикла;
      Если КС = КоличествоСтрок() Тогда
         Предупреждение("Других объектов с указанным наименованием не найдено",60);
      КонецЕсли;
   Иначе
      Если глОчиститьТабличнуюЧасть(Контекст)=0 Тогда
         Возврат;
      КонецЕсли;   
      БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2); 
      БухИт.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,1);  
      БухИт_11=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2); 
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,1); 
      Если Выбран()=1 Тогда
         БухИт.ВыполнитьЗапрос(ТекущийДокумент(),,"К11"); 
      Иначе
         БухИт.ВыполнитьЗапрос(,ДатаДок,"К11"); 
      КонецЕсли;  
      БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения,МестоХранения,2); 
      БухИт.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,1); 
      Если Выбран()=1 Тогда
         БухИт.ВыполнитьЗапрос(ТекущийДокумент(),,"К11"); 
      Иначе
         БухИт.ВыполнитьЗапрос(,ДатаДок,"К11"); 
      КонецЕсли; 
      
      БухИт.ВыбратьСубконто(2);
      Пока БухИт.ПолучитьСубконто(2)=1 Цикл
          ТекстСообщения="";
         СчетЖивотных=ОпределитьСубсчет11(БухИт.Субконто(2),ТекстСообщения);
         Если СчетЖивотных=0 Тогда
            Сообщить(ТекстСообщения);
            Продолжить;
         КонецЕсли;   
         
         НоваяСтрока();
         Номенклатура=БухИт.Субконто(2);
         Если Выбран()=1 Тогда
            Количество=БухИт.СНД("К");
         Иначе
            Количество=БухИт.СКД("К");
         КонецЕсли;
         
         Если Выбран()=1 Тогда
            БухИт_11.ВыполнитьЗапрос(ТекущийДокумент(),,СчетЖивотных); 
            Масса=БухИт_11.СНД("К");
         Иначе
            БухИт_11.ВыполнитьЗапрос(,ДатаДок,СчетЖивотных);
            Масса=БухИт_11.СКД("К");
         КонецЕсли;  
      КонецЦикла; 
   КонецЕсли;
КонецПроцедуры

//_____________________________________________________________________________
Процедура ПриВыбореРежима(Реж=0)
   Если Реж = 0 Тогда
      Если КоличествоСтрок() > 0 Тогда
         Предупреждение("ВНИМАНИЕ! Табличная часть будет очищена!", 30);
         УдалитьСтроки();
      КонецЕсли;
   КонецЕсли;
   
    ТаблицаПечФорм.УдалитьСтроки();
   Если РежимДокумента = Перечисление.РежимыДокументовСкотаИЖивотных.Животные Тогда
      Форма.ОсновноеСредство.Видимость(0); 
      Форма.тИнвНомер.Видимость(0);
      Форма.Номенклатура.Видимость(1);
      
      Дост = 1;
      тЗаголовок="Акт на списание животных №"; 
      
      // добавим информацию о встроенной форме
      ТаблицаПечФорм.НоваяСтрока();
      ТаблицаПечФорм.Название = "Акт на списание животных";
      ТаблицаПечФорм.Кнопка   = "СП-54";
   
   Иначе                            
      Форма.ОсновноеСредство.Видимость(1);
      Форма.тИнвНомер.Видимость(1);    
      Форма.Номенклатура.Видимость(0);
      
      Дост = ТипСписания;
      тЗаголовок="Акт на списание скота №";
      
      // добавим информацию о встроенной форме
      ТаблицаПечФорм.НоваяСтрока();
      ТаблицаПечФорм.Название = "Акт на списание основных средств";
      ТаблицаПечФорм.Кнопка   = "Акт ОС-4";
   КонецЕсли;
   
   Форма.рАналитикаЗатрат.Видимость(Дост);
   Форма.тВидНоменклатуры.Видимость(Дост); 
   Форма.ВидНоменклатуры.Видимость(Дост);
   Форма.тПодразделение.Видимость(Дост);
   Форма.Подразделение.Видимость(Дост);
   Форма.СтатьяЗатрат.Видимость(Дост);
   Форма.тСтатьяЗатрат.Видимость(Дост);
   
   // Заполним таблицу для выбора печатной формы
   НомерТекущейФормы = глУстановкаКнопкиПечать(Контекст, "Документ." + Вид(),ТаблицаПечФорм);
КонецПроцедуры //ПриВыбореРежима

//_____________________________________________________________________________
Процедура Печать()
   Если Проведен()=0 Тогда
     Предупреждение("Документ не проведен");
     Возврат;
   КонецЕсли;
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("ОС-4");
   Организация = СокрЛП(Константа.НазваниеОрганизации);
   Подразделение = ОсновноеСредство.Подразделение.Получить(ДатаДок-1);
   МОЛ = ОсновноеСредство.МОЛ.Получить(ДатаДок-1); 
   Руководитель = "("+ФИО(Константа.Руководитель.Получить(ДатаДок))+")";
   НаимОС = СокрЛП(ОсновноеСредство.Наименование);
   ДатаВвода = ОсновноеСредство.ДатаВводаВЭксплуатацию;
   ИнвНомер = ОсновноеСредство.Код; 
   ГлавБух = "("+ФИО(Константа.ГлБухгалтер.Получить(ДатаДок))+")";
   Экспл = СоздатьОбъект("Периодический");
   Экспл.ИспользоватьОбъект("Состояние", ОсновноеСредство);
   СрокЭкспл=0;
   НачалоЭкспл =0;
   Экспл.ВыбратьЗначения(ДатаВвода, ДатаДок-1);
   Пока Экспл.ПолучитьЗначение() = 1 Цикл
      Если Экспл.Значение = Перечисление.СостоянияОС.В_Эксплуатации Тогда
         СрокЭкспл= СрокЭкспл + ?(НачалоЭкспл=0,0,Экспл.ДатаЗнач - НачалоЭкспл);
         НачалоЭкспл = Экспл.ДатаЗнач;
      Иначе
         СрокЭкспл= СрокЭкспл + ?(НачалоЭкспл=0,0,Экспл.ДатаЗнач - НачалоЭкспл);
         НачалоЭкспл = 0;
      КонецЕсли;
   КонецЦикла;
   СрокЭкспл = СрокЭкспл + ?(НачалоЭкспл=0,0,ДатаДок - НачалоЭкспл);
   СрокЭкспл = ?(Окр(СрокЭкспл/30.5,0,1)>0,Строка(Окр(СрокЭкспл/30.5,0,1))+" мес.","");
   НачСтоимость = "";
   НачАмортизация = 0;
   ОстСтоимость = Стоимость; 
   Таб.Вывести();
   Таб.Опции(0,0,0,0,"ОпцииПечатиОС_4","ОкноОС_4");
   Таб.ТолькоПросмотр(1);
   Таб.ПараметрыСтраницы(2);
   
   Если (ОсновноеСредство.Группа = Перечисление.ГруппыОС.ТранспортныеСредства) Тогда
      Таб.Показать("ОС-4а");
   Иначе
      Таб.Показать("ОС-4");
   КонецЕсли;
КонецПроцедуры //Печать

//******************************************************************************
// ПечатьСП54()
//
Процедура ПечатьСП54()
   Таб = СоздатьОбъект("Таблица");
   Таб.ИсходнаяТаблица("СП-54");
   
   Таб.ВывестиСекцию("Шапка");
   
   ВыбратьСтроки();
   Пока ПолучитьСтроку() = 1 Цикл 
       Таб.ВывестиСекцию("Строка");
   КонецЦикла;   
      
   Таб.ВывестиСекцию("Подвал");
   Таб.НоваяСтраница();
   Таб.ВывестиСекцию("ШапкаОборот");
   ВыбратьСтроки();
   Пока ПолучитьСтроку() = 1 Цикл 
      Если ПустоеЗначение(Товар)=0 Тогда
          Таб.ВывестиСекцию("СтрокаОборот");
      КонецЕсли;
   КонецЦикла;   
   
   Таб.ВывестиСекцию("ПодвалОборот");
   
   Таб.Опции(0,0,0,0);
   Таб.ПараметрыСтраницы(2);
   Таб.Показать("Акт выбытия животных ...");
КонецПроцедуры   //   ПечатьСП54()

//******************************************************************************
// ПоКнопкеПечать()
// 
// Вызывается из формул элементов диалога:
//  Кнопка "кнПечать".
//
// Описание:
//  Определяется соответствующая печатная форма.
//    
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)
   
   Если  ПустоеЗначение(НомерТекущейФормы) = 1  Тогда
      НомерТекущейФормы = 1;
      Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
   КонецЕсли;
   
   Если ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка") = "Акт ОС-4" Тогда   
      Печать(); 
      
   ИначеЕсли ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка") = "СП-54" Тогда      
      ПечатьСП54(); 
      
   Иначе
      Параметры = СоздатьОбъект("СписокЗначений");
      Параметры.ДобавитьЗначение(Контекст, "Контекст");
      Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
      Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");
      ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
   КонецЕсли;
   
КонецПроцедуры // ПоКнопкеПечать()

//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Вызывается из формул элементов диалога:
//  Кнопка "кнВыбПечать".
//
// Описание:
//  - открывает список для выбора способа печати. 
//  - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()
   
    ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
   Если ВыбНомер > 0 Тогда
      НомерТекущейФормы = ВыбНомер;
      Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
      ПоКнопкеПечать();
   КонецЕсли;

КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()

//_____________________________________________________________________________
Процедура ВводНового(Копирование) //предопределенная
   Новый = 1;
   Если Копирование = 1 Тогда Возврат; КонецЕсли;
   
   ТипСписания = 1;  
   РежимДокумента = Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот;
КонецПроцедуры //ВводНового

//******************************************************************************
// ПриВводеСтроки()
//
Процедура ПриВводеСтроки()
   Если МестоХранения.Выбран() = 0 Тогда
      Предупреждение("Выберите ферму!");
      Статусвозврата(0);
   КонецЕсли;   
КонецПроцедуры   //   ПриВводеСтроки()

//******************************************************************************
// ПриРедактированииНовойСтроки()
//
Процедура ПриРедактированииНовойСтроки() //предопределенная
   Если Константа.МетодУчетаЖивотных.Получить(ДатаДок) = 1 Тогда Количество = 1; КонецЕсли;
КонецПроцедуры   //   ПриРедактированииНовойСтроки()

//******************************************************************************
// ПроверитьУчетЖивотных()
//
Процедура ПроверитьУчетЖивотных()
   Форма.Количество.Доступность(?(Константа.МетодУчетаЖивотных.Получить(ДатаДок) = 1, 0, 1));
КонецПроцедуры   //   ПроверитьУчетЖивотных()

//******************************************************************************

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

// ПриОткрытии()
//
Процедура ПриОткрытии() //предопределенная
   НачальнаяДатаДокумента = ДатаДок;
   ПриЗаписиПерепроводить(1);
   глПроверкаРазрешенияРедактирования(Контекст);
   Если Форма.ТолькоПросмотр() = 1 Тогда
      Форма.КнопкаЗаписать.Доступность(0);
      Форма.КнопкаОК.Доступность(0);
   КонецЕсли;
   Если Проведен() = 1 Тогда Форма.РежимДокумента.Доступность(0); КонецЕсли;
   
   Форма.Номенклатура.ВыполнятьФормулуТолькоПриИзменении(1);
   Форма.ОсновноеСредство.ВыполнятьФормулуТолькоПриИзменении(1);
   
   Сч01 = СчетПоКоду("01.1");
   
   ПриВыбореРежима(1);
   
   ПроверитьУчетЖивотных(); 
   
   Форма.ИспользоватьЗакладки(1);
   УправлениеДиалогом(0); 
   ПриВыбореЗакладки(1,"Шапка");
   Активизировать("НомерДок",);
КонецПроцедуры //ПриОткрытии

//******************************************************************************
// ПриЗаписи()
//
Процедура ПриЗаписи() //предопределенная
   Если глМожноЗаписатьДокумент(Контекст) = 0 Тогда
      СтатусВозврата(0);
      Возврат;
   ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента) = 1 Тогда
      СтатусВозврата(0);
      Возврат;
   КонецЕсли;
   
   Если РежимДокумента = Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
        Операция.Содержание = "Списание продуктивного скота";
   Иначе Операция.Содержание = "Списание животных";
   КонецЕсли;
КонецПроцедуры //ПриЗаписи

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриНачалеВыбораЗначения(Эл, Флаг)
   Если Эл = "Номенклатура" Тогда
      глОбъект = СоздатьОбъект("СписокЗначений");
      
      сп = СоздатьОбъект("СписокЗначений");
      сп.Установить("ИмяОтбора",      "ВидСельскохозяйственнойПродукции");
      сп.Установить("ЗначениеОтбора", Перечисление.ВидыСельскохозяйственнойПродукции.Животные);
      глОбъект.Установить("Отбор",    сп);
      глОбъект.Установить("Родитель", "");
   КонецЕсли;
КонецПроцедуры // ПриНачалеВыбораЗначения()

//******************************************************************************
// Предопределенная процедура
//
Процедура ПриЗакрытии()   
   глОткрытьЖурнал(Контекст, Новый);
КонецПроцедуры // ПриЗакрытии()

//*****************************************************************************
Новый = 0;

ТаблицаПечФорм      = СоздатьОбъект("ТаблицаЗначений");
ТаблицаПечФорм.НоваяКолонка("Название","Строка",,,,30);
ТаблицаПечФорм.НоваяКолонка("Файл","Строка",,,"Файл",10);
ТаблицаПечФорм.НоваяКолонка("Кнопка","Строка",,,,10); 
ТаблицаПечФорм.НоваяКолонка("ФайлОписания","Строка");
   
СписокДействий = СоздатьОбъект("СписокЗначений");
СписокДействий.ДобавитьЗначение("Отчет о движениях документа");
СписокДействий.ДобавитьЗначение("Структура подчиненности");
СписокДействий.ДобавитьЗначение("Ввести на основании"); 
СписокДействий.ДобавитьЗначение("Перейти  в журнал");
.
Показать полностью

3. SergeyR 08.06.07 09:18 Сейчас в теме
Сейчас попробую объяснить. Документ списание инструментов и товара. Цена берется из справочника номенклатура и формируется стоимость при внесении количества товара. Не знаю понятно или нет.
4. sashulyT 201 08.06.07 09:48 Сейчас в теме
т.е. проблема в том что нет в табличной части колонки "сумма"?

тогда попробуй в меню "вставить" выбери "Реквизиты..." потом в "реквизитах табличной части" выбери реквизит который тебе нужен. Возможно у него уже стоит галка, тогда в модуле формы документа надо посмотреть, что б у него не была отключена видимость (форма.Сумма.Видимость(0))
5. SergeyR 08.06.07 10:08 Сейчас в теме
Сама колонка имеется но не выводятся данные.
6. sashulyT 201 08.06.07 11:04 Сейчас в теме
> Сама колонка имеется но не выводятся данные.
Ну это надо смотреть конфигурацию.

> Сейчас попробую объяснить. Документ списание
> инструментов и товара. Цена берется из справочника
> номенклатура и формируется стоимость при внесении
> количества товара. Не знаю понятно или нет.


А что такое "формирует стоимость"?
7. SergeyR 08.06.07 11:40 Сейчас в теме
Т.е в номенклатуре товара берется цена и умножается на количество товара. Вот таким образом формируется стоимость.
8. SergeyR 08.06.07 12:29 Сейчас в теме
Как мне из номенклатуры товара взять плановую стоимость товара?
9. sashulyT 201 08.06.07 13:17 Сейчас в теме
Если она у тебя периодическая то
товар.ПлановаяСтоимость.Получить(ДатаДОк)
10. SergeyR 08.06.07 13:50 Сейчас в теме
Выводит, но берет не ту стоимость. Берет стоимость другого товара.
11. sashulyT 201 08.06.07 14:29 Сейчас в теме
А есть закономерность: выводит цену предыдущего или первого товара, все одну или разную?

В аську: 402-918-762

12. SergeyR 08.06.07 14:54 Сейчас в теме
Имеется два товара например мясо и молоко. При списании мне нужно взять плановую себестоимость например молока. А берет почему то плановую себестоимость мяса. Может я не в том модуле прописываю? Я прописываю в главном
13. sashulyT 201 08.06.07 15:11 Сейчас в теме
Скинь модуль формы документа.
14. SergeyR 08.06.07 15:28 Сейчас в теме
Вот модуль документа
Код
 
//******************************************************************************
// Предопределенная процедура
//
Процедура ОбработкаПроведения()
   
   Сч01_4   = СчетПоКоду("01.4");
   Сч11_2   = СчетПоКоду("11.2");
   Сч94     = СчетПоКоду("94");
   Сч20_2   = СчетПоКоду("20.2"); 
   Сч20_3   = СчетПоКоду("20.3");
   СчГ01    = СчетПоКоду("Г01");
   СчМ01    = СчетПоКоду("М01");
   СчК11    = СчетПоКоду("К11");
   Сч91_2   = СчетПоКоду("91.2"); 
   Сч99_1   = СчетПоКоду("99.1");
   СчНПР_01 = СчетПоКоду("НПР.01");
   
   Если (МестоХранения.Выбран() = 0) Тогда
      ТекстСообщения = "Не выбрана ферма!";
      глНеПроводить(Контекст, ТекстСообщения);
      Возврат;
   ИначеЕсли (МестоХранения.ТипСклада.Выбран() = 0) Тогда
      ТекстСообщения = "Для фермы " + МестоХранения + " не установлен тип склада!";
      глНеПроводить(Контекст, ТекстСообщения);
      Возврат;
   КонецЕсли; 
   
   СпрОС = СоздатьОбъект("Справочник.ОсновныеСредства");
   
   ДвижениеЖивотных = ?(ТипСписания = 1, Перечисление.ДвижениеЖивотных.Забито, Перечисление.ДвижениеЖивотных.Падеж);
   
   спПарам = СоздатьОбъект("СписокЗначений");
   спПарам.Установить("ДвижениеЖивотных", ДвижениеЖивотных);
   
   Если РежимДокумента = Перечисление.РежимыДокументовСкотаИЖивотных.ПродуктивныйСкот Тогда
      БухИтНПР = СоздатьОбъект("БухгалтерскиеИтоги");
      БухИтНПР.ПериодМ(ДатаДок);
      
      БухИтОбщ = СоздатьОбъект("БухгалтерскиеИтоги");
      БухИтОбщ.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,, 1); 
      БухИтОбщ.ВыполнитьЗапрос(ТекущийДокумент(),, "01.4");
      
      БухИт=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2); 
      БухИт.ИспользоватьСубконто(ВидыСубконто.ОсновныеСредства,,            1);
      БухИт.ВыполнитьЗапрос(ТекущийДокумент(),, "Г01,М01");   
      ВыбратьСтроки();
      Пока ПолучитьСтроку() = 1 Цикл
         Если ОсновноеСредство.Выбран() = 0 Тогда
            //ТекстСообщения = "В строке: " + НомерСтроки + ", не выбрано основное средство!";
            //глНеПроводить(Контекст, ТекстСообщения);
            //Возврат;     
            Продолжить;
         КонецЕсли;
         
         КоличествоПоГоловам = 0; КоличествоПоМассе = 0;
         Если Масса = 0 Тогда
            ТекстСообщения = "В строке №" + НомерСтроки + " не задана Масса!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли; 
      
         Если БухИтОбщ.ПолучитьСубконто(,, ОсновноеСредство) = 1 Тогда
            ОбщаяСумма = БухИт.СНД("С");
         КонецЕсли;
         
         Если БухИт.ПолучитьСубконто(2,, ОсновноеСредство) = 1 Тогда
            БухИт.ВыбратьСчета();
            Пока БухИт.ПолучитьСчет()=1 Цикл
               Если БухИт.Счет = СчГ01 Тогда
                    СуммаПоГоловам      = БухИт.СНД("С");
                    КоличествоПоГоловам = БухИт.СНД("К");
               Иначе СуммаПоМассе        = БухИт.СНД("С");
                    КоличествоПоМассе   = БухИт.СНД("К");
               КонецЕсли;
            КонецЦикла;
         КонецЕсли;   
         
         Если КоличествоПоГоловам < Количество Тогда
            ТекстСообщения = "По основному средству: " + ОсновноеСредство + ", количество голов меньше учетного.
                         |В учете " + КоличествоПоГоловам;
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         Если КоличествоПоМассе < Масса Тогда
            ТекстСообщения = "По основному средству: " + ОсновноеСредство + ", масса меньше учетной.
                         |В учете " + КоличествоПоМассе;
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         Если СуммаПоГоловам <> СуммаПоМассе Тогда
            ТекстСообщения = "По основному средству: " + ОсновноеСредство + ", сумма по массе не равна сумме по головам!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         Если (КоличествоПоМассе = Масса) и (КоличествоПоГоловам <> Количество) Тогда
            ТекстСообщения = "По продуктивному скоту: " + Номенклатура + ", количество голов не соответсвует массе!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли; 
         
         Если (КоличествоПоМассе <> Масса) и (КоличествоПоГоловам = Количество) Тогда
            ТекстСообщения = "По продуктивному скоту: " + Номенклатура + ", количество массы не соответсвует головам";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         // если суммы равны то не важно как считать стоимость
         Если КоличествоПоГоловам = Количество Тогда
              Стоимость = СуммаПоГоловам;
         Иначе Стоимость = СуммаПоГоловам * Количество / КоличествоПоГоловам;
         КонецЕсли;
         
         СписаноПостоянныхРазниц = 0;
         
         Если Стоимость <> 0 Тогда
            // списание  скота  по балансу
            Операция.НоваяПроводка();
            Операция.НомерЖурнала            = "ОС";
            Операция.СодержаниеПроводки      = "Списана стоимость на жив.";
            Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Кредит.Счет             = Сч01_4;
            Операция.Кредит.ОсновныеСредства = ОсновноеСредство;
            Если ТипСписания = 1 Тогда
               Операция.Дебет.Счет = Сч20_3;
               Операция.Дебет.ВидыНоменклатуры           = ВидНоменклатуры;
               Операция.Дебет.Подразделения              = Подразделение;
               Операция.Дебет.СтатьиЗатратНаПроизводство = СтатьяЗатрат;
            Иначе
               Операция.Дебет.Счет = Сч94;
            КонецЕсли;
            Операция.Сумма          = Стоимость;    
            
            Если ТипСписания = 2 Тогда
               Операция.НоваяПроводка();                                                       
               Операция.НомерЖурнала            = "ОС";
               Операция.СодержаниеПроводки      = "Отнесены затраты";
               Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
               Операция.Кредит.Счет             = Сч94;
               
               Операция.Дебет.Счет              = СчетПоКоду("91.2"); 
                 Операция.Дебет.СтатьиЗатратНаПроизводство = СтатьяЗатрат;
               //Операция.Дебет.ДвижениеЖивотных = ДвижениеЖивотных;
               //Операция.Дебет.ПрочиеДоходыИРасходы=ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы");
               Операция.Сумма          = Стоимость;    
            КонецЕсли;
            
            
            // списание скота по головам по забалнсу
            Операция.НоваяПроводка();
            Операция.НомерЖурнала            = "ОС";
            Операция.СодержаниеПроводки      = "Списаны головы";
            Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Кредит.Счет             = СчГ01;
            Операция.Кредит.ОсновныеСредства = ОсновноеСредство; 
            Операция.Кредит.МестаХранения    = МестоХранения;
            Операция.Кредит.ДвижениеЖивотных = ДвижениеЖивотных;
            Операция.Количество              = Количество;
            Операция.Сумма                   = Стоимость;
                        
            // списание скота по массе по забалнсу
            Операция.НоваяПроводка();
            Операция.НомерЖурнала            = "ОС";
            Операция.СодержаниеПроводки      = "Списана масса";
            Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Кредит.Счет             = СчМ01;
            Операция.Кредит.ОсновныеСредства = ОсновноеСредство; 
            Операция.Кредит.МестаХранения    = МестоХранения;
            Операция.Кредит.ДвижениеЖивотных = ДвижениеЖивотных;
            Операция.Количество              = Масса;     
            Операция.Сумма                   = Стоимость;
         КонецЕсли;
         
         // Списание постоянных разниц
         //Если Константа.ПрименяетсяПБУ18.Получить(ДатаДок) = Да Тогда
         //   СписатьПостоянныхРазниц = БухИтНПР.СКД("НПР.01",,, ОсновноеСредство) - СписаноПостоянныхРазниц;
         //   Если СписатьПостоянныхРазниц <> 0 Тогда
         //      СчетДт = ПолучитьПустоеЗначение("Счет");
         //      Если ТипСписания = 1 Тогда
         //           СчетДт    = Сч99_1;
         //           Субконто1 = Перечисление.ПрибылиИУбытки.ЧрезвычайныеРасходы;
         //      Иначе СчетДт    = Сч91_2;
         //           Субконто1 = ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы");
         //      КонецЕсли;
         //      СчетНПР = глПолучитьСчетДебетаНПР(СчетДт, Субконто1);
         //      
         //      Операция.НоваяПроводка();
         //      Операция.НомерЖурнала            = "ПР";
         //      Операция.СодержаниеПроводки      = "Списание постоянных разниц";
         //      Если ПустоеЗначение(СчетНПР) = 0 Тогда
         //         Операция.Дебет.Счет          = СчетНПР;
         //      КонецЕсли;
         //      Операция.Кредит.Счет             = СчНПР_01;
         //      Операция.Кредит.ОсновныеСредства = ОсновноеСредство;
         //      Операция.Сумма                   = СписатьПостоянныхРазниц;
         //   КонецЕсли;
         //КонецЕсли;
         
         Если ОбщаяСумма = СуммаПоГоловам Тогда
            СпрОС.НайтиЭлемент(ОсновноеСредство);
            СпрОС.ДатаВыбытия    = ДатаДок;
            СпрОС.ПричинаВыбытия = ?(ТипСписания = 1, Перечисление.ПричиныВыбытияОС.Иная, Перечисление.ПричиныВыбытияОС.Списание);
            СпрОС.Записать();
            
            УстановитьРеквизитСправочника(ОсновноеСредство, "Состояние",      Перечисление.СостоянияОС.Выбыло, ДатаДок);
            ТекстСообщения = "В справочнике ""Основные средства"" отражено выбытие основного средства: " + ОсновноеСредство;
            глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0);  
         КонецЕсли;
      КонецЦикла;
      
   Иначе
      БухИт_11=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2); 
      БухИт_11.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,                1);
      БухИт_11.ВыполнитьЗапрос(ТекущийДокумент(),, "11");
      
      БухИт_К11=СоздатьОбъект("БухгалтерскиеИтоги");
      БухИт_К11.ИспользоватьСубконто(ВидыСубконто.МестаХранения, МестоХранения, 2); 
      БухИт_К11.ИспользоватьСубконто(ВидыСубконто.Номенклатура,,                1); 
      БухИт_К11.ВыполнитьЗапрос(ТекущийДокумент(),, "К11");
      
      ПоПлановойОценке = 0;
      Если Константа.СпособУчетаГПиПФ.Получить(ДатаДок) = Перечисление.СпособыУчетаГПиПФ.ПоПлановойСтоимости Тогда
         ПоПлановойОценке = 1;
      КонецЕсли;
      
      ВыбратьСтроки();
      Пока ПолучитьСтроку() = 1 Цикл 
         Сумма_11 = 0; КоличествоПоГоловам = 0; КоличествоПоМассе = 0;
         Если Масса = 0 Тогда
            //ТекстСообщения = "В строке №" + НомерСтроки + " не задана Масса";
            //глНеПроводить(Контекст, ТекстСообщения);
            //Возврат;  
            Продолжить;
         КонецЕсли; 
         Если ПустоеЗначение(Номенклатура) = 1 Тогда
            ТекстСообщения = "Не указано животное в строке "+НомерСтроки;
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         ТекстСообщения = "";
         СчетЖивотных = ОпределитьСубсчет11(Номенклатура, ТекстСообщения);
         Если СчетЖивотных = 0 Тогда
            Сообщить(ТекстСообщения);
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;   
                  
         БухИт_11.ВыбратьСчета();
         Если БухИт_11.ПолучитьСчет(, СчетЖивотных) = 1 Тогда
            Если БухИт_11.ПолучитьСубконто(2,, Номенклатура) = 1 Тогда
               Сумма_11          = БухИт_11.СНД("С");
               КоличествоПоМассе = БухИт_11.СНД("К");
            КонецЕсли;
         КонецЕсли;
      
         Если БухИт_К11.ПолучитьСубконто(2,, Номенклатура) = 1 Тогда
            КоличествоПоГоловам = БухИт_К11.СНД("К");
         КонецЕсли;   
            
         Если КоличествоПоМассе < Масса Тогда
            ТекстСообщения = "По животному: "+Номенклатура+", масса меньше чем указана!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли; 
         Если КоличествоПоГоловам < Количество Тогда
            ТекстСообщения = "По животному: "+Номенклатура+", количество голов меньше чем указано!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли; 
         Если (КоличествоПоМассе = Масса) и (КоличествоПоГоловам <> Количество) Тогда
            ТекстСообщения = "По животному: " + Номенклатура + ", количество голов не соответсвует массе!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли; 
         Если (КоличествоПоМассе <> Масса) и (КоличествоПоГоловам = Количество) Тогда
            ТекстСообщения = "По животному: "+Номенклатура+ ", количество массы не соответсвует головам!";
            глНеПроводить(Контекст, ТекстСообщения);
            Возврат;
         КонецЕсли;
         
         Если ПоПлановойОценке = 1 Тогда
            Стоимость = Номенклатура.ПлановаяСебестоимость.Получить(ДатаДок) * Масса;
            
    СуммаТовара =Номенклатура.ПлановаяСебестоимость.Получить(ДатаДок)* КоличествоТовара; // Вот я вставил
            Если Стоимость = 0 Тогда
               ТекстСообщения = "Для животного " + Номенклатура + ", не указана плановая себестоимость!";
               глНеПроводить(Контекст, ТекстСообщения);
               Возврат;
            КонецЕсли;
         
         Иначе   
            // если суммы равны то не важно как считать стоимость
            Если КоличествоПоМассе = Масса Тогда
               Стоимость = Сумма_11;
            ИначеЕсли Масса <> 0 Тогда //Масса не может быть равна нулю, но вдруг...   
               Стоимость = Сумма_11 * Масса / КоличествоПоМассе;
            КонецЕсли;
         КонецЕсли;   
         
         Если Стоимость <> 0 Тогда
            // списание с животных стоимости и массы по балансу
            Операция.НоваяПроводка();
            Операция.НомерЖурнала            = "ЖВ";
            Операция.СодержаниеПроводки      = "Списана стоимость с жив.";
            Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Кредит.Счет             = СчетЖивотных;
            Операция.Кредит.Номенклатура     = Номенклатура;
            Операция.Кредит.МестаХранения    = МестоХранения;
            Операция.Кредит.ДвижениеЖивотных = ДвижениеЖивотных;
            Если ТипСписания = 1 Тогда
               Операция.Дебет.Счет                       = Сч20_3;
               Операция.Дебет.ВидыНоменклатуры           = ВидНоменклатуры;
               Операция.Дебет.Подразделения              = Подразделение;
               Операция.Дебет.СтатьиЗатратНаПроизводство = СтатьяЗатрат;
            Иначе
               Операция.Дебет.Счет = Сч94;
            КонецЕсли;
            Операция.Количество     = Масса;
            Операция.Сумма          = Стоимость;
            
            Если ТипСписания = 2 Тогда
               Операция.НоваяПроводка();
               Операция.НомерЖурнала                     = "ЖВ";
               Операция.СодержаниеПроводки               = "Отнесены затраты";
               Операция.ПервичныйДокумент                = глПредставлениеПервичногоДокумента(Контекст);
               Операция.Дебет.Счет                       = СчетПоКоду("91.2"); 
                 //Операция.Дебет.ДвижениеЖивотных = ДвижениеЖивотных;
                Операция.Дебет.СтатьиЗатратНаПроизводство = СтатьяЗатрат;
               //Операция.Дебет.ПрочиеДоходыИРасходы       = ПолучитьПустоеЗначение("Справочник.ПрочиеДоходыИРасходы");
               Операция.Кредит.Счет                      = Сч94;
               Операция.Сумма                            = Стоимость;
            КонецЕсли;
            
            //Если глДопПроведение(Контекст, спПарам) = 0 Тогда
            //   глНеПроводить(Контекст, "");
            //   Возврат;
            //КонецЕсли;  
            
            // списание скота по головам по забалнсу
            Операция.НоваяПроводка();
            Операция.НомерЖурнала            = "ЖВ";
            Операция.СодержаниеПроводки      = "Списаны головы";
            Операция.ПервичныйДокумент       = глПредставлениеПервичногоДокумента(Контекст);
            Операция.Кредит.Счет             = СчК11;
            Операция.Кредит.Номенклатура     = Номенклатура; 
            Операция.Кредит.МестаХранения    = МестоХранения;
            Операция.Кредит.ДвижениеЖивотных = ДвижениеЖивотных;
            Операция.Количество              = Количество;
            Операция.Сумма                   = Стоимость;
         КонецЕсли;
      КонецЦикла;
      
   КонецЕсли;
   Операция.СуммаОперации = Итог("Стоимость");
   Операция.Записать();
   
   Если ТипСписания=1 Тогда
      ВыбратьСтроки();
      Пока ПолучитьСтроку()=1 Цикл
         Если ПустоеЗначение(Товар)=1 Тогда
            Продолжить;
         КонецЕсли;     
         Операция.НоваяПроводка();
         Операция.НомерЖурнала                     = "ЖВ";
         Операция.СодержаниеПроводки               = "Выход продукции от забоя";
         Операция.ПервичныйДокумент                = глПредставлениеПервичногоДокумента(Контекст);
         Операция.Дебет.Счет                       = СчетПоКоду("40.2"); 
         Операция.Дебет.ВидыНоменклатуры           = Товар.ВидНоменклатуры;
         Операция.Дебет.СтоимостьВыпуска           = Перечисление.СтоимостьВыпуска.ПлановаяСтоимость;
         
         Операция.Кредит.Счет                       = Сч20_3;
         Операция.Кредит.ВидыНоменклатуры           = ВидНоменклатуры;
         Операция.Кредит.Подразделения              = Подразделение;
         Операция.Кредит.СтатьиЗатратНаПроизводство = СтатьяЗатрат; 
         Операция.Количество                        = КоличествоТовара;
         Операция.Сумма                             = СуммаТовара;     
         
         Операция.НоваяПроводка();
         Операция.НомерЖурнала                     = "ЖВ";
         Операция.СодержаниеПроводки               = "Выход продукции от забоя";
         Операция.ПервичныйДокумент                = глПредставлениеПервичногоДокумента(Контекст);
         Операция.Дебет.Счет                       = СчетПоКоду("43"); 
         Операция.Дебет.Номенклатура               = Товар;
         Операция.Дебет.МестаХранения              = МестоПродукции;
         Операция.Дебет.ДвижениеПродукции          = ДвижениеПродукции;
         
         Операция.Кредит.Счет                       = СчетПоКоду("40.2"); 
         Операция.Кредит.ВидыНоменклатуры           = Товар.ВидНоменклатуры;
         Операция.Кредит.СтоимостьВыпуска           = Перечисление.СтоимостьВыпуска.ПлановаяСтоимость;
         Операция.Количество                        = КоличествоТовара;
         Операция.Сумма                             = СуммаТовара;   
         
         Операция.Записать();
         
      КонецЦикла;
      
   КонецЕсли;
   
   ТекстСообщения = "Документ проведен.";
   глСообщениеПроведения(ТекстСообщения, ТекущийДокумент(), 0);
   глПриПроведении(Контекст);   
КонецПроцедуры // ОбработкаПроведения()
.
Показать полностью

15. sashulyT 201 08.06.07 15:39 Сейчас в теме
Это модуль документа, здесь проводится документ.
Ты писал, что не заполняется табличная часть, она должна заполнятся в модуле формы документа. Хотя может и в модуле документа.
Как называется тот реквизит в котором тебе надо заполнить?
17. sashulyT 201 08.06.07 16:42 Сейчас в теме
Складывается впечатление, что этот документ для списание животных, а ты рассчитывае для мяса и молока. Нет ли ошибки? Может следует использовать другой документ?
18. sashulyT 201 08.06.07 16:47 Сейчас в теме
Вообще слишком много к тебе вопросов.
Лучше обратится к тому кто рядом и может посмотреть что там наколбашено .
19. O-Planet 6403 12.06.07 05:23 Сейчас в теме
Я - ваще, б ... е .... н ..... с .....

Ну это уже стало какой-то традицией - на форуме выкладывать целые модули конфы. Без малейшей попытки разобраться самому. И плохой традицией...

Наверняка у тебя сумма заполняеться должна после проведения по среднему, а не из справочника. А не заполняется, потому что нет нужных остатков на нужном счете. Это видно и в модуле проведения, кстати...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот