×
×
+ Ответить в теме
Показано с 1 по 29 из 29
  1. #1
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37

    Редактирование ТТН в конфигураторе (1с 7.7)

    Здравствуйте, подскажите, как мне исправить модуль ттн, чтобы выводились полные реквизиты Грузоотправителя и грузополучателя?

    //*******************************************
    Процедура ПриОткрытии()
    //Отменяем стандартную обработку, чтобы не показывать форму
    СтатусВозврата(0);

    кКонт = Форма.Параметр.Получить("Контекст");

    кТаб = СоздатьОбъект("Таблица");
    кТаб.ИсходнаяТаблица("1Т");
    //Переменные используемые в шапке печформы
    ПечДата = кКонт.ДатаДок;
    Если кКонт.ВариантОтправки=1 Тогда
    ПечГрузоотправитель = Константа.НазваниеОрганизации;
    ПечГрузоотправительОКПО = Константа.КодОКПО;
    Иначе
    ПечГрузоотправитель = кКонт.Грузоотправитель;
    ПечГрузоотправительОКПО = кКонт.Грузоотправитель.ОКПО;
    КонецЕсли;

    Если кКонт.ВариантПолучения=1 Тогда
    ПечГрузополучатель =кКонт.Контрагент;
    ПечГрузополучательОКПО = кКонт.Контрагент.ОКПО;
    Иначе
    ПечГрузополучатель = кКонт.Грузополучатель;
    ПечГрузополучательОКПО = кКонт.Грузополучатель.ОКПО;
    КонецЕсли;

    ПечПлательщик = кКонт.Контрагент;
    ПечПлательщикОКПО = кКонт.Контрагент.ОКПО;

    НомерСтраницы=1;
    //Выводим шапку
    кТаб.ВывестиСекцию("Шапка");

    //Переменные товарного раздела
    кТаб.ВывестиСекцию("Заголовок");
    кКонт.ВыбратьСтроки();
    Пока кКонт.ПолучитьСтроку()=1 Цикл
    //Если кТаб.КоличествоСтраниц()>НомерСтраницы Тогда
    // НомерСтраницы = кТаб.КоличествоСтраниц();
    //КонецЕсли;

    Товар = кКонт.Товар;
    ПечКоличество = кКонт.Количество;
    ПечЦена = кКонт.Цена;
    ПечСумма = ПечКоличество*ПечЦена;

    кТаб.ВывестиСекцию("Строка");
    КонецЦикла;
    ПечКоличествоСтрок = кКонт.КоличествоСтрок();

    ИтогоСумма = кКонт.Итог("Сумма");

    //Выводим секцию подвал
    кТаб.ВывестиСекцию("Подвал");

    ///Оборотная сторона
    // ------------------
    кТаб.НоваяСтраница();

    кТаб.ВывестиСекцию("ТР_Шапка");

    кКонт.ВыбратьСтроки();
    Пока кКонт.ПолучитьСтроку()=1 Цикл
    Товар = кКонт.Товар;

    кТаб.ВывестиСекцию("ТР_Строка");
    КонецЦикла;
    ПечИтогоМасса = кКонт.Итог("Количество");
    кТаб.ВывестиСекцию("ТР_Подвал");
    кТаб.Опции(0,0);
    кТаб.ПараметрыСтраницы(2,,0,0,0,0);
    кТаб.ТолькоПросмотр(1);
    кТаб.Показать();
    КонецПроцедуры

    //_____________________________________________________________________________

    //******************************************************************************
    // СуммаПрописью(Сумма)
    //
    // Параметры:
    // Сумма - число, на основе которого формируется сумма
    //
    // Возвращаемое значение:
    // Сумма прописью
    //
    // Описание:
    // Формирует сумму прописью в соответствии с файлом прописи, заданным в валюте.

    Функция СуммаПрописью(Сумма)
    Валюта = Константа.ОсновнаяВалюта;
    Если ПустоеЗначение(Валюта) = 0 Тогда

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

    КонецЕсли;

    СтрокаСуммы = Формат(Сумма, "ЧПДС");

    // установим пропись по умолчанию
    Пропись("");
    Возврат СтрокаСуммы;

    КонецФункции // СуммаПрописью()
    Поделиться с друзьями

  2. #2
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Непонятно в Вашем вопросе 3 вещи:
    1. Какая конфигурация 1С-7.7 - Бухгалтерия, Торговля и склад и т.д. Желателен номер релиза.
    2. Что Вами понимается под полными реквизитами - юр/физ адрес, телефоны, и т.д.?
    3. Причем тут функция СуммаПрописью()

    Следует понимать, что данные Вашей конторы должны вытаскиваться из констант (Грузоотправитель), а данные Грузополучателя из справочника Контрагенты. Например, у меня для подстановки в ТН, есть ещё небольшой простой дополнительный справочник "Автомобили" с ФИО водителя, номера вод/уд, марка авто и прицепа, гос. номера, грузоподъемность, контактный телефон водителя и нек. другие реквизиты.
    С уважением, Bazil.

  3. #3
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Цитата Сообщение от Bazil Посмотреть сообщение
    1. Какая конфигурация 1С-7.7 - Бухгалтерия, Торговля и склад и т.д.
    Разве не видно, что Бухгалтерия 7.7 ? =)

  4. #4
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от zak1c Посмотреть сообщение
    Разве не видно, что Бухгалтерия 7.7 ? =)
    Вот ни разу не видно. Мы сидим за разными мониторами... Особенно релиза. У Вас видимо последний 554? Но в типовой Бухгалтерии нет ТТН. Тогда это дописка в конфу или внешняя обработка.
    Так что хотите вывести в печатную форму конкретно? Отвечать "полные реквизиты" не надо,
    Последний раз редактировалось Bazil; 10.03.2013 в 12:03.
    С уважением, Bazil.

  5. #5
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Bazil, Причём тут последний релиз бухии или нет?
    о том, что это бухия я решил по константам НазваниеОрганизации/ОКПО
    о том, что это самодельная печатная форма понятно из имён переменных ПечГрузоотправитель/ПечПлательщик и т.д., ибо такие имена используют в ТиСе/Комплексной 7.7

    Цитата Сообщение от Bazil Посмотреть сообщение
    Так что хотите вывести в печатную форму конкретно? Отвечать "полные реквизиты" не надо
    мне выводить ничего не надо, я не автор ветки =)
    а выводить ясно: ИНН/адрес -- только неясно какой адрес и нужны ли банковские реквизиты
    и не до конца ясно -- выводится печатная форма из документа РасходнаяНакладная или нет =)

  6. #6
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от zak1c Посмотреть сообщение
    Причём тут последний релиз бухии или нет?
    Чтобы быть уверенным по наличию метаданных.
    Цитата Сообщение от zak1c Посмотреть сообщение
    а выводить ясно: ИНН/адрес
    А чего я должен у вопрошающего всё клещами тянуть?
    Вместо
    ПечГрузоотправитель = Константа.НазваниеОрганизации;
    Пусть напишет примерно следующее
    ПечГрузоотправитель = ""+СокрП(Константа.НазваниеОрганизации)+", ИНН/КПП "+СокрП(Константа.ИННОрганизации)+", адрес: "+СокрП(Константа.ПочтовыйАдресОрганизации)+".";
    Вместо
    ПечГрузоотправитель = кКонт.Грузоотправитель;
    Писать
    ПечГрузоотправитель = ""+СокрП(кКонт.Грузоотправитель)+ ", ИНН "+СокрП(кКонт.Грузоотправитель.ИНН)+", адрес: "+СокрП(кКонт.Грузоотправитель.ПочтовыйАдрес);
    Последний раз редактировалось Bazil; 10.03.2013 в 12:27.
    С уважением, Bazil.

  7. #7
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Цитата Сообщение от Bazil Посмотреть сообщение
    Чтобы быть уверенным по наличию метаданных.
    какой реквизит может отсутствовать?

    Цитата Сообщение от Bazil Посмотреть сообщение
    Вместо
    ПечГрузоотправитель = Константа.НазваниеОрганизации;
    Пусть напишет примерно следующее
    ПечГрузоотправитель = ""+СокрП(Константа.НазваниеОрганизации)+", ИНН/КПП "+СокрП(Константа.ИННОрганизации)+", адрес: "+СокрП(Константа.ПочтовыйАдресОрганизации)+". ";
    Вместо
    ПечГрузоотправитель = кКонт.Грузоотправитель;
    Писать
    ПечГрузоотправитель = ""+СокрП(кКонт.Грузоотправитель)+ ", ИНН "+СокрП(кКонт.Грузоотправитель.ИНН)+", адрес: "+СокрП(кКонт.Грузоотправитель.ПочтовыйАдрес);
    адрес будет некрасивый =)

  8. #8
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от zak1c Посмотреть сообщение
    какой реквизит может отсутствовать?
    В последних релизах что-то мутили с метаданными. Могли справочник Контрагенты слегка изменить. Я все не помню, да и незачем голову забивать. Просто взял и посмотрел.
    Цитата Сообщение от zak1c Посмотреть сообщение
    адрес будет некрасивый =)
    А надо проживать и работать по красивому адресу....
    Вообще можно, по простому, создать в конфигураторе текстовую константу вроде ТекстДляВставки_в_ТТН.
    А потом тупо писать
    ПечОтправитель = СокрП(Константа.ТекстДляВставки_в_ТТН);
    Последний раз редактировалось Bazil; 10.03.2013 в 15:29.
    С уважением, Bazil.

  9. #9
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Цитата Сообщение от Bazil Посмотреть сообщение
    В последних релизах что-то мутили с метаданными. Могли справочник Контрагенты слегка изменить. Я все не помню, да и незачем голову забивать.
    не верю

    Цитата Сообщение от Bazil Посмотреть сообщение
    А надо проживать и работать по красивому адресу....
    я имелл ввижу, что адреса хранятся в определённом формате через запятые
    для отображения используется глобальная функция глПредставлениеАдреса

  10. #10
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от zak1c Посмотреть сообщение
    я имелл ввижу, что адреса хранятся в определённом формате через запятые
    для отображения используется глобальная функция глПредставлениеАдреса
    В справочнике Контрагенты, реквизит ПочтовыйАдрес имеет тип строка, длиной 85 символов. И ничего на нем не висит (процедур и функций). Это при использовании всяких кладров и в ЗиК начинаются извращения.
    С уважением, Bazil.

  11. #11
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Bazil, значит я с Комплексной/ТиСом спутал
    там значит точно такое есть

  12. #12
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от zak1c Посмотреть сообщение
    значит я с Комплексной/ТиСом спутал
    Да в голову не бери. Этот справочник берет начало еще с конфигураций для Бух-7.5. Там всё просто и написано "в лоб". Тогда дистрибутив конфы занимал две неполные дискеты. А потом, когда конфы стали тяжелыми, то стали, для экономии места, собирать текстовую строку с разделителями.
    А человек, видимо, уже всё вывел как нужно...
    Последний раз редактировалось Bazil; 10.03.2013 в 20:26.
    С уважением, Bazil.

  13. #13
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    Спасибо за помощь. бухгалтерия ред 4,5 7.70.543. А ттн я сама загрузила в папку.Мне нужно сделать внешнюю обработку. Нужно, чтобы в это ттн полсе названия организации(и у грузоотправителя и у грузополучателя) выводились адрес, тел., инн, кпп, все банковские реквизиты.
    Последний раз редактировалось helen17; 11.03.2013 в 09:30.

  14. #14
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    Спасибо, у грузоотправителя инн, кпп и адрес встали, нужны еще банковские реквизиты.
    Нужно, чтоб такой же список реквизитов выводился и у грузополучателя. и у плательщика.

  15. #15
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    helen17, ну откройте модуль документа и посмотрите как там сделано
    сделай всё тоже самое

  16. #16
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    helen17, посмотрите процедуру Печать в расходной накладной. Но если это внешняя обработка, то нужно делать через контекст.
    Сложность в том, что реквизит ОсновнойСчет в справочнике имеет тип значения Справочник.РасчетныеСчета.
    Попробуйте в лоб написать в конце Вашей процедуры Печать (в ТТН)
    Сообщить(кКонт.Контрагент.ОсновнойСчет);
    Если что-то выведет, то можете это использовать в печ. форме.
    Последний раз редактировалось Bazil; 11.03.2013 в 10:23.
    С уважением, Bazil.

  17. #17
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    Подскажите, пожалуйста, что неправильно в плательщике?


    Если кКонт.ВариантОтправки=1 Тогда
    ПечГрузоотправитель = ""+СокрП(Константа.НазваниеОрганизации)+", ИНН/КПП "+СокрП(Константа.ИННОрганизации)+", адрес: "+СокрП(Константа.ПочтовыйАдресОрганизации)+". ";
    ПечГрузоотправительОКПО = Константа.КодОКПО;
    Иначе
    ПечГрузоотправитель = ""+СокрП(кКонт.Грузоотправитель)+ ", ИНН "+СокрП(кКонт.Грузоотправитель.ИНН)+", адрес: "+СокрП(кКонт.Грузоотправитель.ПочтовыйАдрес);
    ПечГрузоотправительОКПО = кКонт.Грузоотправитель.ОКПО;
    КонецЕсли;

    Если кКонт.ВариантПолучения=1 Тогда
    ПечГрузополучатель =""+СокрП(Константа.Контрагент)+", ИНН/КПП "+СокрП(Константа.ИННКонтрагент)+", адрес: "+СокрП(Константа.ПочтовыйАдресКонтрагент)+". ";
    ПечГрузополучательОКПО = кКонт.Контрагент.ОКПО;
    Иначе
    ПечГрузополучатель = ""+СокрП(кКонт.Грузополучатель)+ ", ИНН "+СокрП(кКонт.Грузополучатель.ИНН)+", адрес: "+СокрП(кКонт.Грузополучатель.ПочтовыйАдрес);
    ПечГрузополучательОКПО = кКонт.Грузополучатель.ОКПО;
    КонецЕсли;

    ПечПлательщик =""+СокрП(Константа.Контрагент)+", ИНН/КПП "+СокрП(Константа.ИННКонтрагент)+", адрес: "+СокрП(Константа.ПочтовыйАдресКонтрагент)+". ";
    ПечПлательщикОКПО = кКонт.Контрагент.ОКПО;

  18. #18
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    helen17, что выводит и чем нужно дополнить ?

  19. #19
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от helen17 Посмотреть сообщение
    Константа.Контрагент
    Вместо этой части текста пишется кКонт.Контрагент
    Нет такой константы. Константы хранят условно постоянную информацию и как правило о своей организации.
    Условно-постоянная информация хранится в справочниках, в Вашем слочает в Контрагенты.
    Правильно написать примерно так:
    ПечПлательщик =""+СокрП(кКонт.Контрагент)+", ИНН/КПП "+СокрП(кКонт.Контрагент.ИНН)+", адрес: "+СокрП(кКонт.Контрагент.ПочтовыйАдрес)+". ";

    Через точку после слова Контрагент, указываются реквизиты справочника, как они описаны в конфигурации, а не произвольно.
    Последний раз редактировалось Bazil; 12.03.2013 в 11:17.
    С уважением, Bazil.

  20. #20
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    Вот что стала писать, после того как вставила:

    ПечПлательщик =""+СокрП(кКонт.Контрагент)+", ИНН/КПП "+СокрП(кКонт.Контрагент.ИНН)+", адрес: "+СокрП(кКонт.Контрагент.ПочтовыйАдрес)+". ";

    Значение не представляет агрегатный объект (ПолнНаименование)
    Значение не представляет агрегатный объект (ПолнНаименование)
    Значение не представляет агрегатный объект (ПочтовыйАдрес)

  21. #21
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Там надо же смотреть в конфираторе структуру данных в мд-нике, а не писать с потолка. Я не вижу у Вас в тексте типа кКонт.Контрагент.ПолнНаименование
    С уважением, Bazil.

  22. #22
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    мд-ник отправила.

  23. #23
    Клерк
    Регистрация
    27.03.2012
    Адрес
    Москва
    Сообщений
    3,421
    Цитата Сообщение от helen17 Посмотреть сообщение
    мд-ник отправила.
    а денежку? =)

  24. #24
    Клерк
    Регистрация
    24.01.2011
    Сообщений
    37
    Слава Богу, не перевелись еще на свете добрые люди!

  25. #25
    Алес Вирт
    Гость
    создаю контрагента без реквизитов - выставляю счет.
    потом бухгалтер добавляет в карточку клиента все реквизиты, адреса, телефоны, ИНН/КПП
    и при печати ТТН и СФ адрес разбивает на 3 строки.
    чтобы исправить - увеличить строку:
    В торговле - открыть конфигурацию, Действия - Общие Таблицы
    Выбери торг-12 , раздвинь строки и сохрани, всё.

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

Название:	14-05-2014 16-28-51.jpg 
Просмотров:	309 
Размер:	32.6 Кб 
ID:	54207

  26. #26
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Алес Вирт, возможно не стоит текстовая функция СокрП, которая обрезает пустые символы справа. Запустите отладчик и посмотрите эту переменную - нет ли в тексте лишних пробелов. Возможно Вы неправильно расширили длину столбца, сначала нужно разгруппировать смежные ячейки, потом расширить столбцы, потом опять сгруппировать. Пишите "к/с" вместо "корр. счет" и т.д.
    С уважением, Bazil.

  27. #27
    Алес Вирт
    Гость
    Цитата Сообщение от Bazil Посмотреть сообщение
    Алес Вирт, возможно не стоит текстовая функция СокрП, которая обрезает пустые символы справа. Запустите отладчик и посмотрите эту переменную - нет ли в тексте лишних пробелов. Возможно Вы неправильно расширили длину столбца, сначала нужно разгруппировать смежные ячейки, потом расширить столбцы, потом опять сгруппировать. Пишите "к/с" вместо "корр. счет" и т.д.
    можете по пунктам расписать как это сделать, ковыряю 1С первый раз... благодарю за понимание

  28. #28
    Клерк Аватар для Bazil
    Регистрация
    27.01.2003
    Адрес
    Санкт-Петербург
    Сообщений
    2,629
    Цитата Сообщение от Алес Вирт Посмотреть сообщение
    можете по пунктам расписать как это сделать, ковыряю 1С первый раз...
    А я сказал уже по пунктам. Для этого надо знать программирование на языке 1С седьмой версии, идеологию работы типовых конфигураций... да и практики хоть пару лет... Если изучать неохота, выложите архив в облако и дайте ссылку мне в личку. Сделаю бесплатно... да и брать деньги за 5-10 мин работы неэтично.
    С уважением, Bazil.

  29. #29
    Алес Вирт
    Гость
    изучать охота но времени нет (или как всегда охота пока не возьмешься...)
    уточните пожалуйста архив базы или архив программы?

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы можете создавать новые темы
  • Вы можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •