Форум программистов, компьютерный форум, киберфорум
Наши страницы
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
Deodatus
0 / 0 / 2
Регистрация: 04.08.2013
Сообщений: 83
#1

Программное создание документа

03.04.2014, 14:42. Просмотров 1466. Ответов 3
Метки нет (Все метки)

В общем необходимо было в ТЧ обработки выгрузить данные по номенклатуре из Реализации Т и У потом создать новый документ ПоступлениеТоваровИУслуг в котором в ТЧ должна быть эта номенклатура...вот код:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Процедура КнопкаВыполнитьНажатие(Кнопка)
    
    МенеджерВТ = Новый МенеджерВременныхТаблиц;
    Запрос1 = Новый Запрос;
    Запрос1.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос1.Текст = 
        "ВЫБРАТЬ
        |   РеализацияТоваровУслугТовары.Номенклатура,
        |   РеализацияТоваровУслугТовары.Цена,
        |   РеализацияТоваровУслугТовары.Количество,
        |   РеализацияТоваровУслугТовары.Ссылка
        |ПОМЕСТИТЬ СписокНоменклатуры
        |ИЗ
        |   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары";
 
    Запрос1.Выполнить();
 
    Запрос2 = Новый Запрос;
    Запрос2.МенеджерВременныхТаблиц=МенеджерВТ;
    Запрос2.Текст = 
        "ВЫБРАТЬ
        |   СписокНоменклатуры.Ссылка,
        |   СписокНоменклатуры.Номенклатура,
        |   СписокНоменклатуры.Цена,
        |   СписокНоменклатуры.Количество
        |ИЗ
        |   СписокНоменклатуры КАК СписокНоменклатуры";
 
    Результат = Запрос2.Выполнить().Выгрузить();
 
    Док.Загрузить(Результат);
    
        Запрос3 = Новый Запрос();
        Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
        Запрос3.Текст="ВЫБРАТЬ
                      | СписокНоменклатуры.Номенклатура,
                      | СРЕДНЕЕ(СписокНоменклатуры.Цена) КАК Цена,
                      | СУММА(СписокНоменклатуры.Количество) КАК Количество
                      |ИЗ
                      | СписокНоменклатуры КАК СписокНоменклатуры
                      |
                      |СГРУППИРОВАТЬ ПО
                      | СписокНоменклатуры.Номенклатура
                      |
                      |УПОРЯДОЧИТЬ ПО
                      | Количество";
                      
        Результат = Запрос3.Выполнить();
        Если ДобавлениеПриходной(Результат.Выбрать())=0 Тогда
            
                Сообщить("Запись приходной не удалась.");
            Иначе
                Сообщить("Документ добавлен успешно.");
        КонецЕсли;
        
 
КонецПроцедуры
 
&НаСервере
Функция ДобавлениеПриходной(Выборка)
    
НоваяПриходная = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
НоваяПриходная.Дата = ТекущаяДата();
НоваяПриходная.УстановитьВремя();
НоваяПриходная.УстановитьНовыйНомер();
        
    Пока Выборка.Следующий() Цикл
            
        СтрокаТЧ = НоваяПриходная.Товары.Добавить();
        СтрокаТЧ.Номенклатура = Выборка.Номенклатура;
        СтрокаТЧ.Цена = Выборка.Цена;
        СтрокаТЧ.Количество = Выборка.Количество;
        СтрокаТЧ.Сумма = Выборка.Цена * Выборка.Количество;
        
    КонецЦикла;
        
    Попытка
        НоваяПриходная.Записать();
        
        Возврат 1;
    Исключение
        Возврат 0;
    КонецПопытки;
    
КонецФункции
Попытка говорит что запись прошла успешно, но новый документ не отображается почему-то. Это все в бух .В чем может быть проблема? Заранее спасибо.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.04.2014, 14:42
Ответы с готовыми решениями:

Программное создание документа Требование-накладная
доброго утра ! создаю программно требование-накладную на основании документа...

Программное создание документа Приходная накладная
так навскидку может кто скажет... создал программно документ Приходная...

1с УТ 10.3. Создание документа на основании при проведении другого документа. Реализация механизма перепроведения.
Доброго времени суток, задача стояла при проведении одного документа1,...

Программное создание счета на оплату в БП 3.0
Дорабатываю конфигурацию. Есть документ, где пользователь выбирает данные(тип,...

Программное создание таблицы Ворд
Всем добрый день! 1С документооборот 2.0 Такой вопрос - программно создана...

3
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
03.04.2014, 22:48 #2
Deodatus, а где он должен отобразиться?
1
duk337
2948 / 1760 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
03.04.2014, 22:48 #3
Лучший ответ Сообщение было отмечено Deodatus как решение

Решение

ну попробуйте
1C
1
НоваяПриходная.ПолучитьФорму().Открыть();
1
Deodatus
0 / 0 / 2
Регистрация: 04.08.2013
Сообщений: 83
03.04.2014, 22:59  [ТС] #4
duk337,
о, спасибо)) открыло заполненную форму) не записывалась потому-что не все поля заполнены (хотя в свойствах реквизита не было проверки заполнения, наверное в модуле бухии проверка)

Добавлено через 1 минуту
Dethmontt,
да в типовой бухии, в списке документов ПоступлениеТоваровУслуг
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2014, 22:59

Программное создание и проведение документов поступлений
Привет всем, требуется помощь с программным проведением документа. Ситуация...

Программное создание декорации и разрешение перетаскивания
Добрый день. Проблема такая: Я программно создаю на форме декорацию с видом...

1С Программное создание таблицы на новой странице
Здравствуйте. Подскажите почему не хочет исполнятся желаемое....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru