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

Хранилище

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

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



> Сформировать ЗаказПоставщику из Табличной Части , ТЧ находить на форме и заполняется из документа: ЗаказПокупателя.          
DmitriiKr Подменю пользователя
сообщение 16.11.20, 11:00
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Доброго времени суток.

Для каждого СтрТЧ Из ТЧ Цикл
        
        ДокументЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
        
        ДокументЗаказПоставщику.Дата = ТекущаяДата();
        ДокументЗаказПоставщику.Контрагент = СтрТЧ.Номенклатура.Поставщик;
        ДокументЗаказПоставщику.Склад = Склад;
        
        НоваяСтрокаТЧДокумента = ДокументЗаказПоставщику.Товары.Добавить();
        НоваяСтрокаТЧДокумента.Номенклатура = СтрТЧ.Номенклатура;
        НоваяСтрокаТЧДокумента.Количество = СтрТЧ.КупитьНужно;
        НоваяСтрокаТЧДокумента.Сумма = СтрТЧ.ЦенаЗакупки;
        
        ДокументЗаказПоставщику.Записать();
        
        ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.ОтменаПроведения);
        
        Сообщить("Создан документ: заказ поставщику " + СтрТЧ.Номенклатура.Поставщик + " на товар " + СтрТЧ.Номенклатура + " в количестве " + СтрТЧ.КупитьНужно + " шт.");
        
        Элементы.СозданиеЗаказаПотавщику.Доступность = Ложь;
        
        
    КонецЦикла;



Этот код просто берет значения которые указаны в ТЧ на форме (в обработке), данные на форме получаются из документа:ЗаказПокупателя за определенный период.



Так вот застрял на том: В Табличной части есть несколько номенклатурой с одним и темже поставщиком.
Как сделать так чтобы заказПоставщику формировался по дному поставщику с несколькими номенклатурами.

sava1 Подменю пользователя
сообщение 16.11.20, 11:17
Сообщение #2

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

выборку по ТЧ источника группируем по Контрагент-Номенклатура
обходим ее и для каждого контрагента создаем свой документ

DmitriiKr Подменю пользователя
сообщение 16.11.20, 11:19
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

А можно пример кода.

Я пробовал метод свернуть, не получилось. сварачивается только колонка поставщик, а все остальные колонки пустые

sava1 Подменю пользователя
сообщение 16.11.20, 11:32
Сообщение #4

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

написать выборку из ТЧ с конструкцией ИТОГИ ?

бросьте программирование...

DmitriiKr Подменю пользователя
сообщение 16.11.20, 11:38
Сообщение #5

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

Я вот не понимаю, за чем так реагировать...

Я понимаю что вопрос может и простой, но для новичка он может быть и не простым.
Натолкнуть и какой нибудь пример написать на мой взгляд это было бы правильно.

sava1 Подменю пользователя
сообщение 16.11.20, 12:07
Сообщение #6

Живет на форуме
Иконка группы
Группа: Местный
Сообщений: 2684
Из: Проскуров
Спасибо сказали: 678 раз
Рейтинг: 656.7

типо так - для творческого осмысления / писАл без помощников /

тз  =тч.Выгрузить();
запрос = новый Запрос;
запрос.УстановитьПараметр("тз",тз);
запрос.текст = "
ВЫБРАТЬ * ПОМЕСТИТЬ тВр ИЗ &тз как тз;

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

      КонецЦикла;

      ... тут записываем документ

КонецЦикла;


Сообщение отредактировал sava1 - 16.11.20, 12:07

DmitriiKr Подменю пользователя
сообщение 16.11.20, 13:15
Сообщение #7

Молчаливый
*
Группа: Пользователи
Сообщений: 4
Спасибо сказали: 0 раз
Рейтинг: 0

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



Вот так вот получилось.



Спасибо всем

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


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

 

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