Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите с написанием реестра НН для конфигурации А4: БТР Релиз 3.22/99
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Страницы: 1, 2
yfrf111
Цитата(5_kopeek @ 26.02.11, 18:47) необходимо зарегистрироваться для просмотра ссылки
Надеюсь, что когда-нибудь Вы поймете, что совет читать и пробовать -- это не есть "плохое", а как раз наоборот. То же относится к АНАЛИЗУ типовых конфигураций.
Спасибо, что избавили от труда искать надпись в логотипе (это было довольно сложно), но только надписи "Обучение нежелающих читать и думать программированию в 1С" нет ни в логотипе, ни в ином месте.
А по поводу этого

, то пока за помощь получила обвинение в деянии "плохого".

Вот в этом утверждении Вы очень сильно ошибаетесь: все зависит от желания добиться результата и количества/качества приложенных усилий. А наличие подсказчика только облегчает Ваш труд за счет его усилий объяснить Вам что-либо.
А теперь по делу. Если Вы хотите научиться что-то делать своими руками и головой, последующая информация поможет Вам.
В реестр данные попадают из таблицы лТаблЗН, как видно из Вашего рисунка (Вы этого посмотреть сами не хотите, желаете, чтобы позсказчик посмотрел и Вам объяснил). Проверьте, есть ли в этой таблице колонка с самим документом или его видом. Если есть, значит Вы можете организовать проверку: если вид документа в конфигураторе налоговая накладная выданная, то вид документа в рееестре ПН, а если вид документа приложение 2, то РК. Если же в таблице подобной колонки нет, можете добавить колонку с видом документа в реестре, анализируйте вид документа на стадии заполнения таблицы и сразу заполняйте новую колонку необходимым значением. А в печатной форме документа колонку Вид документа заполняйте из той же таблицы. Это все будет выглядеть приблизительно так (это пример, его надо переделать под Вашу конфигурацию и реестр):
// добавляем колонку в таблицу (там, где создаются остальные колонки таблицы)
лТаблЗН.НоваяКолонка("ВидДока","Строка",6,);  

// где-то при обходе результатов выборки налоговых документов (обход результатов запроса)
// виды документов необходимо указывать так, как они заданы в конфигураторе
Если Запрос.ДокументНалоговаяНакладная.Вид()="НалоговаяНакладнаяРасходная" Тогда
    лТаблЗН.ВидДока="ПН";
ИначеЕсли Запрос.ДокументНалоговаяНакладная.Вид()="Приложение2" Тогда
    лТаблЗН.ВидДока="РК";
Иначе
    // что-то пишем, если есть другие варианты
КонецЕсли; // ДокументНалоговаяНакладная.Вид()="НалоговаяНакладнаяРасходная"


А в печатной форме вставляем формулу
лТаблЗН.ВидДока



Не совсем, понял где его менять? Два дня помучался все варианты ищерпаны.

вот код модуля


 Перем ТекстЗапр, ДатаКвартала, ДатаНач, ДатаКон;
//-----------------------------------
Процедура ПечатьРеестр1()
    лТаблЗН=СоздатьОбъект("ТаблицаЗначений");
    лТаблЗН.НоваяКолонка("Док","Документ");    //сам документ или док-основание из табличной части
    лТаблЗН.НоваяКолонка("Дата");                        //дата (из шапки или строки)
    лТаблЗН.НоваяКолонка("Номер");
    лТаблЗН.НоваяКолонка("Клн");
    лТаблЗН.НоваяКолонка("НомерНДС");
    
    //остальные - числа, идентификаторы С+номер колонки в таблице
    лСтрокаСвернуть = "";
    Для i=6 по 14 Цикл
        лИдКолонки="С"+СокрЛП(Строка(i));
        лТаблЗН.НоваяКолонка(лИдКолонки);
        лСтрокаСвернуть = лСтрокаСвернуть + ?(лСтрокаСвернуть="","",", ") + "С"+СокрЛП(Строка(i));
    КонецЦикла;
    
    лТаб=СоздатьОбъект("Таблица");
    лТаб.ИсходнаяТаблица("Таблица2");
    лТаб.ПараметрыСтраницы(2,,,,,,,,);
    лНС=0;
    лТаб.ВывестиСекцию("Шапка");
    лТаб.ПовторятьПриПечатиСтроки(1,6);
    лДок=СоздатьОбъект("Документ");
    лПДок=СоздатьОбъект("Документ");
    
    лДок.ВыбратьДокументы(ВыбДатаНачала,ВыбДатаКонца);
    
    //цикл по налоговым документам (участвуют только 3 документа!)
    Пока лДок.ПолучитьДокумент() = 1 Цикл        
        Если (лДок.Вид()<>"НалоговаяНакладнаяПриходная") и (лДок.Вид()<>"ЗаписьКнигиЗакупок") и (лДок.Вид()<>"Дополнение2КНалоговойНакладнойПриходной") и (лДок.Вид()<>"Операция") Тогда
            Продолжить;
        КонецЕсли;
        
        //HP включаем только проведенные (по константе)
        Если (лДок.Проведен()=0)И(Константа.ПечатьКнигНДС=0) Тогда
            Продолжить;
        КонецЕсли;
        
        Если лДок.ПометкаУдаления()=1 Тогда
            Продолжить;
        КонецЕсли;        
        
        Если (ВыбФирма.Выбран()=1)И(лДок.ДтФирма<>ВыбФирма)И(лДок.Вид()<>"Операция") Тогда
            Продолжить;
        КонецЕсли;
        
        Если (ВыбПодразделение.Выбран()=1) И (лДок.ДтПодразделение<>ВыбПодразделение) Тогда
            Продолжить;
        КонецЕсли;
        
        //перед заполнением "пронулим" колонки таблицы
        //лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
        
        Если лДок.Вид()="Операция" Тогда
            Если ПустоеЗначение(лДок.Операция.НомерНН) = 1 Тогда
                Продолжить;
            КонецЕсли;
            лТаблЗН.НоваяСтрока();
            лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
            лДок.Операция.ВыбратьПроводки();
            лДок.Операция.ПолучитьПроводкуПоНомеру(1,1);
            лКлиент = лДок.Операция.Кредит.Субконто(1);
            лТаблЗН.Дата=лДок.Операция.ДатаОперации;
            лТаблЗН.Клн=лКлиент;
            лТаблЗН.НомерНДС=лКлиент.НомерНДС;
            лТаблЗН.Номер=лДок.Операция.НомерНН;
            лТаблЗН.Док=лДок.Операция.ТекущийДокумент();
            лСум = лДок.Операция.Сумма;
            лТаблЗН.С7=лСум;
            лДок.Операция.ПолучитьПроводкуПоНомеру(2,1);
            лТаблЗН.С8=лДок.Операция.Сумма;
            лСум = лСум + лДок.Операция.Сумма;
            лТаблЗН.С6=лСум;
        ИначеЕсли лДок.Вид()="Дополнение2КНалоговойНакладнойПриходной" Тогда
            лТаблЗН.НоваяСтрока();
            лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
            лКлиент=лДок.ДтКлиент;
            лТаблЗН.Дата=лДок.ДатаДок;
            лТаблЗН.Клн=лКлиент;
            лТаблЗН.НомерНДС=лКлиент.НомерНДС;
            лТаблЗН.Номер=лДок.НомерДок;
            лТаблЗН.Док=лДок.ТекущийДокумент();
            
            лТаблЗН.С6=лДок.СуммаПоДокументу;
            лТаблЗН.С7=лДок.СуммаПоДокументу - лДок.НДСпоДокументу;
            лТаблЗН.С8=лДок.НДСпоДокументу;
        ИначеЕсли лДок.Вид()="НалоговаяНакладнаяПриходная" Тогда
            Если лДок.НалоговыйКредит = Перечисление.Булево.Да Тогда
                лТаблЗН.НоваяСтрока();
                лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
                лКлиент=лДок.ДтКлиент;
                лТаблЗН.Дата=лДок.ДатаДок;
                лТаблЗН.Клн=лКлиент;
                лТаблЗН.НомерНДС=лКлиент.НомерНДС;
                лТаблЗН.Номер=лДок.НомерДок;
                лТаблЗН.Док=лДок.ТекущийДокумент();
                лДок.ВыбратьСтроки();
                лДок.ПолучитьСтроку();
                лТаблЗН.С6=лДок.СуммаПоДокументу;
                лТаблЗН.С7=лДок.СуммаПоДокументу - лДок.Итог("НДСвСтроке");
                лТаблЗН.С8=лДок.Итог("НДСвСтроке");
            Иначе
                лДок.ВыбратьСтроки();
                Пока лДок.ПолучитьСтроку() = 1 Цикл
                    лТаблЗН.НоваяСтрока();
                    лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
                    лКлиент=лДок.ДтКлиент;
                    лТаблЗН.НомерНДС=лКлиент.НомерНДС;
                    лТаблЗН.Дата=лДок.ДатаДок;
                    лТаблЗН.Клн=лКлиент;
                    лТаблЗН.Номер=лДок.НомерДок;
                    лТаблЗН.Док=лДок.ТекущийДокумент();
                    Если лДок.Товар.Вид() = "Товары" Тогда
                        Если лДок.Товар.ВидТовара = Перечисление.Неамортизируемые.Услуга Тогда
                            лТаблЗН.С13=лДок.ПродСумма;
                            лТаблЗН.С14=Окр(лДок.ПродСумма*лДок.ВидНДС.ТарифНДС/100,Константа.ОкруглятьДо);
                            лТаблЗН.С6=лТаблЗН.С13+лТаблЗН.С14;
                        Иначе
                            лТаблЗН.С11=лДок.ПродСумма;
                            лТаблЗН.С12=Окр(лДок.ПродСумма*лДок.ВидНДС.ТарифНДС/100,Константа.ОкруглятьДо);
                            лТаблЗН.С6=лТаблЗН.С11+лТаблЗН.С12;
                        КонецЕсли;
                    Иначе
                        лТаблЗН.С11=лДок.ПродСумма;
                        лТаблЗН.С12=Окр(лДок.ПродСумма*лДок.ВидНДС.ТарифНДС/100,Константа.ОкруглятьДо);
                        лТаблЗН.С6=лТаблЗН.С11+лТаблЗН.С12;
                    КонецЕсли;
                КонецЦикла;
            КонецЕсли;
        ИначеЕсли лДок.Вид()="ЗаписьКнигиЗакупок" Тогда
            //для многострочной части документа будем каждый раз генерить новую строку таблицы                
            лДок.ВыбратьСтроки();
            Пока лДок.ПолучитьСтроку() = 1 Цикл
                лТаблЗН.НоваяСтрока();
                лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
                лКлиент=лДок.Клиент;
                лТаблЗН.Дата=лДок.ДатаНДС;
                лТаблЗН.Клн=лКлиент;
                лТаблЗН.НомерНДС=лКлиент.НомерНДС;
                лТаблЗН.Номер=лДок.Номер;
                лТаблЗН.Док=лДок.ТекущийДокумент();
                Если лДок.НалоговыйКредит = Перечисление.Булево.Да Тогда
                    лТаблЗН.С6=лДок.ПродСумма + лДок.НДСвСтроке;
                    лТаблЗН.С7=лДок.ПродСумма;
                    лТаблЗН.С8=лДок.НДСвСтроке;
                Иначе
                    Если лДок.НаЗатраты = Перечисление.Булево.Да Тогда
                        лТаблЗН.С9=лДок.ПродСумма;
                        лТаблЗН.С10=лДок.НДСвСтроке;
                        лТаблЗН.С6=лТаблЗН.С9+лТаблЗН.С10;                    
                    Иначе    
                        лТаблЗН.С11=лДок.ПродСумма;
                        лТаблЗН.С12=лДок.НДСвСтроке;
                        лТаблЗН.С6=лТаблЗН.С11+лТаблЗН.С12;
                    КонецЕсли;    
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    КонецЦикла;

////////////    
    
    лТаблЗН.Свернуть("Док, Дата, Номер, Клн, НомерНДС", лСтрокаСвернуть);
    лТаблЗН.ВыбратьСтроки();
    лНомСтр = 0;
    Пока лТаблЗН.ПолучитьСтроку() = 1 Цикл
        лНомСтр = лНомСтр + 1;
        лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
        Состояние("В звіт виведено "+лТаблЗн.НомерСтроки + " рядків.");
    КонецЦикла;
    лТаб.ВывестиСекцию("Итог");
    
    лТаб.Опции(0,0,4.,0);
    лТаб.ТолькоПросмотр(1);
    лТаб.Показать("Реєстр податкових накладних розділ І","");
    лТаблЗН.УдалитьСтроки();
КонецПроцедуры

//-----------------------------------
Процедура ПечатьРеестр2()
    лТаблЗН=СоздатьОбъект("ТаблицаЗначений");
    лТаблЗН.НоваяКолонка("Док","Документ");    //сам документ или док-основание из табличной части
    лТаблЗН.НоваяКолонка("Дата");           //дата (из шапки или строки)
    лТаблЗН.НоваяКолонка("Номер");
    лТаблЗН.НоваяКолонка("Клн");
    лТаблЗН.НоваяКолонка("НомерНДС");
    
    //остальные - числа, идентификаторы С+номер колонки в таблице
    лСтрокаСвернуть = "";
    Для i=6 по 14 Цикл
        лИдКолонки="С"+СокрЛП(Строка(i));
        лТаблЗН.НоваяКолонка(лИдКолонки);
        лСтрокаСвернуть = лСтрокаСвернуть + ?(лСтрокаСвернуть="","",", ") + "С"+СокрЛП(Строка(i));
    КонецЦикла;
    
    лТаб=СоздатьОбъект("Таблица");
    лТаб.ИсходнаяТаблица("Таблица1");
    лТаб.ПараметрыСтраницы(2,,,,,,,,);
    лНС=0;
    лТаб.ВывестиСекцию("Шапка");
    лТаб.ПовторятьПриПечатиСтроки(1,5);
    лДок=СоздатьОбъект("Документ");
    лПДок=СоздатьОбъект("Документ");
    лРДок=СоздатьОбъект("Документ");
    ДатаО=0;
    
    лДок.ВыбратьДокументы(ВыбДатаНачала,ВыбДатаКонца);
    
    //цикл по налоговым документам (участвуют только 3 документа!)
    Пока лДок.ПолучитьДокумент() = 1 Цикл
        Если (лДок.Вид()<>"НалоговаяНакладнаяРасходная")
        и (лДок.Вид()<>"ЗаписьКнигиПродаж") и (лДок.Вид()<>"Дополнение2КНалоговойНакладнойРасходной")
        Тогда
            Продолжить;
        КонецЕсли;
        
        //HP включаем только проведенные (по константе)
        Если (лДок.Проведен()=0) И (Константа.ПечатьКнигНДС=0) Тогда
            Продолжить;
        КонецЕсли;
        
        Если лДок.ПометкаУдаления()=1 Тогда
            Продолжить;
        КонецЕсли;        
        
        Если (ВыбФирма.Выбран()=1) И (лДок.ДтФирма<>ВыбФирма) Тогда
            Продолжить;
        КонецЕсли;
        
        Если (ВыбПодразделение.Выбран()=1) И (лДок.ДтПодразделение<>ВыбПодразделение) Тогда
            Продолжить;
        КонецЕсли;
        
        Если лДок.Вид()="НалоговаяНакладнаяРасходная"    Тогда
            лТаблЗН.НоваяСтрока();
            //перед заполнением "пронулим" колонки таблицы
            лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
            //клиент и документ
            лКлиент=лДок.ДтКлиент;
            лТаблЗН.Дата=лДок.ДатаДок;
            лТаблЗН.Клн=лКлиент.ПолноеНазвание;
            лТаблЗН.НомерНДС=лКлиент.НомерНДС;
            лТаблЗН.Номер=лДок.НомерДок;
            Если лКлиент.Код = "." Тогда
                лТаблЗН.Номер=ПолучитьПустоеЗначение();
            Иначе
                лТаблЗН.Номер=лДок.НомерДок;
            КонецЕсли;            
            лТаблЗН.Док=лДок.ТекущийДокумент();
            лТаблЗН.С6=лДок.СуммаПоДокументу;
            
            Если лКлиент.ПризнакКлиентРезидент=Перечисление.ПризнакРезидентности.Нерезидент Тогда
                лТаблЗН.С11=лДок.СуммаПоДокументу;
                лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
                Состояние("В звіт виведено "+лТаблЗн.НомерСтроки +" рядків.");                
                продолжить;
            КонецЕсли;
            лДок.ВыбратьСтроки();
            лДок.ПолучитьСтроку();
            Если лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ОсновнаяСтавкаНДС  Тогда
                лТаблЗН.С7=лДок.СуммаПоДокументу-лДок.Итог("НДСвСтроке");
                лТаблЗН.С8=лДок.Итог("НДСвСтроке");
            ИначеЕсли лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ЛьготнаяСтавкаНДС  Тогда    
                лТаблЗН.С9=лДок.СуммаПоДокументу;
            ИначеЕсли (лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.БезНДС) ИЛИ (ПустоеЗначение(лДок.ВидНДСвСтроке.ЗначениеНДС) = 1)  Тогда    
                лТаблЗН.С10=лДок.СуммаПоДокументу;
            КонецЕсли;     
        ИначеЕсли лДок.Вид()="Дополнение2КНалоговойНакладнойРасходной" Тогда
            лТаблЗН.НоваяСтрока();
            //перед заполнением "пронулим" колонки таблицы
            лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
            //клиент и документ
            лКлиент=лДок.ДтКлиент;
            лТаблЗН.Дата=лДок.ДатаДок;
            лТаблЗН.Клн=лКлиент.ПолноеНазвание;
            лТаблЗН.НомерНДС=лКлиент.НомерНДС;
            лТаблЗН.Номер=лДок.НомерДок;
            лТаблЗН.Док=лДок.ТекущийДокумент();
            лТаблЗН.С6=лДок.СуммаПоДокументу;
            Если лДок.ПолучитьСтрокуПоНомеру(1) = 1 Тогда
                //
            Иначе
                Продолжить;
            КонецЕсли;
            
            Если лКлиент.ПризнакКлиентРезидент=Перечисление.ПризнакРезидентности.Нерезидент Тогда
                лТаблЗН.С11=лДок.СуммаПоДокументу;
                лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
                Состояние("В звіт виведено "+лТаблЗн.НомерСтроки +" рядків.");
                Продолжить;
            КонецЕсли;
            Если лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ОсновнаяСтавкаНДС  Тогда
                лТаблЗН.С7=лДок.СуммаПоДокументу-лДок.НДСПоДокументу;
                лТаблЗН.С8=лДок.НДСПоДокументу;
            ИначеЕсли лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ЛьготнаяСтавкаНДС  Тогда    
                лТаблЗН.С9=лДок.СуммаПоДокументу;
            ИначеЕсли (лДок.м.ЗначениеНДС=Перечисление.ЗначенияНДС.БезНДС) ИЛИ (ПустоеЗначение(лДок.ВидНДСвСтроке.ЗначениеНДС) = 1)  Тогда    
                лТаблЗН.С10=лДок.СуммаПоДокументу;
            КонецЕсли;     
        ИначеЕсли лДок.Вид()="ЗаписьКнигиПродаж" Тогда
            лДок.ВыбратьСтроки();
            Пока лДок.ПолучитьСтроку()=1 Цикл
                //для многострочной части документа будем каждый раз генерить новую строку таблицы    
                лТаблЗН.НоваяСтрока();
                //перед заполнением "пронулим" колонки таблицы
                лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
                //клиент и документ
                
                лКлиент=лДок.ДтКлиент;
                лТаблЗН.Клн=лКлиент.ПолноеНазвание;
                лТаблЗН.Дата=лДок.ДатаДок;
                лТаблЗН.НомерНДС=лКлиент.НомерНДС;
                лТаблЗН.Номер=лДок.НомерДок;
                лТаблЗН.Док=лДок.ТекущийДокумент();
                лТаблЗН.С6=лДок.ПродСумма + лДок.НДСВСтроке;
                
                Если лКлиент.ПризнакКлиентРезидент=Перечисление.ПризнакРезидентности.Нерезидент Тогда
                    лТаблЗН.С11=лДок.ПродСумма;
                    лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
                    Состояние("В звіт виведено "+лТаблЗн.НомерСтроки +" рядків.");
                    Продолжить;
                КонецЕсли;
                Если лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ОсновнаяСтавкаНДС  Тогда
                    лТаблЗН.С7=лДок.ПродСумма;
                    лТаблЗН.С8=лДок.НДСВСтроке;
                ИначеЕсли лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.ЛьготнаяСтавкаНДС  Тогда    
                    лТаблЗН.С9=лДок.ПродСумма;
                ИначеЕсли (лДок.ВидНДСвСтроке.ЗначениеНДС=Перечисление.ЗначенияНДС.БезНДС) ИЛИ (ПустоеЗначение(лДок.ВидНДСвСтроке.ЗначениеНДС) = 1)  Тогда    
                    лТаблЗН.С10=лДок.ПродСумма;
                КонецЕсли;     
                
                лТаб.ВывестиСекцию("Строка"); //вывод многострочной части ЗаписиКнигиЗакупок
                Состояние("В звіт виведено "+лТаблЗн.НомерСтроки +" рядків.");
            КонецЦикла;  // по строкам Книги продаж
            Продолжить;
        КонецЕсли; //по строкам книги закупок
        
        лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
        Состояние("В звіт виведено "+лТаблЗн.НомерСтроки +" рядків.");
    КонецЦикла;

    
    ИДНДир = ВыбФирма.Директор.Получить(ДатаКон).ИДНомер;   ////ИНН Директора
    ИДНБух = ВыбФирма.ГлавныйБухгалтер.Получить(ДатаКон).ИДНомер; ///////  ИНН Глав.Буха.

    лТаб.ВывестиСекцию("Итог");
    лТаб.ВывестиСекцию("Финиш");
    лТаб.Опции(0,0,12,0);
    лТаб.ТолькоПросмотр(1);
    лТаб.Показать("Реєстр податкових накладних розділ ІІ","");
    лТаблЗН.УдалитьСтроки();
КонецПроцедуры
// Заполняем необходимые значения параметров отчета

Процедура Сформировать()
    лТаб=СоздатьОбъект("Таблица");
    лТаб.ИсходнаяТаблица("Таблица2");
    лТаб.ПараметрыСтраницы(2,,,,,,,,);
    лНС=0;
    лТаб.ВывестиСекцию("Шапка");
    лТаб.Опции(0,0,0,0);
    лТаб.ТолькоПросмотр(1);
    ///лТаб.Показать("Реєстр податкових накладних розділ І","");
    ПечатьРеестр1();
    ПечатьРеестр2();
КонецПроцедуры

ВыбДатаНачала = НачМесяца(РабочаяДата());
ВыбДатаКонца = КонМесяца(РабочаяДата());
флИтоги = 1;

HFILL   = РабочаяДата();
Отчет = ?(ОтОсть = 1, "Х","");
Отчет1 = ?(ОтОсть1 = 1, "Х","");
ЗаГал = ?(Зага = 1, "Х","");
СкоРоч = ?(Скоро = 1, "Х","");
СпецАльно = ?(Спец = 1, "Х","");
ПеРе = ?(ПеРеР = 1, "Х","");

yfrf111
Цитата(5_kopeek @ 27.02.11, 2:46) необходимо зарегистрироваться для просмотра ссылки
yfrf111, иногда меня поражает так называемая мужская логика, яркой иллюстрацией которой является Ваш ответ. Почему цитирование Ваших изречений Вы называете

, мне не понять (либо эмоции мешают, либо количество запятых в предложениях).


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


Были у меня глубокие сомнения, стоит ли показывать свое лицо, и, судя по всему, не зря. Почему-то его созерцание мешает оппонентам адекватно воспринимать мои слова. Пожалуй, дней через 10 верну status quo ante bellum.


Смысл этой фразы является для меня загадкой. Под черным Вы понимаете факт моего вступления в дискуссию с Вами и желание помочь непонятным Вам способом, а под белым -- разжевывание алгоритмов с приведением примеров?.. Если так, то воздержусь от комментариев.


Естественно.
При определенных условиях буду помогать в дальнейшем.

Уважаемые модераторы и администраторы! Прошу меня извинить за флуд в данном посте, позволила себе это исключительно как компенсацию за потраченное на обучение yfrf111 время.

Мужская логика запуталась и просит помощь у женской?)
Vofka
А это только у меня "код модуля" из 51 поста крякозяблами отображается?

yfrf111, извините, но вы лентяй и бездельник! Вам жуют и кладут в рот, а вы хотите, чтоб за вас ещё глотнули и высRали.
yfrf111
Цитата(Vofka @ 01.03.11, 20:24) необходимо зарегистрироваться для просмотра ссылки
А это только у меня "код модуля" из 51 поста крякозяблами отображается?

yfrf111, извините, но вы лентяй и бездельник! Вам жуют и кладут в рот, а вы хотите, чтоб за вас ещё глотнули и высRали.

Да код почему, козябликами. Наверно потому что, не стоит между тегами [code]
А насчет лентяйства, просто туго дается, программирование 1С!
Vofka
yfrf111, скажите честно - вы много литературы по 1С прочитали? 5_kopeek вам говорит простые вещи, а вы даже их не понимаете. Так дела не будет.
yfrf111
Цитата(Vofka @ 01.03.11, 20:57) необходимо зарегистрироваться для просмотра ссылки
yfrf111, скажите честно - вы много литературы по 1С прочитали? 5_kopeek вам говорит простые вещи, а вы даже их не понимаете. Так дела не будет.

1С 7.7 -Описание встроеного языка
и+ Сайт необходимо зарегистрироваться для просмотра ссылки
книжку только начал с ней работать! Вторая неделя с 1С у меня
Вы же не проснулись, и сразу умели и программировать и все делать, прошло какое-то время!
Когда знаешь в своем деле много, думаешь да это просто, нечего, делать. А когда с чем то новым сталкиваешься, приходиться почисать затылок и не только.)
5_kopeek
yfrf111, Вы меня удивляете. Некоторое время Вы не появлялись, я уж подумала, что работает человек усердно, ща как выдаст модуль на 99% рабочий. Ан нет, прогресса 0.
Цитата
Вы же не проснулись, и сразу умели и программировать и все делать, прошло какое-то время!
Когда знаешь в своем деле много, думаешь да это просто, нечего, делать. А когда с чем то новым сталкиваешься, приходиться почисать затылок и не только.)

Никому никакие знания ниоткуда не свалились, а все много работали, чтобы знать то, что знают сейчас. Те усилия, которые Вы тратите на спор и чесанье, направьте в нужное русло -- пользы будет больше.
Цитата
Не совсем, понял где его менять? Два дня помучался все варианты ищерпаны.

Где все те варианты, которые "исчерпаны"? Вы опять выдали имеющийся модуль, предлагая нам разбираться в нем. Где результаты Ваших мучений? Что вы пробовали менять? У Вас 2 неделя с 1С, а вообще Вы программировали до этого?
И, когда будете отвечать, не надо цитировать весь мой пост, как Вы делаете обычно, а цитируйте только ключевые фразы, без которых смысл Вашего ответа не будет понятен, или вообще обойдитесь без оного. Кто захочет, перечитает цитируемый пост полностью.
dmiter
Цитата(yfrf111 @ 24.02.11, 13:36) необходимо зарегистрироваться для просмотра ссылки
Оказалось, самое гениальное, это довольно простое!))) записал без модуля, просто
в ячейке месяца №1 Сред(Формат(ВыборДатаНачала,"Д(0)ДДММГГГГ"),4,1)
а в ячейке № 2 Сред(Формат(ВыборДатаНачала,"Д(0)ДДММГГГГ"),5,1)
Где "ВыборДатаНачала", это индефикатор поля "Начала Периода", в моем случае документа Реестр. Работает на ура!!! Теперь за место "2", пишет "02".) Всем спасибо за помощь!

Не знаю, правильно я сделал, но проблема решена!!!

Формат(ДатаМесяц(ВыборДатаНачала),"Ч(0)2")

Цитата(yfrf111 @ 26.02.11, 15:52) необходимо зарегистрироваться для просмотра ссылки
А еще чек! Или я шибаюсь? Вам веднее!)))
Небольшой пример, бы мне помог или указать место, где примерно используеться тот же принцип!
Релизы смотрел для Укр. 035 и 036 там какая-то высшая математика, где все сылаеться, на XML не могу понять!

Я так и не услышал ответ а свой вопрос. Чтобы подсказать алгоритм работы, мне необходимо знать какие на Вашем предприятие используются виды документов в налоговом учете.
Если смотреть новый релиз реестра то список документов ПН01,..,ПН11 и т.д. Неужели все? (внешнеэкономической деятельностью занимаетесь - нет значит в принципе и нет ГТД) -для всего писать будет слишком заморочено. Спросите у бухгалтера какие виды документов у него должны попадать в реестр, если сами не знаете...
yfrf111
Цитата(dmiter @ 02.03.11, 11:25) необходимо зарегистрироваться для просмотра ссылки
Формат(ДатаМесяц(ВыборДатаНачала),"Ч(0)2")


Я так и не услышал ответ а свой вопрос. Чтобы подсказать алгоритм работы, мне необходимо знать какие на Вашем предприятие используются виды документов в налоговом учете.
Если смотреть новый релиз реестра то список документов ПН01,..,ПН11 и т.д. Неужели все? (внешнеэкономической деятельностью занимаетесь - нет значит в принципе и нет ГТД) -для всего писать будет слишком заморочено. Спросите у бухгалтера какие виды документов у него должны попадать в реестр, если сами не знаете...


НалоговаяНакладнаяПриходная
ЗаписьКнигиЗакупок
Дополнение2КНалоговойНакладнойПриходной
НалоговаяНакладнаяРасходная
Дополнение2КНалоговойНакладнойРасходной
НалоговаяНакладнаяРасходная
ЗаписьКнигиПродаж
Кассовый Чек
dmiter
Цитата(yfrf111 @ 02.03.11, 21:39) необходимо зарегистрироваться для просмотра ссылки
НалоговаяНакладнаяПриходная
ЗаписьКнигиЗакупок
Дополнение2КНалоговойНакладнойПриходной
НалоговаяНакладнаяРасходная
Дополнение2КНалоговойНакладнойРасходной
НалоговаяНакладнаяРасходная
ЗаписьКнигиПродаж
Кассовый Чек

В А4:БТР в реестр налоговых накладных (то бишь в книгу закупок и продаж - тогда еще реестра как такого не было) попадают только 6 видов документов:
Кассовый чек никогда не попадал - по нему необходимо было сделать или налоговую накладную либо ЗаписьКНиги. Вопрос звучит в том, что необходимо узнать
методы работы Вашего бухгалтера:
Например, чтобы Вывести в реестр НН вид налогового документа ПН11 - признаком может служить ДокументОснование в НалоговойНакладнойРасходной есть
документ Вида "ОтчетПОРРО" либо "РасходИзРозницы" либо "Приходный Кассовый ордер".
Мой вопрос звучал вот именно какие ПН?? на Вашем предприятии используются?
yfrf111
Цитата(dmiter @ 03.03.11, 8:12) необходимо зарегистрироваться для просмотра ссылки
В А4:БТР в реестр налоговых накладных (то бишь в книгу закупок и продаж - тогда еще реестра как такого не было) попадают только 6 видов документов:
Кассовый чек никогда не попадал - по нему необходимо было сделать или налоговую накладную либо ЗаписьКНиги. Вопрос звучит в том, что необходимо узнать
методы работы Вашего бухгалтера:
Например, чтобы Вывести в реестр НН вид налогового документа ПН11 - признаком может служить ДокументОснование в НалоговойНакладнойРасходной есть
документ Вида "ОтчетПОРРО" либо "РасходИзРозницы" либо "Приходный Кассовый ордер".
Мой вопрос звучал вот именно какие ПН?? на Вашем предприятии используются?

В основном ПН и РК расходные, редко бывает, приходные и очень редко, кассовый чек.
dmiter
Цитата(yfrf111 @ 03.03.11, 13:23) необходимо зарегистрироваться для просмотра ссылки
В основном ПН и РК расходные, редко бывает, приходные и очень редко, кассовый чек.

Что-то кассового чека среди документов реестра я не наблюдаю. Вопрос в лоб, из нижеследующего списка оставьте те, которыми пользуетесь:
ППН,ПН01,ПН02,ПН03,ПН04,ПН05,ПН06,ПН07,ПН08,ПН09,ПН10,ПН11,РК,ВМД,БО,ПНУ,ПН01У,П
Н02У,ПН03У,ПН04У,ПН05У,ПН06У,ПН07У,ПН08У,ПН09У,ПН10У,ПН11У,РКУ,ВМДУ,БОУ,
5_kopeek
dmiter, тоже надеетесь, что "терпение и труд все перетрут"? Хотя в данном случае больше подходит "терпение и жевание способствуют пониманию" wink.gif
dmiter
Цитата(5_kopeek @ 04.03.11, 12:20) необходимо зарегистрироваться для просмотра ссылки
dmiter, тоже надеетесь, что "терпение и труд все перетрут"? Хотя в данном случае больше подходит "терпение и жевание способствуют пониманию" wink.gif

Думаю что до хмл-выгрузки дело и не дойдет... Поскольку налоговая будет быстрее шлепать изменения к формам чем мы тут разбираться по материальным частям и выяснять предметную область.
yfrf111
Цитата(dmiter @ 04.03.11, 11:53) необходимо зарегистрироваться для просмотра ссылки
Что-то кассового чека среди документов реестра я не наблюдаю. Вопрос в лоб, из нижеследующего списка оставьте те, которыми пользуетесь:
ППН,ПН01,ПН02,ПН03,ПН04,ПН05,ПН06,ПН07,ПН08,ПН09,ПН10,ПН11,РК,ВМД,БО,ПНУ,ПН01У,П
Н02У,ПН03У,ПН04У,ПН05У,ПН06У,ПН07У,ПН08У,ПН09У,ПН10У,ПН11У,РКУ,ВМДУ,БОУ,

нечего, а конкретно те документы, которые используют, перечень уже писал, можно без, чека, хоть покажите как будет выглидеть, с ПН приходной, в конфегурации А4.
dmiter
Пока лТаблЗН.ПолучитьСтроку() = 1 Цикл
        лНомСтр = лНомСтр + 1;
        Если (лТаблЗН.Док.Вид()="НалоговаяНакладнаяПриходная") Тогда
            лВидДок_вНУ="ПН";
        КонецЕсли;

        лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
        Состояние("В звіт виведено "+лТаблЗн.НомерСтроки + " рядків.");
    КонецЦикла;


В строке таблицы секции (Строка) устанавливаем там,где необходимо "Выражение" и лВидДок_вНУ
yfrf111
Цитата(dmiter @ 05.03.11, 10:32) необходимо зарегистрироваться для просмотра ссылки
Пока лТаблЗН.ПолучитьСтроку() = 1 Цикл
        лНомСтр = лНомСтр + 1;
        Если (лТаблЗН.Док.Вид()="НалоговаяНакладнаяПриходная") Тогда
            лВидДок_вНУ="ПН";
        КонецЕсли;

        лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
        Состояние("В звіт виведено "+лТаблЗн.НомерСтроки + " рядків.");
    КонецЦикла;


В строке таблицы секции (Строка) устанавливаем там,где необходимо "Выражение" и лВидДок_вНУ

Вставил код, в модуль, ошибок нет, как, я пологаю должно высвечиваться ПН, в строчке приходных , Вид Документа
этого не происходит, пустые клеточки.(
Ardi
Цитата(yfrf111 @ 06.03.11, 16:09) необходимо зарегистрироваться для просмотра ссылки
Вставил код, в модуль, ошибок нет, как, я пологаю должно высвечиваться ПН, в строчке приходных , Вид Документа
этого не происходит, пустые клеточки.(

Что делать? Куда жать?
dmiter
Цитата(yfrf111 @ 06.03.11, 16:09) необходимо зарегистрироваться для просмотра ссылки
Вставил код, в модуль, ошибок нет, как, я пологаю должно высвечиваться ПН, в строчке приходных , Вид Документа
этого не происходит, пустые клеточки.(

В строке таблицы секции (Строка) устанавливаем там,где необходимо "Выражение" и лВидДок_вНУ - а это сделал?
dmiter
Цитата(yfrf111 @ 06.03.11, 16:09) необходимо зарегистрироваться для просмотра ссылки
Вставил код, в модуль, ошибок нет, как, я пологаю должно высвечиваться ПН, в строчке приходных , Вид Документа
этого не происходит, пустые клеточки.(

Если бы вставил в секцию таблицы при выводе документов налоговых обязательств должно было ругаться
yfrf111
Цитата(dmiter @ 07.03.11, 0:03) необходимо зарегистрироваться для просмотра ссылки
Если бы вставил в секцию таблицы при выводе документов налоговых обязательств должно было ругаться

Вставил в секцию, Строка, в поле Вид документа в свойствах выражение лВидДок_вНУ, не по казываеться в приходных что это, ПН( и ошибок нет
dmiter
Цитата(yfrf111 @ 07.03.11, 0:15) необходимо зарегистрироваться для просмотра ссылки
Вставил в секцию, Строка, в поле Вид документа в свойствах выражение лВидДок_вНУ, не по казываеться в приходных что это, ПН( и ошибок нет

В Таблицу2? Выражение поставил?
yfrf111
Цитата(dmiter @ 07.03.11, 7:29) необходимо зарегистрироваться для просмотра ссылки
В Таблицу2? Выражение поставил?

Да.
yfrf111
Цитата(dmiter @ 07.03.11, 7:29) необходимо зарегистрироваться для просмотра ссылки
В Таблицу2? Выражение поставил?

5_kopeek
Вообще-то, НалоговаяНакладнаяПриходная -- это документ 2 раздела реестра. А сейчас, вроде, Вы пытаетесь заполнить 1 раздел.
В новом реестре в 1 разделе налоговое обязательство, а во 2 -- кредит. Возможно, правите не тот раздел. Но если Вы этот момент учли, то попробуйте определять вид документа еще на стадии заполнения лТаблЗН:
   лТаблЗН=СоздатьОбъект("ТаблицаЗначений");
    лТаблЗН.НоваяКолонка("Док","Документ");    //сам документ или док-основание из табличной части
    лТаблЗН.НоваяКолонка("Дата");                        //дата (из шапки или строки)
    лТаблЗН.НоваяКолонка("Номер");
    лТаблЗН.НоваяКолонка("Клн");
    лТаблЗН.НоваяКолонка("НомерНДС");
    // Добавлено 5_копеек (начало)
    лТаблЗН.НоваяКолонка("ВидДок","Строка",6);
    // Добавлено 5_копеек (конец)

........................................

        ИначеЕсли лДок.Вид()="НалоговаяНакладнаяПриходная" Тогда
            Если лДок.НалоговыйКредит = Перечисление.Булево.Да Тогда
                лТаблЗН.НоваяСтрока();
                лТаблЗН.Заполнить(0,лТаблЗН.НомерСтроки,лТаблЗН.НомерСтроки,);
                лКлиент=лДок.ДтКлиент;
                лТаблЗН.Дата=лДок.ДатаДок;
                лТаблЗН.Клн=лКлиент;
                лТаблЗН.НомерНДС=лКлиент.НомерНДС;
                лТаблЗН.Номер=лДок.НомерДок;
                лТаблЗН.Док=лДок.ТекущийДокумент();
      // Добавлено 5_копеек (начало)
      лТаблЗН.ВидДок="ПН";
      // Добавлено 5_копеек (конец)
                лДок.ВыбратьСтроки();
                лДок.ПолучитьСтроку();

...........................................................................

    Пока лТаблЗН.ПолучитьСтроку() = 1 Цикл
        лНомСтр = лНомСтр + 1;    
    // Добавлено 5_копеек (начало)
    лВидДок_вНУ=СокрЛП(лТаблЗН.ВидДок);
    // Добавлено 5_копеек (конец)
        лТаб.ВывестиСекцию("Строка"); //вывод обычного документа (НалоговойНакладнойПоставщика и Дополнения...)
        Состояние("В звіт виведено "+лТаблЗн.НомерСтроки + " рядків.");
    КонецЦикла;

В последнем цикле написано так, чтобы талицу не править. Это относится ко 2 разделу нового реестра (или к 1 старого).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.