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

Хранилище

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

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




>  Внешняя печатная форма РасходныйКассовыйОрдер
1c_lam
Отправлено: 14.02.19, 10:44


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


VXIIIZ @ Сегодня, 10:28 * ,
Мое признание, искренне благодарен agree.gif

Уважаемые господа, закоментил целый блок из обработки, который вываливал кучу ошибок и решал этот вопрос:


 ! 

Правила: 8
 


Буду благодарен если подскажете как прикрутить назад 51000000.gif 51000000.gif
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149821 · Ответов: 9 · Просмотров: 2197
 

>  Внешняя печатная форма РасходныйКассовыйОрдер
1c_lam
Отправлено: 14.02.19, 10:26


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


Vofka @ Сегодня, 10:20 * ,
Точно, спасибо.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149819 · Ответов: 9 · Просмотров: 2197
 

>  Внешняя печатная форма РасходныйКассовыйОрдер
1c_lam
Отправлено: 14.02.19, 10:19


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


VXIIIZ @ Сегодня, 10:10 * ,
Действительно, помогло 56000000.gif
тОлько что то я с суммой напутал:



 ! 

Правила: 8
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149817 · Ответов: 9 · Просмотров: 2197
 

>  Внешняя печатная форма РасходныйКассовыйОрдер
1c_lam
Отправлено: 14.02.19, 10:07


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


Vofka @ Сегодня, 9:56 * ,
Вернее возвращает, но не выводит на экран/печать ничего 09000000.gif




 ! 

Правила: 8
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149815 · Ответов: 9 · Просмотров: 2197
 

>  Внешняя печатная форма РасходныйКассовыйОрдер
1c_lam
Отправлено: 14.02.19, 9:32


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


1С:Предприятие 8.3 (8.3.12.1616)
"Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1)
Доброго!
Вояю ВПФ для документа "РасходныйКассовыйОрдер", все по методике: процедурки и функции повыдергивал, себе в модуль вставил, проверил ошибки, переменные. ОК.
Прогоняю через отладчик с точкой останова, ошибок не дает. Но и ТабДокумент не возвращает!!
А когда прикручиваю к доку ч-з Серви/Внешние печатные формы, то при попытке печатнуть дает такую ошибку:
"Не удалось сформировать внешнюю печатную форму!
Преобразование значения к типу Число не может быть выполнено"
При отладке эту ошибку получить не могу. 64000000.gif
Просьба, помочь/направить/подсказать. Вот код:

Код
Функция ОпределитьКодЯзыкаДляФормат(КодЯзыка) Экспорт
    
    Возврат ОпределитьКодЯзыкаДляФормат1(КодЯзыка);
    
КонецФункции // ОпределитьКодЯзыкаДляФормат()
Функция ОпределитьКодЯзыкаДляФормат1(КодЯзыка) Экспорт
    
    Возврат ?(КодЯзыка = "uk","uk_UA","ru_RU");
    
КонецФункции // ОпределитьКодЯзыкаДляФормат()
Функция ФорматСумм(Сумма, Валюта = Неопределено, ЧН = "", ЧРГ = "") Экспорт

    ФорматнаяСтрока = "ЧЦ=15;ЧДЦ=2" +
                    ?(НЕ ЗначениеЗаполнено(ЧН), "", ";" + "ЧН=" + ЧН) +
                    ?(НЕ ЗначениеЗаполнено(ЧРГ),"", ";" + "ЧРГ=" + ЧРГ);
    РезультирующаяСтрока = СокрЛ(Формат(Сумма, ФорматнаяСтрока));
    
    //Если ЗначениеЗаполнено(Валюта) Тогда
    //    РезультирующаяСтрока = РезультирующаяСтрока + " " + СокрП(Валюта);
    //КонецЕсли;

    Возврат РезультирующаяСтрока;
    КонецФункции
Функция СформироватьСуммуПрописью(Сумма, Валюта, КодЯзыка = "ua") Экспорт

    ПараметрыПрописи = ПараметрыПрописи(Валюта, КодЯзыка);
    Если ПараметрыПрописи = "" Тогда
        Возврат ФорматСумм(Сумма);
    Иначе
        Попытка
        Возврат        ЧислоПрописью(Сумма,"Л="+ОпределитьКодЯзыкаДляФормат(КодЯзыка),ПараметрыПрописи);
        Исключение
    Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецФункции
Функция ПараметрыПрописи(Валюта, КодЯзыка) Экспорт
    
    Рез = ("гривня, гривні, гривень, ж, копійка, копійки, копійок, ж, 2");
    Если Рез = "" Тогда
        ОбщегоНазначения.СообщитьСлужебнуюИнформацию("Для валюты " + Валюта + " не установлены параметры прописи для кода языка " + КодЯзыка);
    КонецЕсли;
    
    Возврат Рез;
    
КонецФункции // ПараметрыПрописи()
Функция Печать()Экспорт

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

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

        
    Шапка = Запрос.Выполнить().Выбрать();
    Если   Шапка.Сумма = неопределено
        ИЛИ
        Шапка.Сумма = NULL
        Тогда
        Сумма=0;
    Иначе
        Сумма = Шапка.Сумма;
    КонецЕсли;
    Шапка.Следующий();
    
    
    ТабДокумент   = Новый ТабличныйДокумент;
    //ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_РасходныйКассовыйОрдер_КО2";
    
    Вариант2018 = Ложь;
    Если СсылкаНаОбъект.Дата >= Дата('20180105') Тогда
        Макет = ПолучитьМакет("КО2ф");
        Вариант2018 = Истина;
    ИначеЕсли СсылкаНаОбъект.Дата >= Дата('20090616') Тогда
        Макет = ПолучитьМакет("КО2ф");
    Иначе
        Макет = ПолучитьМакет("КО2ф");
    КонецЕсли;
    
    
    ОбластьМакета = Макет.ПолучитьОбласть("Шапка");
    КодЯзыкаПечать = "uk";

    СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента);
    
    Если Вариант2018 Тогда
        ПредставлениеДаты = Формат(Шапка.ДатаДокумента, "Л=uk_UA; ДЛФ=ДД");
        ПредставлениеДаты = Сред(ПредставлениеДаты, 1, СтрДлина(ПредставлениеДаты) - 2) + "року";
        ОбластьМакета.Параметры.ДатаДокумента = Шапка.ДатаДокумента+ "року";
    КонецЕсли;

    // Выводим шапку ордера
    ОбластьМакета.Параметры.Заполнить(Шапка);
    
    Если НЕ ЗначениеЗаполнено(Шапка.ОбособленноеПодразделениеОрганизации) Тогда
        ОбластьМакета.Параметры.ПолноеНаименование     = СведенияОбОрганизации.ПолноеНаименование;
    Иначе
        ОбластьМакета.Параметры.ПолноеНаименование = Шапка.ОбособленноеПодразделениеОрганизацииПредставление;
    КонецЕсли;
    
    ОбластьМакета.Параметры.Сумма                 = ФорматСумм(Шапка.Сумма);//, Шапка.Валюта);
    
    //Если Вариант2018
    //    И     СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ВзносНаличнымиВБанк
    //    ИЛИ СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ИнкассацияДенежныхСредств  
    //    Или СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыПоВедомостям Тогда
        //ОбластьМакета.Параметры.СуммаПрописью = ?(Шапка.Валюта = мВалютаРегламентированногоУчета,"грн      коп.","");
    //Иначе
        ОбластьМакета.Параметры.СуммаПрописью         = СформироватьСуммуПрописью(Сумма, Шапка.Валюта, КодЯзыкаПечать);    
    //КонецЕсли;
    
    Если СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику ИЛИ СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыдачаДенежныхСредствПодотчетнику Тогда
        КодПоДРФО = ?(СсылкаНаОбъект.ВидОперации = Перечисления.ВидыОперацийРКО.ВыплатаЗаработнойПлатыРаботнику,СсылкаНаОбъект.Контрагент.Физлицо.КодПоДРФО,СсылкаНаОбъект.Контрагент.КодПоДРФО);
        ОбластьМакета.Параметры.Выдать = Шапка.Выдать + ?(КодПоДРФО="",""," ("+КодПоДРФО+")");
    КонецЕсли;
    
        
    ОбластьМакета.Параметры.КодПоЕДРПОУ         = УправлениеКонтактнойИнформацией.ПолучитьКодОрганизации(СведенияОбОрганизации);

    Если НЕ ЗначениеЗаполнено(Шапка.ОбособленноеПодразделениеОрганизации) Тогда
        Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Организация, Шапка.ДатаДокумента);
    Иначе
        Руководители = ОбщегоНазначения.ОтветственныеЛицаОбособленногоПодразделения(Шапка.ОбособленноеПодразделениеОрганизации, Шапка.ДатаДокумента);
    КонецЕсли;

    Если ЗначениеЗаполнено(Руководители.РуководительФИО) Тогда
        Руководитель = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.РуководительФИО.Фамилия, Руководители.РуководительФИО.Имя, Руководители.РуководительФИО.Отчество);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Руководители.ГлавныйБухгалтерФИО) Тогда
        ГлавныйБухгалтер = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.ГлавныйБухгалтерФИО.Фамилия, Руководители.ГлавныйБухгалтерФИО.Имя, Руководители.ГлавныйБухгалтерФИО.Отчество);
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Руководители.КассирФИО) Тогда
        Кассир = ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Руководители.КассирФИО.Фамилия, Руководители.КассирФИО.Имя, Руководители.КассирФИО.Отчество);
    КонецЕсли;
    
    ОбластьМакета.Параметры.ФИОРуководителя     = Руководитель;
    ОбластьМакета.Параметры.ФИОБухгалтера         = ГлавныйБухгалтер;
    ОбластьМакета.Параметры.ФИОКассира          = "Узун Н.П.";
    
    
    
    ТабДокумент.Вывести(ОбластьМакета);

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

КонецФункции // ПечатьРКО()
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149807 · Ответов: 9 · Просмотров: 2197
 

>  Присоединить табличный документ без переопределения высоты строк
1c_lam
Отправлено: 22.01.19, 17:01


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


Insider12 @ 18.01.19, 14:32 * ,
ТабДок.Присоединить(НужнаяОбласть)?
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149183 · Ответов: 3 · Просмотров: 1466
 

>  Внешняя печатная форма
1c_lam
Отправлено: 17.01.19, 14:19


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


awp @ Сегодня, 13:30 * ,
Огромное спасибо, действительно, пытался "изяществовать" а надо делать просто и правильно.
Все получилось! 11000000.gif 15000000.gif 32000000.gif
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149062 · Ответов: 5 · Просмотров: 2306
 

>  Внешняя печатная форма
1c_lam
Отправлено: 17.01.19, 13:12


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


awp @ Сегодня, 12:17 * ,
Спасибо, обратите внимание на блок закоментированный, то я увидел где взять тот самый код, но я не представляю как его "вставить в мой макет, в мою форму. даже запрос организовал, но, он тянет все коды из классификатора, а заполняет каждые поля по товару одним (подозреваю первым) кодом. в Этом и загвоздочка 51000000.gif 51000000.gif
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149057 · Ответов: 5 · Просмотров: 2306
 

>  Внешняя печатная форма
1c_lam
Отправлено: 17.01.19, 12:11


Молчаливый
*

Группа: Пользователи
Сообщений: 9
Регистрация: 17.01.19
Пользователь №: 63847


1С:Предприятие 8.3 (8.3.12.1616)
"Управление торговым предприятием для Украины", редакция 1.2. (1.2.48.1)
Доброго времени суток, Господа.
На данный момент есть необходимость создания внешней печатной формы "Приходный ордер. Типовая форма № М-4";
Мною реализовано изящно, но скомканное исполнение и ОДНА ПРОБЛЕМКА!
А именно, не представляю как заполнять КонНоменклатуры, согласно Классификатору единиц измерения. Код прикрепляю.
Просьба, подскажите как заполнить "Эти поля", всю голову сломал 09000000.gif



Код
Функция Печать() Экспорт
    Макет = ПолучитьМакет("ф4");
    //КодЯзыкаПечать = Локализация.ПолучитьЯзыкФормированияПечатныхФорм(УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "РежимФормированияПечатныхФорм"));
    //Макет.КодЯзыкаМакета = КодЯзыкаПечать;
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.АвтоМасштаб = Истина;
    ТабДок.ТолькоПросмотр = Истина;
    Макет = ПолучитьМакет("ф4");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка1");
    ОбластьШапка.Параметры.НомерДокумента = СсылкаНаОбъект.Номер;
    ОбластьШапка.Параметры.ДатаДокумента = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=");
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка1");
    ОбластьСтрока.Параметры.НомДок = СсылкаНаОбъект.Номер;
    ОбластьСтрока.Параметры.Дата = Формат(СсылкаНаОбъект.Дата, "ДФ=dd.MM.yyyy; ДЛФ=");
    ОбластьСтрока.Параметры.Склад = СсылкаНаОбъект.СкладОрдер;
    ОбластьСтрока.Параметры.НаимПост = СсылкаНаОбъект.Контрагент;
    
    ОбластьСч_ТЧ = Макет.ПолучитьОбласть("Сч_ТЧ");
    ОбластьШапка2 = Макет.ПолучитьОбласть("ДопШап");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка2");
    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    
    
    //1-й ВАРиАнТ
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос.Текст =  "ВЫБРАТЬ
                    |    ПоступлениеТоваровУслугТовары.Номенклатура,
                    |    ПоступлениеТоваровУслугТовары.Номенклатура.Код,
                    |    ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения,
                    |    ПоступлениеТоваровУслугТовары.ЕдиницаИзмерения.Код,
                    |    ПоступлениеТоваровУслугТовары.Количество,
                    |    ПоступлениеТоваровУслугТовары.Цена,
                    |    ПоступлениеТоваровУслугТовары.Сумма,
                    |    ПоступлениеТоваровУслугТовары.СчетУчетаБУ
                    |ИЗ
                    |    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
                    |ГДЕ
                    |    ПоступлениеТоваровУслугТовары.Ссылка = &ТекущийДокумент";
    
    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
//         //получаем код єтой ебаной Ед.Изм
//    ЗапросКод = Новый Запрос;
//    ЗапросКод.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
//    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
//    ЗапросКод.Текст =            
//    "ВЫБРАТЬ
//    |    КлассификаторЕдиницИзмерения.Код
//    |ИЗ
//    |    Справочник.КлассификаторЕдиницИзмерения КАК КлассификаторЕдиницИзмерения
//    |ГДЕ
//    |    КлассификаторЕдиницИзмерения.Код = &Ссылка";
//      РезультатЗапросаКод = ЗапросКод.Выполнить();
//     Выборка = РезультатЗапросаКод.Выбрать();
//     Пока Выборка.Следующий() Цикл
//        ОбластьСтрока2.Параметры.КодН = Выборка.Код;
//        //ТабДок.Присоединить(ОбластьСтрока2);
//КонецЦикла;
     //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
    
    
    
    ТабДок.Вывести(ОбластьШапка);
    ТабДок.Вывести(ОбластьСтрока);
    
    Запрос1 = Новый Запрос;
    Запрос1.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект);
    Запрос1.Текст =
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    ПоступлениеТоваровУслугТовары.СчетУчетаБУ
    |ИЗ
    |    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    |ГДЕ
    |    ПоступлениеТоваровУслугТовары.Ссылка = &ТекущийДокумент";
    
    
    
    РезультатЗапроса1 = Запрос1.Выполнить();    
    ВыборкаДетальныеЗаписи1 = РезультатЗапроса1.Выбрать();
    Пока ВыборкаДетальныеЗаписи1.Следующий() Цикл
        ОбластьСч_ТЧ.Параметры.Счет = ВыборкаДетальныеЗаписи1.СчетУчетаБУ;
        ТабДок.Присоединить(ОбластьСч_ТЧ);
    КонецЦикла;
    

    
    ТабДок.Вывести(ОбластьШапка2);
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         ОбластьСтрока2 = Макет.ПолучитьОбласть("Строка2");
         ОбластьСтрока2.Параметры.Наименование = ВыборкаДетальныеЗаписи.Номенклатура;
         ОбластьСтрока2.Параметры.Номерноменклатуры = ВыборкаДетальныеЗаписи.НоменклатураКод;
         ОбластьСтрока2.Параметры.КодН = ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код;
         ОбластьСтрока2.Параметры.ЕдИзм = ВыборкаДетальныеЗаписи.ЕдиницаИзмерения;
         ОбластьСтрока2.Параметры.КолвоДок = ВыборкаДетальныеЗаписи.Количество;
         ОбластьСтрока2.Параметры.КолвоДок1 = ВыборкаДетальныеЗаписи.Количество;
         ОбластьСтрока2.Параметры.Цена = ВыборкаДетальныеЗаписи.Цена;
         ОбластьСтрока2.Параметры.Сумма = ВыборкаДетальныеЗаписи.Сумма;
         ТабДок.Вывести(ОбластьСтрока2);
    КонецЦикла;
    ОбластьПробел = Макет.ПолучитьОбласть("Пробел");
    ОбластьПробел.Параметры.СумДок = СсылкаНаОбъект.СуммаДокумента;
    ТабДок.Вывести(ОбластьПробел);
    ТабДок.Вывести(ОбластьПодвал);      
    Возврат ТабДок;
    
    
КонецФункции



 ! 

Правила: 8
 
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #149052 · Ответов: 5 · Просмотров: 2306
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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