Документ гарантийный талон
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 6 из 6
  1. #1
    Пришел за помощью

    Регистрация
    11.03.2009
    Адрес
    Kazahstan
    Сообщений
    3
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Документ гарантийный талон

    Всем привет.
    Подскажите пожалуйста, как из внешней печатной формы сделать документ, чтобы он хранился в базе? ВПФ гарантийного талона есть, формируется на основании Реализации товаров и услуг. Необходимо добавить новый документ ГТ в базу без документа реализации товаров и услуг. Конфигурация УТП для 8.2. В общем сделать самостоятельный документ.

  2. #2
    Гордость форума PRO

    Регистрация
    29.01.2010
    Сообщений
    1212
    Сказал(а) спасибо
    30
    Поблагодарили 261 раз(а) в 245 сообщениях

    По умолчанию

    Подскажите пожалуйста, как из внешней печатной формы сделать документ, чтобы он хранился в базе?
    Из внешней - никак

    еобходимо добавить новый документ ГТ в базу
    Ну-у-у.
    Заходишь в конфигуратор, устанавливаешь режим поддержки - "с возможностью изменений" и создаешь новый документ.
    Но если сам не шаришь - найми за миску юшки 1Снига из франча, он такую фигню сделат за 15 минут (за одну миску юшки со шматом сала)

  3. #3
    Пришел за помощью

    Регистрация
    11.03.2009
    Адрес
    Kazahstan
    Сообщений
    3
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Документ и макет сделал, не могу передать данные о фирме и покупателе в макет для печати

  4. #4
    Гордость форума PRO

    Регистрация
    29.01.2010
    Сообщений
    1212
    Сказал(а) спасибо
    30
    Поблагодарили 261 раз(а) в 245 сообщениях

    По умолчанию

    не могу передать данные о фирме и покупателе в макет для печати
    Это фантастика :confused:
    Если в документе есть данные в реквизите, то эти реквизиты доступны в местах где вы создаете макет (приведите код, где вы создаете макет. Это модуль объекта или модуль менеджера?).
    Есть сильное подозрение, что у вас нет понимания механизмов 1С.
    Может все же позвать 1Снига?

  5. #5
    Пришел за помощью

    Регистрация
    11.03.2009
    Адрес
    Kazahstan
    Сообщений
    3
    Сказал(а) спасибо
    3
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию

    Вот код внешней печатной формы:

    Функция Печать() Экспорт

    ЗапросШапка = Новый Запрос;
    ЗапросШапка.УстановитьПар� �метр("ТекущийДокумент", ЭтотОбъект.СсылкаНаОбъект) ;
    ЗапросШапка.Текст =
    "ВЫБРАТЬ
    | Дата,
    | Контрагент КАК Получатель,
    | Организация КАК Поставщик,
    | СтруктурноеПодразделение,
    | Организация
    |ИЗ
    | Документ.РеализацияТоваро� �Услуг КАК РеализацияТоваровУслуг
    |
    |ГДЕ
    | РеализацияТоваровУслуг.Сс� �лка = &ТекущийДокумент";

    Шапка = ЗапросШапка.Выполнить().Выб рать();
    Шапка.Следующий();

    СтруктурнаяЕдиницаОрганиз ация = ОбщегоНазначения.Получить� �труктурнуюЕдиницу(Шапка.О� �ганизация, Шапка.СтруктурноеПодразде� �ение);
    СведенияОПоставщике = ОбщегоНазначения.Сведения� �ЮрФизЛице(СтруктурнаяЕдин ицаОрганизация, Шапка.Дата);
    СведенияОПолучателе = ОбщегоНазначения.Сведения� �ЮрФизЛице(Шапка.Получател� �, Шапка.Дата);

    ВидДокумента = СсылкаНаОбъект.Метаданные( ).Имя;
    ИмяТабЧасти = "Товары";
    ТекДок = СсылкаНаОбъект;

    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | ДокТабЧасть.ЕдиницаИзмере� �ия КАК ЕдиницаИзмерения,
    | ДокТабЧасть.Номенклатура КАК Номенклатура,
    | ДокТабЧасть.Характеристик� �Номенклатуры КАК Характеристика,
    | ДокТабЧасть.СерияНоменкла� �уры КАК Серия,
    | ПРЕДСТАВЛЕНИЕ(ДокТабЧасть. ЕдиницаИзмерения) КАК ПечЕдиницаИзмерения,
    | ПРЕДСТАВЛЕНИЕ(ДокТабЧасть. Номенклатура) КАК ПечНоменклатура,
    | ДокСерийныеНомера.Серийны� �Номер КАК СерийныйНомер,
    | ДокТабЧасть.Количество КАК Количество,
    | ДокТабЧасть.НомерСтроки КАК НомерСтроки,
    | ЗначенияСвойствОбъектов.З� �ачение.Наименование КАК Гарантия
    |ИЗ
    | Документ." + ВидДокумента + "." + ИмяТабЧасти + " КАК ДокТабЧасть
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ." + ВидДокумента + ".СерийныеНомера КАК ДокСерийныеНомера
    | ПО ДокТабЧасть.КлючСвязи = ДокСерийныеНомера.КлючСвя� �и
    | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияС� �ойствОбъектов КАК ЗначенияСвойствОбъектов
    | ПО ДокТабЧасть.Номенклатура.С сылка = ЗначенияСвойствОбъектов.О� �ъект.Ссылка
    | И ЗначенияСвойствОбъектов.С� �ойство.Наименование = ""Гарантия""
    |ГДЕ
    | ДокТабЧасть.Ссылка = &ТекДок
    | И ДокСерийныеНомера.Ссылка = &ТекДок
    |УПОРЯДОЧИТЬ ПО
    | НомерСтроки,
    | ДокСерийныеНомера.НомерСт� �оки
    |";


    Запрос = Новый Запрос;
    Запрос.Текст = ТекстЗапроса;

    Запрос.УстановитьПараметр( "ТекДок", СсылкаНаОбъект);
    Запрос.УстановитьПараметр( "ИмяТабЧасти", "Товары");

    ТабДокумент = Новый ТабличныйДокумент;

    // Зададим параметры печатной формы по умолчанию
    ТабДокумент.РазмерКолонти� �улаСверху = 5;
    ТабДокумент.РазмерКолонти� �улаСнизу = 5;
    ТабДокумент.АвтоМасштаб = Истина;
    ТабДокумент.ОриентацияСтр� �ницы = ОриентацияСтраницы.Портре� �;

    ТабДокумент.ПолеСверху=5;
    ТабДокумент.ПолеСлева=5;
    ТабДокумент.ПолеСнизу=5;
    ТабДокумент.ПолеСправа=5;

    // Восстановим установленные пользователем параметры печатной формы
    ТабДокумент.ИмяПараметров� �ечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ВнешняяП� �чатнаяФорма";

    РезультатЗапроса = Запрос.Выполнить();

    Макет = ПолучитьМакет("Гарантия");
    ПредставлениеПоставщика = ОбщегоНазначения.Описание� �рганизации(СведенияОПоста вщике, "ПолноеНаименование,");

    Область = Макет.ПолучитьОбласть("Пос� �авщик");
    Область.Параметры.Документ Основание = "Документ основание: " + РаботаСДиалогами.Сформиро� �атьЗаголовокДокумента(Тек Док,,глСписокПрефиксовУзло в);
    Область.Параметры.Представ лениеПоставщика = "Поставщик: " + СокрЛП(ПредставлениеПоста� �щика);//СведенияОПоставщике.Юриди� �ескийАдрес;
    Область.Параметры.АдресПос тавщика = "Адрес: Республика Казахстан, г. Павлодар, ул. Ленина, дом № 143, офис 34";
    Область.Параметры.ТелПоста вщика = "Телефон: "+ СведенияОПоставщике.Телеф� �ны;
    ТабДокумент.Вывести(Област ь);

    //Заголовок
    Область = Макет.ПолучитьОбласть("Заг� �ловок");
    Область.Параметры.ТекстЗаг оловок = "Гарантийный талон";
    ТабДокумент.Вывести(Област ь);

    ПредставлениеПолучателя = ОбщегоНазначения.Описание� �рганизации(ОбщегоНазначен ия.СведенияОЮрФизЛице(Шапк а.Получатель, Шапка.Дата), "ПолноеНаименование,");

    Область = Макет.ПолучитьОбласть("Пок� �патель");

    Область.Параметры.Представ лениеПолучателя = "Покупатель: " + СокрЛП(ПредставлениеПолуч� �теля);
    Область.Параметры.ДатаПолу чателя = "Дата продажи: " + Формат( Шапка.Дата, "ДФ='дд.ММ.гггг'") ;
    Область.Параметры.АдресПол учателя = "Адрес: " + СведенияОПолучателе.Юриди� �ескийАдрес;

    ТабДокумент.Вывести(Област ь);




    Область = Макет.ПолучитьОбласть("Таб� �апка");
    ТабДокумент.Вывести(Област ь);

    ОбластьНоменклатура = Макет.ПолучитьОбласть("Таб� �оменклатура");

    Индекс = 0;
    ТекНоменклатура = Неопределено;
    ТекХарактеристика = Неопределено;
    ТекСерия = Неопределено;
    ТекСерийныйНомер = Неопределено;
    Обход = РезультатЗапроса.Выбрать();
    Пока Обход.Следующий() Цикл

    Если ТекНоменклатура <> Обход.Номенклатура
    ИЛИ ТекХарактеристика <> Обход.Характеристика
    ИЛИ ТекСерия <> Обход.Серия
    ИЛИ ТекСерийныйНомер <> Обход.СерийныйНомер
    Тогда

    Индекс = Индекс + 1;

    ТекНоменклатура = Обход.Номенклатура;
    ТекХарактеристика = Обход.Характеристика;
    ТекСерия = Обход.Серия;
    ТекСерийныйНомер = Обход.СерийныйНомер;

    ОбластьНоменклатура.Парам� �тры.НомСтр = Индекс;
    ОбластьНоменклатура.Парам� �тры.ПечНоменклатура = Обход.ПечНоменклатура + ФормированиеПечатныхФорм.� �редставлениеСерий(Обход);
    ОбластьНоменклатура.Парам� �тры.Номенклатура = Обход.Номенклатура;
    ОбластьНоменклатура.Парам� �тры.ЕдИзм = Обход.ЕдиницаИзмерения;
    ОбластьНоменклатура.Парам� �тры.ПечЕдИзм = Обход.ПечЕдиницаИзмерения;
    ОбластьНоменклатура.Парам� �тры.Количество = Обход.Количество;
    ОбластьНоменклатура.Парам� �тры.СерийныйНомер = Обход.СерийныйНомер;

    СерийныйНомер = ?(ЗначениеЗаполнено(Обход.С ерийныйНомер),Обход.Серийн� �йНомер,"");

    ОбластьНоменклатура.Парам� �тры.СерийныйНомер = СерийныйНомер;

    Гарантия = ?(ЗначениеЗаполнено(Обход.Г арантия),Обход.Гарантия,"");

    ОбластьНоменклатура.Парам� �тры.ГарантийныйСрок = Гарантия;


    ТабДокумент.Вывести(Област ьНоменклатура);

    КонецЕсли;

    КонецЦикла;

    Область = Макет.ПолучитьОбласть("Таб� �одвал");
    Область.Параметры.Ответств енный = ?(ТекДок.Ответственный.Ссыл ка.Пустая()=1,"______________________",Т� �кДок.Ответственный);
    ТабДокумент.Вывести(Област ь);


    Возврат ТабДокумент;

    КонецФункции

    ---------- Post added at 10:36 ---------- Previous post was at 10:34 ----------

    Из нее пытаюсь сделать самостоятельный документ документ

    ---------- Post added at 10:39 ---------- Previous post was at 10:36 ----------

    Вот часть кода созданного мною документа:

    Функция Печать()

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр( "ТекущийДокумент", ЭтотОбъект.Ссылка);
    Запрос.УстановитьПараметр( "Дата", Дата);
    Запрос.Текст =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ
    | ГарантийныйТалон.Дата,
    | ГарантийныйТалон.Номер,
    | ГарантийныйТалон.Контраге� �т КАК Получатель,
    | ГарантийныйТалон.Организа� �ия КАК Поставщик,
    | ГарантийныйТалон.Структур� �оеПодразделение,
    | ГарантийныйТалон.Организа� �ия
    |ИЗ
    | Документ.ГарантийныйТалон КАК ГарантийныйТалон
    |
    |ГДЕ
    | ГарантийныйТалон.Ссылка = &ТекущийДокумент";

    Шапка = Запрос.Выполнить().Выбрать() ;
    Шапка.Следующий();

    СтруктурнаяЕдиницаОрганиз ация = ОбщегоНазначения.Получить� �труктурнуюЕдиницу(Шапка.О� �ганизация, Шапка.СтруктурноеПодразде� �ение);
    СведенияОПоставщике = ОбщегоНазначения.Сведения� �ЮрФизЛице(СтруктурнаяЕдин ицаОрганизация, Шапка.Дата);
    СведенияОПолучателе = ОбщегоНазначения.Сведения� �ЮрФизЛице(Шапка.Получател� �, Шапка.Дата);

    КонецФункции // Печать()


    На данной строке

    СтруктурнаяЕдиницаОрганиз ация = ОбщегоНазначения.Получить� �труктурнуюЕдиницу(Шапка.О� �ганизация, Шапка.СтруктурноеПодразде� �ение);

    выдает ошибку:

    {ОбщийМодуль.ОбщегоНазначе ния.Модуль(1926)}: Значение не является значением объектного типа (УказыватьРеквизитыГоловн� �йОрганизации)
    Если СтруктурноеПодразделение.� �казыватьРеквизитыГоловно� �Организации Тогда

  6. #6
    Гордость форума PRO

    Регистрация
    29.01.2010
    Сообщений
    1212
    Сказал(а) спасибо
    30
    Поблагодарили 261 раз(а) в 245 сообщениях

    По умолчанию

    Мдя. Как я и предполагал :dance:
    Это понятно желание "списать у товарища" и взять что-либо из "штатной функциональности", но это все же стоит делать понимая "что и как".

    Ну скажите пожалуйста, ну зачем "огород городить" с запросами (для штатной функциональности это понятно, там делают универсальный на все случаи жизни)?

    Если ссылка на сам документ у Вас находится в "ЭтотОбъект.СсылкаНаОбъект ", то ссылка на организацию у вас "сидит" в "ЭтотОбъект.Организация", а ссылка на покупателя "ЭтотОбъект.Контрагент"
    И всё, без всяких выеживаний :blush:

    ПыСы. Запустите отладчик в файловом режиме и сами убедитесь что это именно так

Социальные закладки

Социальные закладки

Ваши права

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