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

Хранилище

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

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



> изменить макет налоговой накладной          
onsamuy Подменю пользователя
сообщение 01.04.11, 20:46
Сообщение #1

Оратор
Иконка группы
Группа: Местный
Сообщений: 264
Спасибо сказали: 69 раз
Рейтинг: 0

Прошу совета. Попросили в печатной форме налоговой накладной отображать номер свидетельства плательщика ндс (покупателя) "выравниванием" по правому краю.

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


Для Инд = 1 По 10 Цикл
         ОбластьМакета.Параметры["НомерСвидетельстваКонтрагента_"+Инд] = Сред(НомерСвидетельстваКонтрагента, Инд, 1);
КонецЦикла;



Я переделал цикл:

НомерСвидетельстваКонтрагента = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе,  "НомерСвидетельства,",Ложь);
            Если    Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажа
                ИЛИ Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажаСписаниеОС
                   ИЛИ НЕ ЗначениеЗаполнено(НомерСвидетельстваКонтрагента)
                ИЛИ Найти("0123456789",Лев(СокрЛ(НомерСвидетельстваКонтрагента),1)) = 0 Тогда
                НомерСвидетельстваКонтрагента = "0000000000";
            КонецЕсли;
            
            ДлинаНомСвид = СтрДлина(НомерСвидетельстваКонтрагента);
            Инд=10;
            Пока ДлинаНомСвид <> 0 Цикл
                ОбластьМакета.Параметры["НомерСвидетельстваКонтрагента_"+Инд] = Сред(НомерСвидетельстваКонтрагента, ДлинаНомСвид, 1);
                ДлинаНомСвид=ДлинаНомСвид-1;
                Инд=Инд-1;
            КонецЦикла;


Все работает, но мне не нравится, как то "по школьному". Гуру, подскажите, как лучше это сделать

Ardi Подменю пользователя
сообщение 01.04.11, 20:54
Сообщение #2

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

НомерСвидетельстваКонтрагента = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОПокупателе,  "НомерСвидетельства,",Ложь);
            Если    Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажа
                ИЛИ Шапка.ВидОперации = Перечисления.ВидыОперацийНалоговаяНакладная.УсловнаяПродажаСписаниеОС
                   ИЛИ НЕ ЗначениеЗаполнено(НомерСвидетельстваКонтрагента)
                ИЛИ Найти("0123456789",Лев(СокрЛ(НомерСвидетельстваКонтрагента),1)) = 0 Тогда
                НомерСвидетельстваКонтрагента = "0000000000";
            КонецЕсли;
//=========================
НомерСвидетельстваКонтрагента=Прав("                           "+СокрЛП(НомерСвидетельстваКонтрагента),10); //++
//=========================
Для Инд = 1 По 10 Цикл
         ОбластьМакета.Параметры["НомерСвидетельстваКонтрагента_"+Инд] = Сред(НомерСвидетельстваКонтрагента, Инд, 1);
КонецЦикла;


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

Спасибо сказали: onsamuy, Salex,

onsamuy Подменю пользователя
сообщение 01.04.11, 21:35
Сообщение #3

Оратор
Иконка группы
Группа: Местный
Сообщений: 264
Спасибо сказали: 69 раз
Рейтинг: 0

Супер

komix Подменю пользователя
сообщение 05.07.11, 15:31
Сообщение #4

Молчаливый
*
Группа: Пользователи
Сообщений: 1
Спасибо сказали: 0 раз
Рейтинг: 0

Хелп помогите юзеру хотел сделать что б номер свидетельства НДС ровнялся на правую сторону, а в итоге натворил что теперь не открываются налоговые сообще(((
вот такое пишет версия 8.1: " Поле обьекта не обнаружено (НомерСвидетельстваОрганизации_2)

{Документ.НалоговаяНакладная(984)}: Поле объекта не обнаружено (НомерСвидетельстваОрганизации_2)
ОбластьМакета.Параметры["НомерСвидетельстваОрганизации_"+Инд] = Сред(НомерСвидетельстваОрганизации, Инд, 1);


ХЕЛП МИ 09000000.gif

pablo Подменю пользователя
сообщение 05.07.11, 15:38
Сообщение #5

Старейшина
********
Группа: Команда (модераторы)
Сообщений: 1116
Из: Одесса-Луганск
Спасибо сказали: 192 раз
Рейтинг: 0

Проблема в макете. Что-то Вы лишнее удалили


Signature
Правильно поставленный вопрос содержит до 90% ответа.

Kutuzov Подменю пользователя
сообщение 06.07.11, 0:09
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 328
Из: Одесса
Спасибо сказали: 144 раз
Рейтинг: 0

Цитата(komix @ 05.07.11, 16:31) *
Хелп помогите юзеру хотел сделать что б номер свидетельства НДС ровнялся на правую сторону, а в итоге натворил что теперь не открываются налоговые сообще(((
вот такое пишет версия 8.1: " Поле обьекта не обнаружено (НомерСвидетельстваОрганизации_2)

{Документ.НалоговаяНакладная(984)}: Поле объекта не обнаружено (НомерСвидетельстваОрганизации_2)
ОбластьМакета.Параметры["НомерСвидетельстваОрганизации_"+Инд] = Сред(НомерСвидетельстваОрганизации, Инд, 1);


ХЕЛП МИ 09000000.gif


НомерСвидетельстваОрганизации_2 а откуда тут 2 взялось?? ОбластьМакета.Параметры["НомерСвидетельстваОрганизации_"+Инд] = Сред(НомерСвидетельстваОрганизации, Инд, 1); тут его нет


Signature
Вы станете богаче, лишь став умнее...
Чем дальше в лес, тем толще партизаны.
Нельзя недооценивать, не предсказуемость тупизны...

5_kopeek Подменю пользователя
сообщение 06.07.11, 9:45
Сообщение #7

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

Цитата(Kutuzov @ 06.07.11, 0:09) *
НомерСвидетельстваОрганизации_2 а откуда тут 2 взялось?? ОбластьМакета.Параметры["НомерСвидетельстваОрганизации_"+Инд] = Сред(НомерСвидетельстваОрганизации, Инд, 1); тут его нет

Мда... Когда инд=2, тогда "НомерСвидетельстваОрганизации_"+Инд=НомерСвидетельстваОрганизации_2.

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


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

 

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