|
Добавить колонку в таблицу значений | ☑ | ||
---|---|---|---|---|
0
shadow1337
10.10.19
✎
19:32
|
У меня есть таблица значений, в которой есть колонка "Остаток"
Я заношу ее в переменную следующей строкой: [code]ТЗОстаткиERP_1024 = РаботаСВнешнейБД.ПолучитьТЗОстаткиERPПоВсемИзделиям("1024");[/code] [img]http://ipic.su/img/img7/fs/TablicaZnachenij.1570724651.png[/img] Через цикл в ИтоговуюТаблицуЗначений передаются остатки из разных складов. Мне нужно из колонки (столбца) "Остаток" таблицы значений ТЗОстаткиERP_1024 передать все эти значения в ИтоговуюТаблицуЗначений в качестве еще одного столбца. Говоря проще, добавить еще один столбец с остатками: [code] ФайлСОстатками.ДобавитьСтроку("Название;Производитель;Артикул;Свободный остаток(Ставрополь);Свободный остаток(Ростов);Свободный остаток(Тверь);Свободный остаток(Самара)"); Для Каждого Строка ИЗ ИтоговаяТаблицаЗначений Цикл ФайлСОстатками.ДобавитьСтроку(Строка.Название + ";" + Строка.Производитель + ";" + Строка.Артикул + ";" + ?(Строка.СвободныйОстаток <> Неопределено, Формат(Строка.СвободныйОстаток, "ЧДЦ=0; ЧГ=0"), Формат(0,"ЧДЦ=2; ЧРД=.; ЧН=; ЧГ=0")) + ";" + ?(Строка.СвободныйОстатокРостов <> Неопределено, Формат(Строка.СвободныйОстатокРостов, "ЧДЦ=0; ЧГ=0"), Формат(0,"ЧДЦ=2; ЧРД=.; ЧН=; ЧГ=0")) + ";" + ?(Строка.СвободныйОстатокТверь <> Неопределено, Формат(Строка.СвободныйОстатокТверь, "ЧДЦ=0; ЧГ=0"), Формат(0,"ЧДЦ=2; ЧРД=.; ЧН=; ЧГ=0")) + ";" + ?(Строка.СвободныйОстатокСамара <> Неопределено, Формат(Строка.СвободныйОстатокСамара, "ЧДЦ=0; ЧГ=0"), Формат(0,"ЧДЦ=2; ЧРД=.; ЧН=; ЧГ=0"))); КонецЦикла; КонецЕсли; [/code] |
|||
1
Волшебник
10.10.19
✎
19:45
|
говнокод детектед.
|
|||
2
palsergeich
10.10.19
✎
20:05
|
Ужас какой
|
|||
3
shadow1337
10.10.19
✎
20:12
|
А можно по делу то?) Как передать столбец из одной таблицы в другую?
|
|||
4
Волшебник
10.10.19
✎
20:25
|
(3) тут вам не Excel
|
|||
5
shadow1337
10.10.19
✎
21:01
|
Это понятное дело, но у меня итоговая таблица значений, кстати, как раз в эксель выгружается. Какие функции/методы/свойства я могу использовать, чтобы получить данные из ТЗОстаткиERP_1024 и потом в цикле внести в Итоговую?
|
|||
6
Lexandr
10.10.19
✎
22:21
|
Вспомнил свои первые обработки, вот уж где было альтернативное программирование. Добрее надо быть. Ну если прям вот по научному и нельзя получить остатки со всех складов одним запросом, то соединения таблиц значений лучше делать в запросе. Помещаешь все ТЗ в один запрос( гугл в помощь или любой учебник по 1С), там делаешь левое соединение к основной таблице, не забывая использовать ЕстьNULL(СвободныйОстатокТверь,0) и вот тебе на выходе красивая ТЗ со всеми остатками, ну а дальше снова гугл и смотришь, как выгрузить ТЗ в эксель файл легко и просто.
|
|||
7
shadow1337
10.10.19
✎
23:47
|
Никогда не делал запросы, совсем новичок еще, не посоветуете что погуглить?)
И еще мне тут подсказали, что есть метод ВыгрузитьКолонку и еще Свернуть. Может что то с помощью них можно придумать? Или там выгрузить в массив данные и оттуда в другую таблицу? |
|||
8
Glavkomnn
10.10.19
✎
23:55
|
фееричный пример, но согласно вопросу
посмотри как я наспех делал добавление строк к таблице недавно //сумма всех процентов для определения поправочного коэффициента для разбиения строки страховых взносов на четыре СуммаКоэф = 22+2.9+5.1+0.2; СоцСтрах = ПланыВидовХарактеристик.СтатьиРасходов.НайтиПоНаименованию("Страховые взносы в ФСС (2,9%) соцстрах"); ОМС = ПланыВидовХарактеристик.СтатьиРасходов.НайтиПоНаименованию("Страховые взносы в ОМС (5,1%) медстрах"); Травматизм = ПланыВидовХарактеристик.СтатьиРасходов.НайтиПоНаименованию("Страховые взносы в ФСС (0,2%) травматизм"); //копируем рабочую таблицу и очищаем скопированную ТаблицаДобавлений = ТаблицаДвижений.Скопировать(); ТаблицаДобавлений.Очистить(); Для Каждого Стр Из ТаблицаДвижений Цикл Если Стр.СтатьяРасходов = ПланыВидовХарактеристик.СтатьиРасходов.НайтиПоНаименованию("Страховые взносы в ОПС 22% (10%)") Тогда //в скопированную таблицу добавляем три строки по всем взносам с суммами с поправочным коэффициентом Нов = ТаблицаДобавлений.Добавить(); ЗаполнитьЗначенияСвойств(Нов, Стр); Нов.Сумма = 2.9/СуммаКоэф*Стр.Сумма; Нов.СуммаУпр = 2.9/СуммаКоэф*Стр.СуммаУпр; Нов.СуммаРегл = 2.9/СуммаКоэф*Стр.СуммаРегл; Нов.СтатьяРасходов = СоцСтрах; Нов = ТаблицаДобавлений.Добавить(); ЗаполнитьЗначенияСвойств(Нов, Стр); Нов.Сумма = 5.1/СуммаКоэф*Стр.Сумма; Нов.СуммаУпр = 5.1/СуммаКоэф*Стр.СуммаУпр; Нов.СуммаРегл = 5.1/СуммаКоэф*Стр.СуммаРегл; Нов.СтатьяРасходов = ОМС; Нов = ТаблицаДобавлений.Добавить(); ЗаполнитьЗначенияСвойств(Нов, Стр); Нов.Сумма = 0.2/СуммаКоэф*Стр.Сумма; Нов.СуммаУпр = 0.2/СуммаКоэф*Стр.СуммаУпр; Нов.СуммаРегл = 0.2/СуммаКоэф*Стр.СуммаРегл; Нов.СтатьяРасходов = Травматизм; //текущую сумму редактируем на поправочный коэффициень Стр.Сумма = 22/СуммаКоэф*Стр.Сумма; КонецЕсли; КонецЦикла; //добавленную таблицу присоединяем доп строками к основной Для Каждого Ст Из ТаблицаДобавлений Цикл НовТЧ = ТаблицаДвижений.Добавить(); ЗаполнитьЗначенияСвойств(НовТЧ, Ст); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |