Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Как в "семёрке" сделать таблицу с формулами? (http://forums.kuban.ru/f1040/kak_v_sem%D1%91rke_sdelat-_tablicu_s_formulami-8010050.html)

Странный аттрактор 23.09.2016 22:40

Как в "семёрке" сделать таблицу с формулами?
 
Неожиданно понадобилась такая вот штука: лепим элементарный отчет, который в таблицу вываливает перечень номенклатуры с, скажем, ценой. В соседнюю ячейку ввожу количество, я рядом считается сумма. В общем, нужно реализовать что-то экселеподобное. Можно ли как-то в таблице, в соотв. ячейке прописать формулы?
Вычисляемые данные хранить не надо.

VZ 23.09.2016 22:50

Речь идет о [em]Таблицах значений[/em] или о [em]Таблице[/em]?
Если первое - см. документ.
Если второе - регламентные отчеты (таблицы в режиме ввода данных).

VZ 23.09.2016 23:20

Только это фигня, и зряшные страдания. Все делается проще, и кондовей:
Делается элементарная ТЗ-заготовка, выводится в файл, файл читаем1С:предприятие-работа с файлами,и записываем,как Ексель
Даем в Ласковые ручки, и проводим обратные операции.

Блондинка в шок 23.09.2016 23:24

[quote=Странный аттрактор;42956247]Можно ли как-то в таблице, в соотв. ячейке прописать формулы? [/quote]

ну.. формулы не формулы, но в 7.7 имеется предопределенная процедура обработки ячейки таблицы в режиме ввода данных.

ПриВыбореЯчейкиТаблицы(<ИмяИлиАдрес>, <Значение>)

и имеются методы типа

АдресЯчейки = "R"+x+"C"+y;
Ячейка = Таблица.Область(АдресЯчейки);
Ячейка.Контроль(4);
Ячейка.ЦветФона(192,192,192);
Ячейка.РамкаОбвести(3,3,3,3);
Ячейка.Текст = A*B;

Блондинка в шок 23.09.2016 23:29

или вместо
Ячейка.Текст = A*B;
Ячейка.Значение = A*B;
??

VZ 23.09.2016 23:38

4-Блондинка в шок > Однако, прощще скинуть заготовку в Ексель, там нарисовать какие надо формулы, а результат просто прочитать в ТЗ.
Не выпендриваясь с прерываеиеями ПриВыбореЯчейки...

VZ 23.09.2016 23:57

4-Блондинка в шок > Ты вот лучше что-нить скажи мне на пост (5) в ветке [url]http://forums.kuban.ru/f1040/ne_udaetsya_avtorizovat-sya_na_sajte_cherez_httpsoedinenie-8006473.html[/url]

Странный аттрактор 24.09.2016 00:11

[quote=VZ;42956288]Речь идет о Таблицах значений или о Таблице?[/quote]
Именно о т а б ли ц е.
Режим ввода данных - не очень хорошая идея, потому как эта таблица, о которой речь - суть расшифровка ячейки другой, более сложной. Т.е., у отчёта много таблиц, поэтому режим ввода данных не подходит. А! Можно же из расшифровки вызвать не таблицу, а новый отчёт, и уже его использовать в режиме ВД. Да, мысль..
Спасибо, товарищи, буду делать.

Блондинка в шок 24.09.2016 00:15

6-VZ > не знаю я web.

но вот сразу навскидку мне сразу адрес не нравится
защищенное соединение это по-любому [b]https[/b]
у меня, например, чересчур "умный" браузер сам подставит в адресной строке [b]https[/b]://users.v8.1c.ru, даже если я набираю просто users.v8.1c.ru

а ты вот там в (5) указываешь [url]http://users.v8.1c.ru/[/url] ? А нету такого адреса, однако.

и у автора тоже адрес без https - просто "app.myfieldnet.com"
и хоть он и пишет "Через браузер этот пароль и логин естественно проходит нормально.", но это видимо у него тоже чересчур умный браузер.

Я б для начала адреса в коде писала полностью и правильно, а не обрывками.

VZ 24.09.2016 00:39

8-Блондинка в шок > [filolog]Бля[/filolog]...

VZ 24.09.2016 00:52

+9 Отменяются "[*****]...". Я уж хотел себя тапком побить...
Не, урл я не вбивал: на форме и поля-то для него нет, он внутри конфы :)
Тут что-то другое...

VZ 24.09.2016 22:47

7-Странный аттрактор > "[em]таблица, о которой речь - суть расшифровка ячейки другой, более сложной.[/em]"
Хм...У меня есть обормотка, которая оперирует с многоярусной (многоуровневой) ТЗ. Например, с внутренней ТЗ, которую создает отчет 2-НДФЛ. Или с СЗ, содержащий список ТЗ.
Таблицы создаются динамически. Т.е., заранее рисовать не надо. Простейшие отчеты просто не рисую, ибо умеет подбивать итоги.Без особого указания.
;)
Но вот корректировать данные не дает: я поддерживаюсь старомодного правила, что нужно править саму БД, а не отчет по БД.
Несмотря на то, что это бывает противно окружающим.

USSR 25.09.2016 11:12

Думаю что более-менее сложные расчеты организовать будет проблематично. Для этого как раз и существует Excel, тут я склоняюсь к мнению VZ. Мелкие вещи я делал без проблем, когда например надо поиграться с каким-то количеством, но в таблице, а не в таблице значений. Тут Блондинка дала рецепт, в ОбработкеЯчейки ячейка известна, расшифровка известна. А там уже возможны варианты или тащить данные из рашифровки или "подложить" под таблицу слепки в виде таблиц значений, в которых будут храниться данные и формулы. В принципе если таблица плоская (без хитрых группировок) то можно и не прибегать к таблице, а обойтись таблицами значений. Не вижу в таких случаях никаких особых преимуществ таблиц.

USSR 25.09.2016 11:17

(0)такой случай с товаром и ценой я бы сделал и многократно делал именно в таблице значений. Не вижу зачем тут нужна таблица. Там вообще все даром. С таблицей правда ненамного сложнее. Но при использовании таблицы значений будут данные, которые легко куда-то записать, вывести и т.д. Если же надо что-то выделить цветом, то Formex в руки или табличное поле

Странный аттрактор 25.09.2016 16:46

[quote=USSR;42960815]такой случай с товаром и ценой я бы сделал и многократно делал именно в таблице значений. Не вижу зачем тут нужна таблица. [/quote]
Цена была как пример.
Суть задачи - таблица со множеством заявок: что, куда, кому, водитель, очерёдность погрузки и т.д. Нужно было расшифровать одну из ячеек так, чтобы по данной заявке сформировался бланк заказа, который вешается на стену в цеху, и по нему комплектуется машина. Заказчик хотел прямо в этом бланке некоторые паллеты компоновать вручную, рассовывая остатки товаров по доп. паллетам, с учётом маршрута. Сформировал, кое-что перекомпоновал, распечатал и удовлетворился. Поэтому и экселеподобная таблица, к которой заказчик привык.
В общем, сделал через доп. обработку, а в ней таблица в режиме ВД.
Ещё раз всем спасибо за советы.

VZ 25.09.2016 16:48

13-USSR > В 77 отлично читается Таблица. Для 77 есть куча примеров чтения/записи из/в Exsel. При отсутствии Exsel-я на борту.
Утилита 1С:Предприятие.Работа с файлами умеет работать с Таблицами версии 77. И читать Exsel (кроме xlsx).
В общем, для временных поделок вполне можно обойтись без громоздких конструкций.
Это вот рутинные, мелкие, но частые операции надо вылизывать по функционалу, и по интерфейсу. Ибо часто, и раздражает.
Ваш и/о. К.О. ;)

Странный аттрактор 25.09.2016 17:03

15-VZ >Ничего личного, но "Excel"

VZ 25.09.2016 17:22

16-Странный аттрактор > Вообще-то, "Excel" здесь как "файл в формате xls". Совершенно не требующий иметь на борту MS Office. Можно пользовать Open Office (созданный под спонсорством Intel, и прочих акул мирового империализма).

user1C 26.09.2016 09:41

(7)
все легко и просто сделать аля эксель таблицу...
через расшифровку, да, в нужных ячейках и далее
Процедура ОбработкаЯчейкиТаблицы(Расшифровка, СтандартнаяОбработка, Таблица, Ячейка)
Если ТипЗначенияСтр(Расшифровка) <> "СписокЗначений" Тогда
СтандартнаяОбработка = 1;
Возврат;
КонецЕсли;
...
// если данные обновились, то обновить таблицу

USSR 26.09.2016 10:02

(18)Если вся сложность состояла только в доступе к ячейке таблицы ). Например Вы меняете значение в ячейке таблицы и Вам надо пересчитать итоги группировок и общие итоги. Уже не так то просто. А бывают и посложнее случаи.И СтандартнаяОбработка = 0

user1C 26.09.2016 10:16

(19)
это был посыл в нужном направлении, таблица обычная не рвд, далее реализация ненамного сложней, хоть с пересчетом итогов, хоть реализация формул в зависимых ячейках... давно все реализовано и прекрасно работает

USSR 26.09.2016 10:36

(20)Правильный посыл был уже в (3), причем чуточку более конкретный ) А как промежуточные итоги пересчитываете,если не секрет ? Да и общие тоже

Блондинка в шок 26.09.2016 12:02

[quote=user1C;42964360]Процедура ОбработкаЯчейкиТаблицы[/quote] кажется не работает в режиме ввода данных. Может, ошибаюсь.
в свете [quote=Странный аттрактор;42956247]В соседнюю ячейку [b]ввожу [/b]количество[/quote]

USSR 26.09.2016 12:14

(22)User1C написал, что таблица обычная, не в режиме ввода данных )

Странный аттрактор 26.09.2016 14:40

Ваяя нетленку, наткнулся на невероятных размеров подводный камень: окаэцца, процедура "ПриВыбореЯчейкиТаблицы" не работает, если ячейка не защищена. Казалось бы, элементарное событие: я хочу перехватить вводимое в ячейку значение - ан нет, ничего у тебя, милый кодер, не получится. Хочешь задействовать "ПриВыборе...", прикручивай к защищённой ячейке поле ввода числа, а в саму ячейку ничего ты не запишешь.
В общем, задачу-то я решил, но в чём прелесть таблицы РВД я так и не понял, нужно было всё через обычную таблицу делать и не морщить зад.
..но этот подводный камень просто ввёл в ступор..

USSR 26.09.2016 14:45

ничего не понял про защищенность, никогда ни одну ячейку не защищал, а расшифровки работают. РВД я никогда не использовал

Странный аттрактор 26.09.2016 14:47

[quote=USSR;42966280]ничего не понял про защищенность[/quote]
это потому что..
[quote=USSR;42966280]РВД я никогда не использовал[/quote]
Я тоже не использовал. А вот попробовал на старости лет и испытал серию микрооргазмов, не приведших, впрочем, к удовольствию.

user1C 26.09.2016 14:59

(21)
там посыл в рвд таблицу, а это жуть и гемор для подобных целей)) общие итоги пересчитываются при обновлении таблицы после изменения данных), там основной смысл был в работе с формулами(сохранены в справочнике) ячеек, на вроде A=(B-C)/2, C=25B и тп...
(22)
все верно)

ebucixiru 26.09.2016 16:56

«[b]Ваяя нетленку, наткнулся на невероятных размеров ‹…› подводный камень просто ввёл в ступор[/b]» [24], — ВК TableDoc [[url=http://www.1cpp.ru/forum/YaBB.pl?num=1177688915]1cpp.ru[/url]] добавляет методов/свойств базовому объекту Таблица.

Странный аттрактор 27.09.2016 11:16

28-ebucixiru >Спасибо, конечно, но ВК ради крохотной задачи - оно того не стоит.

ebucixiru 27.09.2016 11:48

«[b]Спасибо ‹…› не стоит[/b]» [29], — незачто.. «ВК ради крохотной задачи», — это +1 файл размером 178 КБ в каталог ИБ, который действительно делает конфигурацию нетленкой.. кинь примером mxl, оценить масштаб задачи.. сейчас всё одно заняться нечем.

Чучундер 02.10.2016 00:45

Простую математику типа как описал автор умеет йоксель

smaharbA 02.10.2016 22:12

про хтмл все забыли

Чучундер 04.10.2016 01:14

еще вариант: сажаем на форму 1Са окошко экселя...

ebucixiru 05.10.2016 07:04

ActiveX?

Чучундер 05.10.2016 15:47

15-VZ > например,
, какая?
Чтоб и жксель 95 читала
И эксель 97 -2003 и новомодные xlsx всякие
Чтобы можно было получить и value и text


Текущее время: 15:37. Часовой пояс GMT +3.