Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

БП2 - есть возможность пересчитать ТЧ документа...?

БП2 - есть возможность пересчитать ТЧ документа...?
Я
   Злопчинский
 
19.01.18 - 21:33
Документ "Отражение начисления НДС", введенный на основании нулевой реализации (в которой указаны количество, цена, ставка НДС, суммы - не указаны) - док "Отражение начисления НДС" - заполнился количество и цена, ставка НДС - есть ли какой-то инструмент чтобы пересчитать ТЧ чтобы автоматом посчитались сумма и сумма НДС...?

Спсб.
 
 
   МимохожийОднако
 
1 - 19.01.18 - 21:36
В общем модуле пересчета табличных частей можно поискать подобные процедуры
   Злопчинский
 
2 - 19.01.18 - 21:49
(1) нет. пользовательски. типа как в 77 - изменить спецификацию - изменить - количество - на... передернул +-1 посчиталось (или наценку 0%)
   Злопчинский
 
3 - 19.01.18 - 21:51
.. или может каким-то другим хитрым способом в БП2?
   Злопчинский
 
4 - 19.01.18 - 21:57
наверное, вот эта подойдет...
http://catalog.mista.ru/public/83071/
   Злопчинский
 
5 - 19.01.18 - 22:06
еще упоминается  "...типовую "Обработку табличной части Товары" - это что за штука, что желает?
   Злопчинский
 
6 - 19.01.18 - 22:07
или может можно сделать такое (нашел упоминание типовой) "групповая обработка справочников и документов"
   Злопчинский
 
7 - 19.01.18 - 22:38
Взял пару обработко с Инфостарта.. посмотрим завтра...
   Михаил Козлов
 
8 - 19.01.18 - 23:58
Можно УниверсальныйПодборИОбработкаОбъектов с произвольным алгоритмом.
Но сам код пересчета написать нужно (цикл по строкам ТЧ с вызовом процедуры общего модуля см. (1)).
   Злопчинский
 
9 - 20.01.18 - 15:05
(8) ни, я - пользователь...
   nordbox
 
10 - 20.01.18 - 15:17
Не знаю как в БП 2,но вот если посмотреть УТ 10.3 моно в доках увидеть кнопочку Именить, допилить туда немного кода и будет счасть
 
 Рекламное место пустует
   Злопчинский
 
11 - 20.01.18 - 15:23
(10) все что связано с кодом - нафиг. максимум осилю как нибудь штатно подключить внешние обработки или использовать штатное чтонить
   МимохожийОднако
 
12 - 20.01.18 - 15:36
Например,
Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта)Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ТЧ.Номенклатура,
        |    ТЧ.Счет,
        |    СУММА(ТЧ.Количество) КАК Количество,
        |    СУММА(ЕСТЬNULL(Остатки.КоличествоОстаток, 0)) КАК КоличествоОстаток,
        |    ТЧ.Ссылка
        |ИЗ
        |    (ВЫБРАТЬ
        |        ТребованиеНакладнаяМатериалы.Номенклатура КАК Номенклатура,
        |        ТребованиеНакладнаяМатериалы.Счет КАК Счет,
        |        СУММА(ТребованиеНакладнаяМатериалы.Количество) КАК Количество,
        |        ТребованиеНакладнаяМатериалы.Ссылка КАК Ссылка
        |    ИЗ
        |        Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
        |    
        |    СГРУППИРОВАТЬ ПО
        |        ТребованиеНакладнаяМатериалы.Номенклатура,
        |        ТребованиеНакладнаяМатериалы.Счет,
        |        ТребованиеНакладнаяМатериалы.Ссылка) КАК ТЧ
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки(&МоментВремени, , , ) КАК Остатки
        |        ПО ТЧ.Номенклатура = Остатки.Субконто1
        |            И ТЧ.Счет = Остатки.Счет
        |ГДЕ
        |    ТЧ.Ссылка = &Ссылка
        |
        |СГРУППИРОВАТЬ ПО
        |    ТЧ.Номенклатура,
        |    ТЧ.Счет,
        |    ТЧ.Ссылка";

    Запрос.УстановитьПараметр("МоментВремени", Объект.МоментВремени());
    Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();
    ОчиститьСообщения();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        //Сообщить(""+ВыборкаДетальныеЗаписи.Номенклатура+" "+ВыборкаДетальныеЗаписи.Количество

        //+" "+ВыборкаДетальныеЗаписи.Счет+" Остаток:"+ВыборкаДетальныеЗаписи.КоличествоОстаток);

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

////////////

В макете Параметры_Авторегистрации
Документы.ТребованиеНакладная    Материалы
//

И делай что хочешь в обработке для обработки табличных частей
   Злопчинский
 
13 - 20.01.18 - 16:07
(12) 1. я тебя затрахаю кучей вопросов куда это вставлять икакие кнопочки жать и прочее ламерское
2. НайденнаяСтрока.Количество = Чтото
- а где пересчет по строке при изменении количества?
   МимохожийОднако
 
14 - 20.01.18 - 16:37
Лучше почитай https://its.1c.ru/db/metod8dev#content:4259:hdoc:_top:подключение%20внешних%20обработок
Добавь для удобства отладки форму
с реквизитом СсылкаДок и добавь в нее команду с вызовом процедуры Инициализировать()
Всё, что внутри этой процедуры дело твоих рук и фантации
   МимохожийОднако
 
15 - 20.01.18 - 16:37
*фантазии
   Злопчинский
 
16 - 20.01.18 - 18:45
ну вроде первая из найденных более-менее, единсвенное не получилось заставить ее пересчитывать строку при изменениях, но тут пока некритично
   Злопчинский
 
17 - 21.01.18 - 18:05
Доков много оказалось.
Муторно.
Можно ли воспользоваться ИИнстументамиРазработчика? Но без программирования всяких запросов консолей и выборок?
Отобрать перечень документов - на крайняк даже вручную, далее указать что для э ого перечня обработать ТЧ Товары и в них тупо заполнить конкретными значениями реквизитов нужные  колонки?
   Злопчинский
 
18 - 21.01.18 - 20:12
У.. Млин... Ни одного специалиста...
   Михаил Козлов
 
19 - 22.01.18 - 14:59
(18) Для ОФ я часто пользовался как написано в (8). Чтобы не плодить обработки.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует