8.х застрял на простой вещи в работе с тз

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Raideres, 8 авг 2018.

  1. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    468
    Симпатии:
    1
    Баллы:
    29
    Перебор тз в цикле и вывод строк вроде все просто.

    ПП=0;
    ВсегоСум = 0;
    ИтСум = 0;
    Для Каждого Стр Из ТЗ.Услуги Цикл
    ПП=ПП+1;
    Строка.Параметры.Н = ПП;
    Строка.Параметры.Усл = Стр.Номенклатура;
    Строка.Параметры.Кол = Стр.Количество;
    Строка.Параметры.Цена = Стр.Цена;
    Строка.Параметры.Сум = Стр.Сумма;
    ИтСум = ИтСум + Стр.Сумма;
    ТабДокумент.Вывести(Строка);
    КонецЦикла;


    Дальше хочу чтобы в переборе я находил
    если стр = справочники.номенклатура.найтипокоду() тогда

    Если я ее нашел то каким то образом я должен ее подменить на другие 2,3 номенклатуры и так же вывести.

    Как такое реализовать? (вроде тупость а чтот застрял)
    Последнее редактирование: 8 авг 2018
  2. Briz
    Offline

    Briz Опытный в 1С

    Регистрация:
    9 апр 2013
    Сообщения:
    55
    Симпатии:
    6
    Баллы:
    29
    ПП=0;
    ВсегоСум = 0;
    ИтСум = 0;
    ЗамНоменклатура = Справочники.Номенклатура.НайтиПоКоду("ЗН");
    НужнаяНоменклатура = Справочники.Номенклатура.НайтиПоКоду("НН");
    Для Каждого Стр Из ТЗ.Услуги Цикл
    ПП=ПП+1;
    Строка.Параметры.Н = ПП;
    Строка.Параметры.Усл = ?(Стр.Номенклатура = НужнаяНоменклатура, ЗамНоменклатура, Стр.Номенклатура);
    Строка.Параметры.Кол = Стр.Количество;
    Строка.Параметры.Цена = Стр.Цена;
    Строка.Параметры.Сум = Стр.Сумма;
    ИтСум = ИтСум + Стр.Сумма;
    ТабДокумент.Вывести(Строка);
    КонецЦикла;
  3. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    468
    Симпатии:
    1
    Баллы:
    29
    мб не правильно выразился 1 нужную надо заменить сразу допустим на 10 строк
    тоесть к тз которая есть добавить 10 строк с номенклатурой
    например даже если не заменяя а просто прибавляя
    услугаОсн состоит из (ус1,ус2,ус3,ус4)
    в макете вывожу таблицу
    Наименование Кол-во Цена Сумма
    услугаОсн = кол-во 1 цена 1000 1000
    ус1 = кол-во 1 цена 0 0
    ус2 = кол-во 1 цена 0 0
    ус3 = кол-во 1 цена 0 0
    ус4 = кол-во 1 цена 0 0
    Последнее редактирование: 8 авг 2018
  4. TopicStarter Overlay
    Raideres
    Offline

    Raideres Опытный в 1С

    Регистрация:
    9 фев 2016
    Сообщения:
    468
    Симпатии:
    1
    Баллы:
    29
    а если вот так ????????
    ПП=0;
    ВсегоСум = 0;
    ИтСум = 0;
    ТЗ = список нужной номенклатуры которые нужно вывести;
    Для Каждого Стр Из ТЗ.Услуги Цикл


    ПП=ПП+1;
    Строка.Параметры.Н = ПП;
    Строка.Параметры.Усл = ?(Стр.Номенклатура = НужнаяНоменклатура, ЗамНоменклатура, Стр.Номенклатура);
    Строка.Параметры.Кол = Стр.Количество;
    Строка.Параметры.Цена = Стр.Цена;
    Строка.Параметры.Сум = Стр.Сумма;
    ИтСум = ИтСум + Стр.Сумма;
    ТабДокумент.Вывести(Строка);

    если стр = Справочники.Номенклатура.НайтиПоКоду("") тогда
    для каждого стр из ТЗ цикл

    ПП=ПП+1;
    Строка.Параметры.Н = ПП;
    Строка.Параметры.Усл = Стр.Номенклатура;
    Строка.Параметры.Кол = 1;
    Строка.Параметры.Цена = 0;
    Строка.Параметры.Сум = 0;
    ИтСум = ИтСум + 0;
    ТабДокумент.Вывести(Строка);
    КонецЦикла;
    конецесли;

    КонецЦикла;
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.222
    Симпатии:
    961
    Баллы:
    204
    Ничего не понятно. Что значит заменить одну номенклатуру другой в тз? Что значит добавить номенклатуру в тз?

    В чем сложность получить сразу готовую тз и выводить ее без извращений?
  6. Briz
    Offline

    Briz Опытный в 1С

    Регистрация:
    9 апр 2013
    Сообщения:
    55
    Симпатии:
    6
    Баллы:
    29
    Это наборы что ли.??
    тогда проверяй, реквизит номенклатуры...

    ПП=0;
    ВсегоСум = 0;
    ИтСум = 0;
    ЗамНоменклатура = Справочники.Номенклатура.НайтиПоКоду("ЗН");
    НужнаяНоменклатура = Справочники.Номенклатура.НайтиПоКоду("НН");
    Для Каждого Стр Из ТЗ.Услуги Цикл
    ПП=ПП+1;
    Строка.Параметры.Н = ПП;
    Если Стр.Номенклатура.Набор Тогда
    ВыборкаНабора = Стр.Номенклатура.СоставНабора.Выбрать();
    Для каждого Элемент Из ВыборкаНабора Цикл
    Строка.Параметры.Усл = Элемент.Номенклатура;
    Строка.Параметры.Кол = Стр.Количество;
    Строка.Параметры.Цена = 0; //можно поискать
    Строка.Параметры.Сум = 0; //можно ТОЖЕ поискать
    ИтСум = ИтСум + 0;
    ТабДокумент.Вывести(Строка);
    КонецЦикла;
    Иначе
    Строка.Параметры.Усл = Стр.Номенклатура;
    Строка.Параметры.Кол = Стр.Количество;
    Строка.Параметры.Цена = Стр.Цена;
    Строка.Параметры.Сум = Стр.Сумма;
    ИтСум = ИтСум + Стр.Сумма;
    ТабДокумент.Вывести(Строка);
    КонецЕсли;
    КонецЦикла;
  7. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    520
    Симпатии:
    83
    Баллы:
    54
    Если я правильно понимаю, нужно из одной номенклатуры сделать несколько строк с другими номенклатурами?
    Тогда группу номенклатур можно записать в массив, потом делать проверку на требуемую номенклатуру, если истина, то выводить весь массив по индексу. Вот только мне непонятно, как Вы будете разбираться с ценой, количеством и суммой?

Поделиться этой страницей