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

Хранилище

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

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



> Авто заполнение форм          
tepliymv Подменю пользователя
сообщение 08.04.10, 11:56
Сообщение #1

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

есть документ в 1С8.1 реализация товаров и услуг, при создании нового документа вид передачи устанавливается автоматически "со склада" , а мне необходимо что бы было "по тордеру".
Как это сделать ума не приложу везде копал и ничего пока не понял(((
заранее благодарен за помощь

Batchir Подменю пользователя
сообщение 08.04.10, 13:07
Сообщение #2

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Данный реквизит (я говорю ссылаясь на УТ) заполняется программно. При создании нового документа используется процедура общего модуля ЗаполнитьШапкуДокумента(), при вводе на основании - процедура ОбработкаЗаполнения() в модуле объекта. В пользовательском режиме параметр не настраивается.

tepliymv Подменю пользователя
сообщение 08.04.10, 13:30
Сообщение #3

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

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

tepliymv Подменю пользователя
сообщение 08.04.10, 14:02
Сообщение #4

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

смотрю на это и ничего не пойму...
Процедура ПриОткрытии()

    ПолучитьСерверТО().ПодключитьКлиента(ЭтаФорма);
    
    Если ЭтоНовый() Тогда

        ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета, "Продажа", ПараметрОбъектКопирования, ПараметрОснование);    
        ОбщегоНазначения.ЗаполнитьОбязательныеРеквизитыШапкиНовогоДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"));

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

    РаботаСДиалогами.ПроверитьВидПоступленияПередачи(ЭтотОбъект, ЭтаФорма);

    СтруктураКолонок = Новый Структура();

    // Установить колонки, видимостью которых пользователь управлять не может.
    СтруктураКолонок.Вставить("Номенклатура");
    СтруктураКолонок.Вставить("Количество");
    СтруктураКолонок.Вставить("Цена");
    СтруктураКолонок.Вставить("Сумма");
    СтруктураКолонок.Вставить("СпособСписанияОстаткаТоваров");
    СтруктураКолонок.Вставить("СчетУчетаБУ");
    СтруктураКолонок.Вставить("СхемаРеализации");
    СтруктураКолонок.Вставить("НалоговоеНазначение");
    СтруктураКолонок.Вставить("СтатьяПриростаУбылиЗапасов");

    // Установить ограничение - изменять видимоть колонок для таличной части
    // "Возвратная тара".
    ОбработкаТабличныхЧастей.УстановитьИзменятьВидимостьКолонокТабЧасти(мКолонкиВозвратнаяТара, СтруктураКолонок);

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

    // Установить колонки, видимостью которых пользователь управлять не может.
    СтруктураКолонок = Новый Структура();
    СтруктураКолонок.Вставить("Номенклатура");
    СтруктураКолонок.Вставить("Количество");
    СтруктураКолонок.Вставить("Сумма");
    СтруктураКолонок.Вставить("СхемаРеализации");
    СтруктураКолонок.Вставить("НалоговоеНазначение");

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

    // Вывести в заголовке формы вид операции.
    РаботаСДиалогами.УстановитьЗаголовокФормыДокумента(Строка(ВидОперации), ЭтотОбъект, ЭтаФорма);

    // Обновить содержание информационных строк.
    РаботаСДиалогами.СформироватьНадписьДолга(ДоговорКонтрагента, Сделка, ЭлементыФормы.ИнфНадписьДолга, Ссылка, Истина);
    УстановитьЗаголовкиПоДоговору();

    // Запомнить текущие значения реквизитов формы.
    мТекущаяДатаДокумента        = Дата;
    мТекущаяВалютаВзаиморасчетов = ДоговорКонтрагента.ВалютаВзаиморасчетов;
    мТекущаяСхемаНалогообложения = ОбщегоНазначения.ПолучитьСхемуНалогообложения(Дата,Организация);

    // Установить видимость колонок "ХарактеристикаНоменклатуры" и "СерияНоменклатуры"
    РаботаСДиалогами.УстановитьВидимостьХарактеристикиНоменклатуры(мКолонкиТовары);
    РаботаСДиалогами.УстановитьВидимостьСерииНоменклатуры(мКолонкиТовары);

    // Управление видимостью счетов
    ПоказыватьВДокументахСчетаУчета = УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(глЗначениеПеременной("глТекущийПользователь"), "ПоказыватьВДокументахСчетаУчета");
    ЭлементыФормы.ДействияФормы.Кнопки.ПоказатьСкрытьСчетаУчета.Пометка = ПоказыватьВДокументахСчетаУчета;
    
    РаботаСДиалогами.УстановитьВидимостьОбязательностьСклада(мКолонкиТовары, мКолонкиВозвратнаяТара, ЭлементыФормы.Склад, "Склад", мУказаниеСкладовВТЧ);

    //Запомним автоотметку поля шапки Склад
    мАвтоОтметкаСклада = ЭлементыФормы.Склад.АвтоОтметкаНезаполненного;
    
    РаботаСДиалогами.УстановитьВидимостьКолонкиЗаказ(ЭлементыФормы, ВидОперации, ДоговорКонтрагента, мКолонкиТовары, мКолонкиВозвратнаяТара, мКолонкиУслуги, мКолонкиДокументы, ЭлементыФормы.Сделка);
    
    // Установить видимость реквизитов и заголовков колонок.
    УстановитьВидимость();
    
    УстановитьВидимостьКонтроляВзаиморасчетов();
    
    УстановитьАвтоотметкуСклада();

    ЭлементыФормы.ОсновнаяПанель.Страницы.Услуги.Видимость = (ДоговорКонтрагента.ВидДоговора <> Перечисления.ВидыДоговоровКонтрагентов.СКомиссионером);

    ПриИзмененииВидаСклада();

    // установим доступность колонки "Цена" для редактирования
    мМожноМенятьЦенуВДокументе = УправлениеДопПравамиПользователей.РазрешитьРедактированиеЦенВДокументах();

    мКолонкиТовары.Цена.ЭлементУправления.ТолькоПросмотр                 = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиТовары.Сумма.ЭлементУправления.ТолькоПросмотр                = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиТовары.ПроцентСкидкиНаценки.ЭлементУправления.ТолькоПросмотр = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиТовары.СуммаНДС.ЭлементУправления.ТолькоПросмотр             = НЕ мМожноМенятьЦенуВДокументе;

    мКолонкиВозвратнаяТара.Цена.ЭлементУправления.ТолькоПросмотр         = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиВозвратнаяТара.Сумма.ЭлементУправления.ТолькоПросмотр        = НЕ мМожноМенятьЦенуВДокументе;

    мКолонкиУслуги.Цена.ЭлементУправления.ТолькоПросмотр                 = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиУслуги.ПроцентСкидкиНаценки.ЭлементУправления.ТолькоПросмотр = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиУслуги.Сумма.ЭлементУправления.ТолькоПросмотр                = НЕ мМожноМенятьЦенуВДокументе;
    мКолонкиУслуги.СуммаНДС.ЭлементУправления.ТолькоПросмотр             = НЕ мМожноМенятьЦенуВДокументе;

    // Установка текущей страницы
    Страницы = Новый СписокЗначений;
    Страницы.Добавить("Товары",                         "Товары");
    Страницы.Добавить("Тара",                           "ВозвратнаяТара");
    Страницы.Добавить("Услуги",                         "Услуги");
    Страницы.Добавить("ДокументыРасчетовСКонтрагентом", "ДокументыРасчетовСКонтрагентом");
    РаботаСДиалогами.УстановкаТекущейСтраницы(ЭтотОбъект, ЭлементыФормы.ОсновнаяПанель, Страницы,);
    
    // Установить активный реквизит.
    РаботаСДиалогами.АктивизироватьРеквизитВФорме(ЭтотОбъект, ЭтаФорма);

    // Сохраним текущее значение сделки
    мСтароеЗначениеСделки = Сделка;
    мСтароеЗначениеСклада = Склад;

    РаботаСДиалогами.УстановитьДоступностьКнопкиЗаполнитьИзТерминалаСбораДанных(ЭтаФорма, мТерминалы);
    РаботаСДиалогами.УстановитьДоступностьМенюПроверить(ЭтаФорма);

    РаботаСДиалогами.УстановитьДоступностьКнопкиСерийныеНомера(ЭлементыФормы.КоманднаяПанельТовары.Кнопки);

    ЭтаФорма.ПодключитьОбработчикИзмененияДанных("ВидПередачи"                 , "ОбработчикИзмененияДанных");
    ЭтаФорма.ПодключитьОбработчикИзмененияДанных("ОтражатьВУправленческомУчете", "ОбработчикИзмененияДанных");

КонецПроцедуры // ПриОткрытии()

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

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Вам нужно найти в ПриОткрытии()

ЗаполнениеДокументов.ЗаполнитьШапкуДокумента(ЭтотОбъект, глЗначениеПеременной("глТекущийПользователь"), мВалютаРегламентированногоУчета, "Продажа", ПараметрОбъектКопирования, ПараметрОснование);


Сначала перед кодом написать что-то типа этого

ВидПередачи = Перечисления.ВидыПередачиТоваров.ПоОрдеру;


Обновить БД и перезапустьить 1С предприятие.
Если не поможет, то вставить этот код после выполнения ЗаполнитьШапкуДокумента

Если и это не поможет, то сообщите конфигурацию и релиз, тогда будет яснее.

capitoshko Подменю пользователя
сообщение 25.04.10, 23:27
Сообщение #6

Говорящий
***
Группа: Пользователи
Сообщений: 65
Спасибо сказали: 6 раз
Рейтинг: 0

Цитата(tepliymv @ 08.04.10, 13:56) *
есть документ в 1С8.1 реализация товаров и услуг, при создании нового документа вид передачи устанавливается автоматически "со склада" , а мне необходимо что бы было "по тордеру".
Как это сделать ума не приложу везде копал и ничего пока не понял(((
заранее благодарен за помощь


є така процедура при відкритті форми - в ній це і прописується - ПриОткрытии()

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


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

 

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