|
Обработка проведения | ☑ | ||
---|---|---|---|---|
0
karisha
20.10.11
✎
14:50
|
Доброе время суток всем.
У меня вопрос по поводу проведения по рег.бухгалтерии: как можно сгруппировать проводки? Первая проводка: СчетДт=XXX - СчетКт=YYY - Сумма=1000 Вторая проводка идентичная: СчетДт=XXX - СчетКт=YYY - Сумма=1000 Мне нужно: СчетДт=XXX - СчетКт=YYY - Сумма=2000 Вот код: Для каждого СтрокаТЧ из ТаблицаНоменклатура Цикл Проводки = Движения.РегистрОсновногоПланаСчетов; Проводка = Проводки.Добавить(); Проводка.Период = Дата; Проводка.Организация = Организация; Проводка.Содержание = "НДС с продаж"; Проводка.СчетДт = СчетУчетаКонтрагента; Проводка.СубконтоДт[СчетУчетаКонтрагента.ВидыСубконто[0].ВидСубконто] = Контрагент; Проводка.СубконтоДт[СчетУчетаКонтрагента.ВидыСубконто[1].ВидСубконто] = ДоговорКонтрагента; Проводка.СчетКт = СтрокаТЧ.СчетУчетаНДС; Проводка.СубконтоКт[СтрокаТЧ.СчетУчетаНДС.ВидыСубконто[0].ВидСубконто] = СтрокаТЧ.СтавкаНДС; Проводка.Сумма = СтрокаТЧ.СуммаНДС; Проводки.Записать(); КонецЦикла; |
|||
1
lubja
20.10.11
✎
14:57
|
запросом выбрать нужные данные, сгруппировать и уже проходиться по результату запроса...
|
|||
2
Starhan
20.10.11
✎
14:58
|
вариант 1.
Сгруппировать таблицу в запросе, по интересующим тебя полям группировки. И обходить ее. Вариант 2. Выгрузить ТЧ в ТЗ использовать метод свернуть() Обойти полученную таблицу |
|||
3
Irbis
20.10.11
✎
14:59
|
Выгружай движения в ТЗ и сворачивай, потом обратно, причем можно сделать в модуле набора записей, чтобы всем документам не прописывать такое
|
|||
4
karisha
20.10.11
✎
15:01
|
ТЗ - ТаблицаНоменклатура.
Свернуть() - покажите простой пример. Спасибо. |
|||
5
Irbis
20.10.11
✎
15:02
|
РегистрБухгалтерииНаборЗаписей.<Имя регистра бухгалтерии> (AccountingRegisterRecordSet.<Имя регистра бухгалтерии>)
Выгрузить (Unload) Синтаксис: Выгрузить(<Строки>, <Колонки>) Параметры: <Строки> (необязательный) Тип: Массив. Массив строк для выгрузки. Если не указан, выгружаются все строки набора записей. <Колонки> (необязательный) Тип: Строка. Список колонок для выгрузки в формате: "Колонка1, Колонка2...". Если список не задан, то будут выгружены все колонки. Возвращаемое значение: Тип: ТаблицаЗначений. Описание: Создает таблицу значений и копирует в нее записи набора. Структура полученной таблицы совпадает со структурой набора записей. Значения субконто выгружаются вместе с видами субконто. Для каждого субконто создается пара колонок с идентификаторами вида ВидСубконто<Номер>, Субконто<Номер>, для регистра не поддерживающего корреспонденцию, и ВидСубконтоДт<Номер>, СубконтоДт<Номер>, ВидСубконтоКт<Номер>, СубконтоКт<Номер>, для регистра поддерживающего корреспонденцию. При этом номера <Номер> могут не совпадать с номерами видов субконто на соответствующем счете. Пример: Рег = РегистрыБухгалтерии.Хозрасчетный; НаборЗаписей = Рег.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Документ.Значение = Ссылка; ОсновныеДанные = НаборЗаписей.Выгрузить(); |
|||
6
karisha
20.10.11
✎
15:03
|
Всё понял и нашёл. Спасибо
|
|||
7
Starhan
20.10.11
✎
15:05
|
1. Ахтунг
2. Прочитай Радченко. |
|||
8
Starhan
20.10.11
✎
15:06
|
ТЗ = Таблица значений, общепринятое сокращение в 1С.
|
|||
9
karisha
22.10.11
✎
12:21
|
(2) C первым вариантом разобрался, но хотелось бы понять второй
Вот код: ТаблицаПоНоменклатуре = РезультатЗапросаПоНоменклатуре.Выгрузить(); ТаблицаПоНоменклатуре.Свернуть("Номенклатура,ЕдиницаИзмерения,СтавкаНДС,Сумма,СуммаНДС,СчетУчета,СчетУчетаНДС,СчетУчетаРасходов,СчетУчетаДоходов,СтатьяЗатрат"); Для каждого стр из ТаблицаПоНоменклатуре Цикл Проводка = Проводки.Добавить(); Проводка.Период = Дата; Проводка.Организация = СтруктураШапкиДокумента.Организация; Проводка.Содержание = "Реализация, продажа товаров"; Проводка.СчетДт = СтруктураШапкиДокумента.СчетУчетаКонтрагента; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Контрагенты", СтруктураШапкиДокумента.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетДт, Проводка.СубконтоДт, "Договора", СтруктураШапкиДокумента.ДоговорКонтрагента); Проводка.СчетКт = стр.СчетУчетаДоходов; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт,"СтавкиНДС", стр.СтавкаНДС); Проводка.Сумма = стр.Сумма; КонецЦикла; Но в результате та же самая история. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |