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

Помогите с реестром документов

Автор Яна93, 27 дек 2011, 11:45

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

Яна93

необходимо добавить в реестр документов суммы по маршрутным  листам (если в них -маршрутных листах есть накладные с
приходниками, если  нет то "0") в колонку сумма см. скан во вложении.
А также в графу  "информация" экспедитора, который указан в маршрутном листе.
Заранее спасибо.

Яна93

Сканер реестра документов для примера. Подскажите кто знает, как это реализовать..

Яна93

Видимо здесь неоткого ждать помощи..:(

volodya1122

а в какой программе эти маршрутные листы ведутся. ? Может вы вообще их в Экселе ведете... Если вопрос непонятный то какой Вы желаете получить ответ?. Озвучте полностю название конфигурации. А также стандарнтная она или переделанная. Тогда может ктото и поможет.

Яна93

Действительно, Володя..Вы правы..Конфигурация стандартная, 1с 7.7 торговля и склад. Реестр документов нажодится в отчете..больше не знаю что добавить..

volodya1122

Помощь => О Програме.
Перепишите все что там написано

Яна93

вот какая информация о программе вышла

volodya1122

Такой конфигугации "Корпоратиывный учет в торговле" я не нашел. Похоже что это нестандартная  конфигурация. (в стандартных в этом месте названия как правило присудствует номер версии.
Что делать дальше?
1. Найти того кто делал эту конфигурацию и попросить его доработать...
2. ждать того кто под разгар Нового Года бросит отмечать его и будет разбиратся в Вашей конфигурации. (но для этого нужно сюда вылолить файл 1cv7.md а также желательно все файлы с папки ExtForms)

Яна93

Да, Володя) действительно запутанная программа)) но я тут за выходный начала разбираться...и вот что выходит...информация и сумма в модуле реестра документов ссылаются на глобальный модуль...где и прописывается код программы...информацию получилось добавить...а вот сумму накладных (реализация) которые относятся к одному маршрутному листу не получается...там видимо нужен замудренный код..просто реализация находится в табличной части маршрутного листа..и у каждой реализации есть своя сумма..а вот как теперь мне до нее добраться, чтобы она в отчете отображалась..я нашла в какой части глобального модуля ее нужно прописать..:

//  глСуммаДокументаВЖурнале(Док, ТипВозврата)
//
// Параметры:
//  Док       - документ
//  ТипВозврата   - строка, тип возвращаемого значения. Может принимать значения:
//                "строка" - сумма по документу в виде отформатированной строки
//                "число"  - сумма по документу в виде числа
//
// Возвращаемое значение:
//  Отформатированная сумма
//
// Описание:
//  Формирует сумму, которая отражается в журналах, реестрах для документа.
//  При формировании суммы по документам "Счет фактура полученный" и "Счет
//  фактура выданный" учитывается то, что в этих документах сумм нет, для них
//  отображается сумма документа - основания.
//
Функция глСуммаДокументаВЖурнале(Док, ТипВозврата="строка") Экспорт
   Перем Результат;
   Перем СуммаНДС;
   Перем СуммаНП;
   
   Результат   =0;
   СуммаНДС   =0;
   СуммаНП    =0;
                  
   Если ПустоеЗначение(Док)=1 Тогда
      Возврат "";
   КонецЕсли;
   
   ВидДок=Док.Вид();
   
   Если ВидДок = "ОтчетКомитенту" Тогда // здесь тяжело считать сумму комиссионного вознаграждения, поэтому вернем пустоту
      Возврат "";
   КонецЕсли;
   
   РеквСумма=Метаданные.Документ(ВидДок).РеквизитШапки("Сумма");
        
   Если (ВидДок = "СчетФактураВыданный")
   или  (ВидДок = "СчетФактураПолученный")
   Тогда       
      Если (Док.ДокОснование.Выбран() = 1)
      и    (Док.КоличествоСтрок() = 0)
      Тогда
          Возврат (глСуммаДокументаВЖурнале(Док.ДокОснование, ТипВозврата));
      КонецЕсли;
   КонецЕсли;
   
   Если РеквСумма.Выбран()=1 Тогда
      Результат= Док.Сумма;
   Иначе
      
      Если "ВводОстатковТМЦ" = ВидДок Тогда
         Если Перечисление.ВидыОперацийПоВводуОстатков.ОстаткиРеализованныхТоваров = Док.ВидОперации Тогда
             Результат=Док.Итог("ПродСтоимость");
         Иначе
            Результат=Док.Итог("СуммаРуб");
         КонецЕсли;
      Иначе
         РеквСумма=Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти("Сумма");
         Если РеквСумма.Выбран()=1 Тогда
            Если РеквСумма.ИтогПоКолонке=1 Тогда
               Результат=Док.Итог("Сумма");
            КонецЕсли;
         Иначе
            РеквСумма=Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти("СуммаРуб");
            Если РеквСумма.Выбран()=1 Тогда
               Если РеквСумма.ИтогПоКолонке=1 Тогда
                  Результат=Док.Итог("СуммаРуб");
               КонецЕсли;                 
            КонецЕсли;
         КонецЕсли;
      КонецЕсли; 
                      
   
      РеквСуммаНДС=Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти("СуммаНДС");
      Если РеквСуммаНДС.Выбран()=1 Тогда
         Если РеквСуммаНДС.ИтогПоКолонке=1 Тогда
            СуммаНДС=Док.Итог("СуммаНДС");
         КонецЕсли;                         
      КонецЕсли;
      
      РеквСуммаВклНДС=Метаданные.Документ(ВидДок).РеквизитШапки("СуммаВклНДС");
      Если РеквСуммаВклНДС.Выбран()=1 Тогда
         Результат=Результат+?(Док.СуммаВклНДС=1,0,СуммаНДС);
      КонецЕсли;
      
      РеквСуммаНП=Метаданные.Документ(ВидДок).РеквизитТабличнойЧасти("СуммаНП");
      Если РеквСуммаНП.Выбран()=1 Тогда
         Если РеквСуммаНП.ИтогПоКолонке=1 Тогда
            СуммаНП=Док.Итог("СуммаНП");
         КонецЕсли;                         
      КонецЕсли;
      
      РеквСуммаВклНП=Метаданные.Документ(ВидДок).РеквизитШапки("СуммаВклНП");
      Если РеквСуммаВклНП.Выбран()=1 Тогда
         Результат=Результат+?(Док.СуммаВклНП=1,0,СуммаНП);
      КонецЕсли;
   КонецЕсли;       
                                
   Если ТипВозврата = "строка" Тогда
       Возврат глФрм(Результат);
   Иначе
      Возврат Результат;
   КонецЕсли;   

   
КонецФункции //глСуммаДокументаВЖурнале()   


Возможно мне в этот код нужно добавить чтото подобное
(Если "МаршрутныйЛистСтарый" = ВидДок Тогда 
   
          Возврат "";
   
   КонецЕсли; ) только вот не знаю как написать код чтобы сумма реализации отобразилась..может ктото подскажет?

sergejK74

Если чисто в лоб, то что то такое должно помочь.
Если "МаршрутныйЛистСтарый" = ВидДок Тогда
Результат = 0; 
док.ВыбратьСтроки();
Пока док.ПолучитьСтроку() = 1 Цикл
Результат = Результат + док.ДокументРеализации.Итог("Сумма");
КонецЦикла;
Возврат Результат;

Вместо ДокументРеализации нужно подставить название реквизита табличной части документа "МаршрутныйЛистСтарый"
Кнопочка Спасибо - слева!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск