Имя: Пароль:
1C
1С v8
Как програмно изменить реквизит документа.
,
0 Pashabosto
 
04.07.14
15:44
Пожалуйста помогите!!! Создал програмно "Договора контрагентов" в которых по группах выбирается покупатель это или поставщик. Но при выборе групп я создал документы для поставщиков как Основной покупатель, а для покупателя наоборот.
1 Wobland
 
04.07.14
15:44
чо?
2 Pashabosto
 
04.07.14
15:44
Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    Контрагенты.Ссылка КАК Контрагент,
    |    ДоговорыКонтрагентов.Ссылка КАК Договор
    |ИЗ
    |    Справочник.Контрагенты КАК Контрагенты
    |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
    |        ПО Контрагенты.Ссылка = ДоговорыКонтрагентов.Владелец.Ссылка
    |ГДЕ
    |    Контрагенты.ПометкаУдаления = ЛОЖЬ
    |    И Контрагенты.ЭтоГруппа = ЛОЖЬ
    |    И ДоговорыКонтрагентов.Ссылка ЕСТЬ NULL
    |    И Контрагенты.Ссылка В ИЕРАРХИИ(&Группа)
    |
    |УПОРЯДОЧИТЬ ПО
    |    Контрагент";
    Запрос.УстановитьПараметр("Группа", Група);
    Запрос.УстановитьПараметр("ПустойДоговор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
    Запрос.УстановитьПараметр("ПустойДоговор", Справочники.ДоговорыКонтрагентов.ПустаяСсылка());
    Результат = Запрос.Выполнить().Выбрать();
    //Результат.Свернуть("Контрагент", "Договор");
    
    Пока Результат.Следующий() Цикл
        
    Если ПоКупатель Тогда
        СпрКонтр = Результат.Контрагент.ПолучитьОбъект();
        СпрКонтр.Покупатель = Истина;
        СпрКонтр.Записать();
        
        НовыйДоговорПокуп = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
        НовыйДоговорПокуп.Наименование = "Основний(покупатель)";
        НовыйДоговорПокуп.НаименованиеДляПечати = "Основний(покупатель)";
        НовыйДоговорПокуп.Организация = Справочники.Организации.НайтиПоКоду("000000001");
        НовыйДоговорПокуп.Владелец = Результат.Контрагент;
        НовыйДоговорПокуп.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
        НовыйДоговорПокуп.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
        НовыйДоговорПокуп.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("980");
        НовыйДоговорПокуп.ВестиПоДокументамРасчетовСКонтрагентом = Истина;
        НовыйДоговорПокуп.ВестиПоДокументамРасчетовСКонтрагентомРегл = Истина;
        НовыйДоговорПокуп.ВидУсловийДоговора = Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий;
        НовыйДоговорПокуп.ОсновнаяСтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПокупателя;
        НовыйДоговорПокуп.СхемаНалоговогоУчета = Справочники.СхемыНалоговогоУчетаПоДоговорамКонтрагентов.ПоПервомуСобытию;
        НовыйДоговорПокуп.ВидДоговораПоГК = Справочники.ВидыДоговоровПоГК.НайтиПоКоду("00000000014");
        НовыйДоговорПокуп.ФормаРасчетов = "Оплата з поточного рахунку";
        Сообщить("Створено договір ""Покупки"" для контрагента " + Результат.Контрагент);
        НовыйДоговорПокуп.Записать();
        
        СпрКонтр = Результат.Контрагент.ПолучитьОбъект();
        СпрКонтр.ОсновнойДоговорКонтрагента = НовыйДоговорПокуп.Ссылка;
        СпрКонтр.Записать();
                
    Иначе
        СпрКонтр = Результат.Контрагент.ПолучитьОбъект();
        СпрКонтр.Поставщик = Истина;
        СпрКонтр.Записать();

        НовыйДоговорПостав = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
        НовыйДоговорПостав.Наименование = "Основний(поставщик)";
        НовыйДоговорПостав.НаименованиеДляПечати = "Основний поставщик)";
        НовыйДоговорПостав.Организация = Справочники.Организации.НайтиПоКоду("000000001");
        НовыйДоговорПостав.Владелец = Результат.Контрагент;
        НовыйДоговорПостав.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком;
        НовыйДоговорПостав.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
        НовыйДоговорПостав.ВалютаВзаиморасчетов = Справочники.Валюты.НайтиПоКоду("980");
        НовыйДоговорПостав.ВестиПоДокументамРасчетовСКонтрагентом = Истина;
        НовыйДоговорПостав.ВестиПоДокументамРасчетовСКонтрагентомРегл = Истина;
        НовыйДоговорПостав.ВидУсловийДоговора = Перечисления.ВидыУсловийДоговоровВзаиморасчетов.БезДополнительныхУсловий;
        НовыйДоговорПостав.ОсновнаяСтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаПоставщику;
        НовыйДоговорПостав.СхемаНалоговогоУчета = Справочники.СхемыНалоговогоУчетаПоДоговорамКонтрагентов.ПоПервомуСобытию;
        НовыйДоговорПостав.ВидДоговораПоГК = Справочники.ВидыДоговоровПоГК.Поставка;
        НовыйДоговорПостав.ФормаРасчетов = "Оплата з поточного рахунку";
        НовыйДоговорПостав.Записать();
        Сообщить("Створено договір ""Поставки"" для контрагента " + Результат.Контрагент);
        
        СпрКонтр = Результат.Контрагент.ПолучитьОбъект();
        СпрКонтр.ОсновнойДоговорКонтрагента = НовыйДоговорПостав.Ссылка;
        СпрКонтр.Записать();
    КонецЕсли;
    КонецЦикла;
3 Pashabosto
 
04.07.14
15:47
В обработке выбираются группа в какой все контрагенты покупатели и устанавливается им наименование Основной покупатель
4 Ринат-СПб
 
04.07.14
15:48
Просто перепутал что ли?
5 Pashabosto
 
04.07.14
15:48
Да
6 Wobland
 
04.07.14
15:48
(3) это хорошо или плохо?
7 Ринат-СПб
 
04.07.14
15:49
используй универсальную обработку, да переименуй созданные договоры
8 Wobland
 
04.07.14
15:49
а вопрос "как вернуть всё обратно?" будет, не?
9 Pashabosto
 
04.07.14
15:49
Плохо, обработка снова при записи не перезаписывает документ а создает новый.
10 Pashabosto
 
04.07.14
15:50
Подскажите какую универсальную.
11 Ринат-СПб
 
04.07.14
15:51
Групповая обработка справочников и документов
12 Ринат-СПб
 
04.07.14
15:52
делов на две минуты
13 Pashabosto
 
04.07.14
15:55
Где его скачать?
14 Ринат-СПб
 
04.07.14
15:55
(13) ыыы... у тебя что за конфа?
15 Pashabosto
 
04.07.14
15:56
Извените тупанул, уже нашол. Большое спасибо!!!)))
16 Pashabosto
 
04.07.14
16:00
Я не понимаю как это сделать(((
17 Wobland
 
04.07.14
16:03
(16) а русским языком можешь выразить? можно не литературно
18 Ринат-СПб
 
04.07.14
16:03
выбираешь справочник договоры
в отборе:
Владелец в группе ...
Наименование содержит ...

отбираешь
заходишь в настройки, ставишь галочку разрешить изменение реквизитов объекта (ругнеться, нажми ОК)

выбираешь действие "Изменить реквизит"
выбираешь наименование, пишешь новое наименование, выполнить
19 Ринат-СПб
 
04.07.14
16:04
Архивную копию сними, а то наворотишь еще :)
20 Йохохо
 
04.07.14
16:14
""Договора контрагентов" в которых по группах выбирается покупатель это или поставщик. Но при выборе групп я создал документы для поставщиков как Основной покупатель, а для покупателя наоборот."
- прочитай наоборот "аргентина манит негра"
- О_О негр манит аргентину?
21 Ринат-СПб
 
04.07.14
16:19
(20) да ладно...с бухами пообщаешься - не такое выдают :)

хоть и тема про реквизит документа, разбираем справочники :)