Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Раздел 1 (столбец1) при печати НН вывдит в каждой строке "i"          
firefox1984 Подменю пользователя
сообщение 10.01.12, 10:12
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

Налоговая накладная, 1С предприятие 7.7 версия 7.70.027, Конфигурация "торговля и склад 7.70.007".

Раздел 1 (столбец1) при печати выводит в каждой строке "I". Как в модуле прописать, чтоб выводило один раз?

Сейчас прописано так:

ПерваяСтрока = 1;
          
         ТрансСуммаБезНДС = 0;
        ТрансСуммаСНДС = 0;
        ТрансНДС = 0;

        ИтСуммаБезСкидки = 0;
        ВыбратьСтроки();
        Пока ПолучитьСтроку() > 0 Цикл
            Если Товар.Транспорт = 0 Тогда
              
                Если ПерваяСтрока = 1 Тогда
                    НомерРаздела = "I";
                    ПерваяСтрока = 0;
                Иначе
                    НомерРаздела = "";
                КонецЕсли;


В тавблице прописано " ?(ПерваяСтрока=1,"I","") "

Подскажите в чем может быть причина.
Причина редактирования: Правила, п 11! Вофка.

Vofka Подменю пользователя
сообщение 10.01.12, 10:15
Сообщение #2

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

ПерваяСтрока = 1;
          
         ТрансСуммаБезНДС = 0;
        ТрансСуммаСНДС = 0;
        ТрансНДС = 0;

        ИтСуммаБезСкидки = 0;
        ВыбратьСтроки();
        Пока ПолучитьСтроку() > 0 Цикл
            Если Товар.Транспорт = 0 Тогда
              
                Если ПерваяСтрока = 1 Тогда
                    НомерРаздела = "I";
                    ПерваяСтрока = 0;
                Иначе
                    НомерРаздела = "";
                КонецЕсли;
                ПерваяСтрока = ПерваяСтрока + 1;

Ardi Подменю пользователя
сообщение 10.01.12, 10:19
Сообщение #3

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

Бланк налоговой накладной из 007 уже 5 раз устарел. Ставьте новй релиз. Потом уже ищите ошибки.


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

firefox1984 Подменю пользователя
сообщение 10.01.12, 10:25
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

я бланк НН уже поменял на новый. Осталась одна загвоздка в этом

Домовик Подменю пользователя
сообщение 10.01.12, 10:49
Сообщение #5

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

тогда дело, возможно не в этом куске кода. Когда первая строка, то признак ПерваяСтрока обнуляется. все верно. Возможно он не обнуляется где-то еще
.
Покажите полностью цикл!, полностью условие! вырван кусок!

Сообщение отредактировал Домовик - 10.01.12, 10:58

Vofka Подменю пользователя
сообщение 10.01.12, 11:04
Сообщение #6

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4520 раз
Рейтинг: 3642.8

Я ж написал, так не работает?

Домовик Подменю пользователя
сообщение 10.01.12, 11:09
Сообщение #7

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

Цитата(Vofka @ 10.01.12, 7:04) *
Я ж написал, так не работает?

в этом контексте, который видно, нет, не заработает. ПерваяСтрока обнуляется, становится не первой, вы снова плюсуете 1. Становится опять первой.

firefox1984 Подменю пользователя
сообщение 10.01.12, 11:23
Сообщение #8

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

Процедура Печать

Процедура Печать(БыстраяПечать=0)
  
Перем ПечЦенаБезНДС, ПечСуммаБезСкидки, ПечСуммаБезТранс, ПечСуммаТранс, ПечВозвТара,
    ПечСуммаНадбавки, ПечСуммаСкидки, ПечИтогСуммаБезНДС, ПечИтогНДС, ПечИтогСуммаСНДС, ПечВсего, НФ;

    Фирма.ИспользоватьДату(ДатаДок);
    //ФирмаНалогНомер = Фирма.ИНН;
    //ФирмаНомСвид = Фирма.НомерСвидетельства;
    ФирмаНалогНомер = Прав("           " + СокрЛП(Фирма.ИНН),12);
    ФирмаНомСвид = Прав("         " + СокрЛП(Фирма.НомерСвидетельства),10);
  
    Если Найти(Фирма.Телефоны,",") <> 0 Тогда
        ФирмаТел = Лев(Фирма.Телефоны,Найти(Фирма.Телефоны,",")-1);
    ИначеЕсли Найти(Фирма.Телефоны,";") <> 0 Тогда  
        ФирмаТел = Лев(Фирма.Телефоны,Найти(Фирма.Телефоны,";")-1);
    Иначе  
        ФирмаТел = Фирма.Телефоны;
    КонецЕсли;
    ФирмаТел = СтрЗаменить(ФирмаТел,"-","");
    ФирмаТел = СтрЗаменить(ФирмаТел," ","");
    ФирмаТел = СтрЗаменить(ФирмаТел,")","");
    ФирмаТел = СтрЗаменить(ФирмаТел,"(","");
    ФирмаТелефоны = Прав("         " + СокрЛП(ФирмаТел),10);
    Если Найти(Контрагент.Телефоны,",") <> 0 Тогда
        КонтрТел = Лев(Контрагент.Телефоны,Найти(Контрагент.Телефоны,",")-1);
    ИначеЕсли Найти(Контрагент.Телефоны,";") <> 0 Тогда  
        КонтрТел = Лев(Контрагент.Телефоны,Найти(Контрагент.Телефоны,";")-1);
    Иначе  
        КонтрТел = Контрагент.Телефоны;
    КонецЕсли;
    КонтрТел = СтрЗаменить(КонтрТел,"-","");
    КонтрТел = СтрЗаменить(КонтрТел," ","");
    КонтрТел = СтрЗаменить(КонтрТел,")","");
    КонтрТел = СтрЗаменить(КонтрТел,"(","");
    КонтрагентТелефоны = Прав("         " + СокрЛП(КонтрТел),10);

    Если ДатаДок < Дата ("10.01.2011") Тогда
        КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,"           0", Прав("            " + СокрЛП(Контрагент.ИНН),12));
        КонтрагентНомСвид = ?(ПустоеЗначение(Контрагент.НомерСвидетельства)=1,  "         0", Прав("         " + СокрЛП(Контрагент.НомерСвидетельства),10));
    Иначе  
        КонтрагентНалогНомер = ?(ПустоеЗначение(Контрагент.ИНН)=1,"           0", Прав("            " + СокрЛП(Контрагент.ИНН),12));
        КонтрагентНомСвид = ?(ПустоеЗначение(Контрагент.НомерСвидетельства)=1,  "         0", Прав("         " + СокрЛП(Контрагент.НомерСвидетельства),10));
    КонецЕсли;
  
    Приложение1 = "";
                                      
    ПечНомерДок = глНомерБезПрефикса(Контекст);
    ПечНомерДок = Прав("      "+Число(ПечНомерДок),7);
  
    ЧМГ=Формат(ДатаДок,"ДГГГГММДД");  
    Дог = Контрагент.ОсновнойДоговорТорг;
    ДатаДоговора=Формат(Дог.ДатаДок,"ДГГГГММДД");  
    НомерДоговора=Дог.НомерДок;
  
    Таб = СоздатьОбъект( "Таблица" );
        
    Если (Валюта <> Гривня)
    И (Контрагент.ВидКонтрагента = Перечисление.ВидыКонтрагентов.Нерезидент) Тогда
        // Экспорт
        Таб.ИсходнаяТаблица("НДСЭкспорт");
    Иначе  
        Если СтавкаНДС = Перечисление.ЗначенияНДС.БезНДС Тогда
            Таб.ИсходнаяТаблица("БезНДС");
        ИначеЕсли СтавкаНДС = Перечисление.ЗначенияНДС.ЛьготнаяСтавкаНДС Тогда
            Таб.ИсходнаяТаблица("НДС0");
        Иначе  
            Если ДатаДок < Дата ("10.01.2011") Тогда
                Таб.ИсходнаяТаблица("НДС20");  
            Иначе
               Таб.ИсходнаяТаблица("НДС20_2011");        
            КонецЕсли;  
        КонецЕсли;                                                    
    КонецЕсли;
  
//    ОбщСуммаНадбавки = 0;
//    ОбщСуммаСкидки = 0;

    Для Страница = 1 По 2 Цикл
        ОбщСуммаНадбавки = 0;
        ОбщСуммаСкидки = 0;
        Таб.ВывестиСекцию( "Пробел" );
        Если Страница = 1 Тогда
            Таб.ВывестиСекцию( "Оригинал" );
        ИначеЕсли Страница = 2 Тогда
            Таб.ВывестиСекцию( "ПерваяКопия" );
        Иначе
            Таб.ВывестиСекцию( "ВтораяКопия" );
        КонецЕсли;
        Таб.ВывестиСекцию( "Шапка" );
      
        //Таб.ВывестиСекцию( "РазделI1" );
        ПерваяСтрока = 1;
      
      
      
        ТрансСуммаБезНДС = 0;
        ТрансСуммаСНДС = 0;
        ТрансНДС = 0;

        ИтСуммаБезСкидки = 0;
        ВыбратьСтроки();
        Пока ПолучитьСтроку() > 0 Цикл
            Если Товар.Транспорт = 0 Тогда
              
                Если ПерваяСтрока = 1 Тогда
                    НомерРаздела = "I";
                    ПерваяСтрока = 0;
                Иначе
                    НомерРаздела = "";
                КонецЕсли;
                     ПерваяСтрока = ПерваяСтрока + 1;
                    
                ЕдИзм = Единица;
                СуммаБезСкидкиГрн = глПересчет(СуммаБезСкидки,Валюта,Курс,Гривня,Дата_курса);
                ПечСуммаБезСкидки = глФРМ3(СуммаБезСкидкиГрн,Гривня,0);
                ПечЦенаБезНДС = ФРМСумма(глПересчет(ЦенаБезНДС,Валюта,Курс,Гривня,Дата_курса));
                ИтСуммаБезСкидки = ИтСуммаБезСкидки + СуммаБезСкидкиГрн;
                Таб.ВывестиСекцию("РазделI2");
            Иначе
                ТрансСуммаБезНДС = ТрансСуммаБезНДС + СуммаБезНДС;
            КонецЕсли;        
            Если СуммаСкидки < 0 Тогда
                ОбщСуммаНадбавки = ОбщСуммаНадбавки - СуммаСкидки;              
            Иначе
                ОбщСуммаСкидки = ОбщСуммаСкидки + СуммаСкидки;                          
            КонецЕсли;
        КонецЦикла;
          
        ПечСуммаБезТранс = ФРМСумма(ИтСуммаБезСкидки);
        ПечСуммаТранс = ФРМСумма(глПересчет(ТрансСуммаБезНДС,Валюта,Курс,Гривня,Дата_курса));
        ПечВозвТара = ФРМСумма(глПересчет(СуммаВозвратнойТары,Валюта,Курс,Гривня,Дата_курса));
      
        ПечСуммаНадбавки = ФРМСумма(глПересчет(ОбщСуммаНадбавки,Валюта,Курс,Гривня,Дата_курса));
        ПечСуммаСкидки = ФРМСумма(глПересчет(ОбщСуммаСкидки,Валюта,Курс,Гривня,Дата_курса));
      
        ПечИтогСуммаБезНДС = ФРМСумма(глПересчет(Итог("СуммаБезНДС"),Валюта,Курс,Гривня,Дата_курса));
        ПечИтогНДС = ФРМСумма(глПересчет(Итог("СуммаСНДС")-Итог("СуммаБезНДС"),Валюта,Курс,Гривня,Дата_курса));
        ПечИтогСуммаСНДС = ФРМСумма(глПересчет(Итог("СуммаСНДС"),Валюта,Курс,Гривня,Дата_курса));
        ПечВсего = ФРМСумма(глПересчет(Итог("СуммаСНДС")+СуммаВозвратнойТары,Валюта,Курс,Гривня,Дата_курса));
      
        Таб.ВывестиСекцию( "РазделIВсего" );
//        Таб.ВывестиСекцию( "ТовТранс" );
        Таб.ВывестиСекцию( "ВозврТара" );
//        Таб.ВывестиСекцию( "Надбавка" );
//        Таб.ВывестиСекцию( "ВсегоПоI_II_IV" );
        Таб.ВывестиСекцию( "НДС" );
        Таб.ВывестиСекцию( "ОбщаяСумма" );
        Таб.ВывестиСекцию( "Подвал" );

        Если Страница <> 2 Тогда
            Таб.НоваяСтраница();
        КонецЕсли;

    КонецЦикла;

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


Цитата(Vofka @ 10.01.12, 12:04) *
Я ж написал, так не работает?

нет не работает

Домовик Подменю пользователя
сообщение 10.01.12, 11:25
Сообщение #9

Ветеран
Иконка группы
Группа: Местный
Сообщений: 975
Из: Киев
Спасибо сказали: 168 раз
Рейтинг: 0

по мне, строку эту нужно комментировать. А она была в коде? Может так надо? с буковкой выводить...

dmiter Подменю пользователя
сообщение 10.01.12, 11:29
Сообщение #10

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 108
Из: Киев
Спасибо сказали: 16 раз
Рейтинг: 0

Ошибка в процедуре Печать
Процедура Печать(БыстраяПечать=0)
...  
        ВыбратьСтроки();
        Пока ПолучитьСтроку() > 0 Цикл
            Если Товар.Транспорт = 0 Тогда
              
                Если ПерваяСтрока = 1 Тогда
                    НомерРаздела = "I";
                    ПерваяСтрока = 0;
                Иначе
                    НомерРаздела = "";
                КонецЕсли;
// !!!!! - ошибка                     ПерваяСтрока = ПерваяСтрока + 1;
// ПерваяСтрока всегда будет равна 1                
....
КонецПроцедуры

firefox1984 Подменю пользователя
сообщение 10.01.12, 11:31
Сообщение #11

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

// !!!!! - ошибка ПерваяСтрока = ПерваяСтрока + 1;
строки там не было

5_kopeek Подменю пользователя
сообщение 10.01.12, 11:56
Сообщение #12

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(firefox1984 @ 10.01.12, 10:12) *
В тавблице прописано " ?(ПерваяСтрока=1,"I","") "

Проверьте в таблице, в нужной ли ячейке установили "?(ПерваяСтрока=1,"I","")".

firefox1984 Подменю пользователя
сообщение 10.01.12, 12:15
Сообщение #13

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(5_kopeek @ 10.01.12, 12:56) *
Проверьте в таблице, в нужной ли ячейке установили "?(ПерваяСтрока=1,"I","")".

Да в первом столбце в секции РазделI2

5_kopeek Подменю пользователя
сообщение 10.01.12, 12:22
Сообщение #14

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Цитата(firefox1984 @ 10.01.12, 12:15) *
Да в первом столбце в секции РазделI2

А таблица какая?

firefox1984 Подменю пользователя
сообщение 10.01.12, 12:59
Сообщение #15

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(5_kopeek @ 10.01.12, 13:22) *
А таблица какая?

НДС20_2011

5_kopeek Подменю пользователя
сообщение 10.01.12, 13:14
Сообщение #16

Ветеран
*******
Женщине-одинэснику
Группа: Пользователи*
Сообщений: 940
Спасибо сказали: 285 раз
Рейтинг: 0

Уберите закомментированные строчки и добавьте одну перед концом цикла.
ПерваяСтрока = 1;
...
        ВыбратьСтроки();
        Пока ПолучитьСтроку() > 0 Цикл
            Если Товар.Транспорт = 0 Тогда
              
//                Если ПерваяСтрока = 1 Тогда
//                    НомерРаздела = "I";
//                    ПерваяСтрока = 0;
//                Иначе
//                    НомерРаздела = "";
//                КонецЕсли;
//                     ПерваяСтрока = ПерваяСтрока + 1;
                    
                ЕдИзм = Единица;
...
                    ПерваяСтрока = 0;
        КонецЦикла;

Хотя сути это не меняет. Проверьте, та ли процедура вызывается и прочие мелкие нюансы. И, вообще, с декабря 2011 новая накладная.

firefox1984 Подменю пользователя
сообщение 10.01.12, 15:00
Сообщение #17

Общительный
**
Группа: Пользователи
Сообщений: 45
Из: Украина
Спасибо сказали: 0 раз
Рейтинг: 0

Я полностью перебрал НН под новый вид. Все заработало. спасибо

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 27.04.24, 6:36
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!