![]() |
![]() |
![]() |
|
БП2 - есть возможность пересчитать ТЧ документа...? | ☑ | ||
---|---|---|---|---|
0
Злопчинский
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) ни, я - пользователь...
|
|||
10
nordbox
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). Чтобы не плодить обработки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |