Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Помогите студенту, пожалуйста! (http://forums.kuban.ru/f1040/pomogite_studentu_pozhalujsta-9068264.html)

tutsi 01.08.2020 16:38

И все-таки прошу помощи. Ничего не получается с итогами в таблицу на форме.

Вот такая таблица

Пока Запрос.Группировка(1) = 1 Цикл
ТЗДМГ.ПолучитьСтроку();
ТЗДМГ.НоваяСтрока();
ТЗДМГ.Параметр1 = Запрос.1 - Запрос.2 - Запрос.3;
ТЗДМГ.Параметр2 = Запрос.4 - Запрос.5;
ТЗДМГ.Параметр3 = ТЗДМГ.Параметр1+ ТЗДМГ.Параметр2;
ТЗДМГ.Параметр4 = Запрос.6 - Запрос.7;
ТЗДМГ.Параметр5 = Запрос.8;
ТЗДМГ.Параметр6 = Запрос.9;
ТЗДМГ.Параметр7 = Запрос.10;
ТЗДМГ.Параметр8 = Запрос.11;
ТЗДМГ.Параметр9 = ТЗДМГ.Параметр1 + ТЗДМГ.Параметр3;
ТЗДМГ.Параметр10 = ТЗДМГ. Параметр1 + ТЗДМГ. Параметр2 + ТЗДМГ. Параметр6 + ТЗДМГ. Параметр7 + ТЗДМГ.Параметр8;

КонецЦикла;

Как вывести итоги внизу этой таблицы?

USSR 02.08.2020 09:17

Посмотрел только последний запрос. Выбирать в запросе "Наименование" и сравнивать с "Наименованием" - это очень плохая практика, не надо к ней приучаться.

tutsi 02.08.2020 09:50

[quote=USSR;47813758]это очень плохая практика[/quote]
Спасибо за совет! Можете объяснить, почему?

tutsi 02.08.2020 09:58

152-Сергей Че >Перечитала...
Возник вопрос...
В список складов и список проектов загонять только те, которые нужны для отчета или все, которые существуют?

USSR 02.08.2020 12:11

(163)Наименование могут поменять и Ваш отчет перестанет работать. Выбирайте в запросе ссылки. В запросе можно сразу группировать по складам и проектам. а потом уже обрабатывать запрос или выгрузить его в таблицу значений, с которой можно делать что угодно. Например развернуть проекты по горизонтали
Выбирать в запросе по конкретным проектам это плохое решение. Завтра их станет 4 и все сломается. Надо группировать по нему

tutsi 02.08.2020 13:59

Да! Есть похожая задача в этом сборнике. Но я с ней еще не разбиралась. Причем группировка мне понятна, а вот дальше пока темный лес.
Как поступать, если в отчет нужно вывести данные только по конкретным складам и проектам? Аналогично множественному фильтру в ТиС?
Я с этим сборником чувствую себя очень неуютно. Я поняла, что я слишком мало знаю о семерке.

USSR 02.08.2020 14:33

(166)для универсального решения - множественный фильтр.Для частного - отборы проектов в 3 полях, с проверкой заполнения Надо будет не 3, а больше, скажете - Вы же сами просили 3. Вариантов много

USSR 02.08.2020 14:35

Не пытайтесь охватить сразу все. Научитесь выбирать данные и обрабатывать их для отчета. А потом займитесь отборами

Чучундер 03.08.2020 11:21

166-tutsi > угу, типа.
Можно положить на форму СЗ. Пользователь сам туда добавляет нужные данные.

Чучундер 03.08.2020 11:23

161-tutsi >
Пока Запрос.Группировка(1) = 1 Цикл
ТЗДМГ.ПолучитьСтроку();
ТЗДМГ.НоваяСтрока();
....
КонецЦикла;
.
это что за бред?
в чем смысл получения очередной строки из ТЗ, неиспользования ее и сразу же добавление новой строки в ТЗ? в чем сакральный смысл?
.

Чучундер 03.08.2020 11:35

161-tutsi > "Как вывести итоги внизу этой таблицы?"
внизу - это ГДЕ?
.
если надо вывести итоги в ТЗ в последней строке этой ТЗ - то как обычно - в цикле или еще где накапливаем итоги, после цикла добавляем новую строку в ТЗ, запихиваем в строку итоговые данные.
.
опять же - что понимается под "итогами"..? - если вопрос стоит "как в ТЗ добавить строку с итогами по всем колонкам этой же ТЗ?" - то просто, итоги не надо накапливать? есть метод ТЗ.Итоги() - его и применяем.. - и вообще полезно открывать СинтаксПомощник и смотреть даже тупо подряд на описание языка... там можно найти много интересного...

Чучундер 03.08.2020 11:36

А про итоги, вот тестовый пример
.
//*******************************************
Процедура Сформировать()

// тестовые данные
ТЗ = СоздатьОбъект("ТаблицаЗначений");
ТЗ.НоваяКолонка("Первая","Число");
ТЗ.НоваяКолонка("Вторая","Число");

Для ы=1 по 3 Цикл
ТЗ.НоваяСтрока();
ТЗ.Первая = ы;
ТЗ.Вторая = ы*4;
КонецЦикла;

// тут выше код заполнения ТЗ
// ниже код итогов

ТЗ.НоваяСтрока();
КК = ТЗ.КоличествоКолонок();
Для НомерКолонки = 1 по КК Цикл
ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,НомерКолонки,ТЗ.Итог(НомерКолонки));
КонецЦикла;

//ОТЛАДКА
ТЗ.ВидимостьКолонки("НомерСтроки",1);
ТЗ.ВыбратьСтроку(,"просмотр ТЗ");

КонецПроцедуры

Чучундер 03.08.2020 11:37

И держать в ТЗ последней строкой итоги - это очень нехорошая практика. Учитьяс такому не надо. ТЗ по своей природе - простой список однородных данных. и пихать в нее её же самое итоги - фу, бяка...

tutsi 20.03.2021 22:26

Всем здравствуйте!
Надеялась, что племяннику удастся воспользоваться знаниями, полученными моим сыном в прошлом учебном году. Не тут-то было! Задания совсем другие!
Многое я знаю, но вот есть задание, которое я выполнить не смогла.
Нужно при загрузке конфигурации открыть справочник номенклатура для Пользователя 1, Журнал документов общий для пользователя 2, Выписку банка для пользователя 3, Обработку банк-клиент для пользователя 4 и внешнюю обработку для пользователя 5.
В чем загвоздка...
Не могу заставить открываться всему этому только у конкретных пользователей.

Чучундер 23.03.2021 13:50

быдлокод:
Если ИмяПользователя()="Иванов" Тогда
ОткрытьФорму(...справочник)
итд...

bma1 23.03.2021 18:44

[quote=Чучундер;48248322]Если ИмяПользователя()="Иванов" Тогда[/quote]
На одном из релизов 7.7 была такая фишка, что если имя пользователя содержало символы "катя" (в любом регистре) у этого пользователя обрубались все права. И приходилось именно через сравнение со строкой обходить это издевательство.

tutsi 19.10.2021 13:45

Дорогое 1с-сообщество, выручавшее меня не раз!
Последствия длительного сидения дома без дела, а так же последствия перенесенной этой вот новой коронавирусной, привели к полному отуплению...
И опять у меня борьба с заданием по 1с 7.7. Я уже, прям, штатный консультант...
Задание такое...
Существует внешняя печатная форма товарно-транспортной накладной. При вызове процедуры печати открывается диалоговое окно, в котором нужно заполнить ряд данных. Одно из полей, ПунктПогрузки, имеет тип Строка. Нужно, чтобы при открытии формы это поле заполнялось данными о фактическом адресе поставщика и допускало изменение данных.
И это опять Торговля и склад 7.7. Задания для Бухгалтерии и Зарплаты у меня трудностей не вызывают.

Хряк 19.10.2021 16:55

А чем отличается впф для тис и бух, раз задания для бух трудностей не вызывает?
Ну, раз у тебя тис, - смотри на примере Торг-12 (настраиваемая)

tutsi 19.10.2021 17:17

[quote=Хряк;48557258]Ну, раз у тебя тис, - смотри на примере Торг-12 (настраиваемая)[/quote]
Посмотрела. Там эти данные не заполняются.
Насколько я понимаю, готового решения от 1С никогда не было.

Хряк 20.10.2021 16:29

это пример пользования внешней обработкой, а данные ты сама должна заполнять.
ПунктПогрузки = Док.Контрагент.ЮрФизЛицо.ФактАдрес;

Чучундер 28.10.2021 23:04

Умилился в очередной раз.. ;-)

Чучундер 28.10.2021 23:10

178-Хряк > тупняк обычно вызван тем, что не понимаешь вообще всё. то есть отсутствует цельное представление. Когда отсутствует представление о конфигурации, которое накладывается на отсутствие представления предметно-объектной модели 1С архитектуры метаданных - всё.. суши весла... я когда начал клюшки осваивать (давным давно), интеренета можно сказать не было, читал описание языка.. ниче непонятно! не, то есть понятно что данный оператор делает, но как и почему - непоняоно.. Синтакс-помощник - вообще какой-то набор атомарных данных, каждое описание само по себе. Но в один момент в мозгу щелкнуло и все склеислось. стала понятна МОДЕЛЬ псотроения этой 1Сины.. Что к этому привело - послужило переключателем - хз.. не помню уже, давно было. Помогло конечно то, что опыт программирования был большой к этому времени, поэтому вьехал быстро. Но до сих пор встречаю клюшечников, которые пишуть код просто как некий набор несвязанных между собой сущностей, то сеть вообще не понимают что и чего вытекает... Но я с этим смирился, если соглашаются то учу, возя в тоннах этого написанного ими говонокода (правда, честно сказать. и на свой-то иногда тоже протвино смотерть) ;-)

bma1 29.10.2021 15:00

[quote=Чучундер;48571449]Но до сих пор встречаю клюшечников[/quote] за что такая дискриминация восьмерочников? они еще чаще пишут наобум. Редко понимая всякие особенности клиент-серверной схемы, что где существует и что где выполняется.

bma1 29.10.2021 15:01

[quote=Чучундер;48571449]я когда начал клюшки осваивать (давным давно), интеренета можно сказать не было, читал описание языка.. ниче непонятно[/quote] я после того как обучил на работе третьего сотрудника 1с 77, написал методичку и стало гораздо легче...

Чучундер 30.10.2021 17:16

183-bma1 > этих сусликов я вообще в расчет не принимаю... ;-)

Чучундер 30.10.2021 17:17

184-bma1 > погромиста1С обучал или пользюка?

bma1 01.11.2021 20:46

[quote=Чучундер;48573518]погромиста1С обучал или пользюка?[/quote] кодить учил. У Митичкина на сайте сохранилась [url]https://old.mista.ru/buh_1c/index.html[/url]

tutsi 17.12.2021 12:56

Всем здравствуйте!
Наконец-то я жива... Без дальнейших комментариев...

[quote=Хряк;48559204]это пример пользования внешней обработкой, а данные ты сама должна заполнять. ПунктПогрузки = Док.Контрагент.ЮрФизЛицо.ФактАдрес;[/quote]
Спасибо огромное! Дети смотрели уже без меня. Все сделали. Всё получилось.

Новое задание введшее меня в ступор...
Вывести штрихкод в этикетку получается. А в ценник не выходит. Что может быть?
Пока не вижу что они там написали. Они на лабораторной. Общаемся посредством WhatsApp...

tutsi 17.12.2021 12:58

[quote=Чучундер;48571449]отсутствует цельное представление.[/quote]
Да... К сожалению все забыто... Семерка давно в прошлом и приходится по новой все осваивать.
Причем нет далеко идущих планов. Детям учиться еще полтора года. Дальше уже мне эти знания не пригодятся... Буду бабушкой. Ну может когда-нибудь, кому-нибудь нужно будет помочь...

tutsi 17.12.2021 13:37

Задание такое...
Существует стандартная процедура печати ценников. Добавьте в нее опцию печати штрихкода, с возможностью подключать ее на форме.

Процедура ДобавитьЦенник(Таб, ПечФирма, ПечНаименование, ПечЕдиница, ПечРозн, Столбик, Ряд)

Столбик = ?(Столбик = 0, 1 , 0 );
Ряд = ?(Столбик = 0, Ряд + 1, Ряд);

Если Ряд > 5 Тогда
Таб.НоваяСтраница();
Ряд = 1;
КонецЕсли;

Если Столбик = 0 Тогда
Таб.ВывестиСекцию("Товар|Ценник");
Иначе
Таб.ПрисоединитьСекцию("Товар|Ценник");
КонецЕсли;

КонецПроцедуры

Процедура Сформировать(ТаблицаТоваров,ПечФирма)

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");

Столбик = 1;
Ряд = 0;

ТаблицаТоваров.ВыбратьСтроки();
Пока ТаблицаТоваров.ПолучитьСтроку() = 1 Цикл
ПечРозн = глФРМ(ТаблицаТоваров.Цена, ТаблицаТоваров.Валюта);
ПечНаименование = ТаблицаТоваров.Товар;
ДобавитьЦенник(Таб, ПечФирма, ТаблицаТоваров.Товар, ТаблицаТоваров.Единица, ПечРозн, Столбик, Ряд);
глОживить(1);
КонецЦикла;

Таб.Опции(0,0,0,0,"ПечатьЦенников","ПечатьЦенников");
Таб.ТолькоПросмотр(1);
Таб.Показать("Товарные ценники","");

КонецПроцедуры

Процедура ПриОткрытии()

СтатусВозврата(0);
ДанныеДляПечати = Форма.Параметр;

Если ТипЗначенияСтр(ДанныеДляПечати) <> "СписокЗначений" Тогда
Возврат;
КонецЕсли;

ПечФирма = ДанныеДляПечати.Получить("Фирма");
ТаблицаТоваров = ДанныеДляПечати.Получить("Таблица");

Сформировать(ТаблицаТоваров, ПечФирма);

КонецПроцедуры // ПриОткрытии()

tutsi 17.12.2021 14:33

Лабораторная не выполнена. Будут делать еще раз.
Что они делали...
Брали две обработки, печать ценников и печать этикеток, и пытались их объединить. Но явно как-то коряво.
Не могу добиться, вставляли ли они картинку в печатную форму.
Вопрос пока остается открытым.
Постараюсь вечером скинуть свой вариант. Поплюйтесь, пожалуйста!

Чучундер 17.12.2021 21:21

;-)
[img]https://content.screencast.com/users/Che66/folders/Capture/media/9f2f6199-4135-4a2a-9da5-76e0a0dda24b/LWR_Recording.png[/img]

Чучундер 17.12.2021 21:27

В обработке сделать два макета
имя первого макета Таблица0, второго Таблица1
в первый макет - без ШК положить (например, ценник), во вторую таблицу - положить с ШК (например, этикетку).
на форму положить флажок "Печатать с ШК" (пусть его идентификатор будет флШтрихкод, если вЫкл - то печатать первый макет, если вКл - то второй макет.
код печати оставить одинаковым.
подредактировать типа:
Таб.ИсходнаяТаблица("Таблица"+флШтрихкод);
ВСЁ.
Добиться, чтобы печаталось тупо правильно (пусть и не особо красиво) при разных значениях флажка.

Чучундер 17.12.2021 21:38

Иметь в виду, что при выводе печатной формы штрихкод в сформированной печатной форме МОЖДЕТ НЕ ОТОБРАЖАТЬСЯ (если поле штрихкода маленькое), но он там есть! При ПРЕДПРОСМОТРЕ может отображаться или при масштабе печформы может отображаться. Если не отображается - то где-то в уголке может притаиться надпись Size - слева оригинальный масштаб, справа 200% При выводе непосредственно на принтер - даже если не отображается - обычно печатается нормально.
Иногда надо чуток поварьировать размером "поля" под штрихкод.

[img]https://content.screencast.com/users/Che66/folders/Capture/media/800b788f-f297-488d-8ce5-bc01c0468cb3/LWR_Recording.png[/img]

Чучундер 17.12.2021 21:41

183-bma1 > "Редко понимая всякие особенности клиент-серверной схемы, что где существует и что где выполняется."
- тут как раз на Мисте обсуждение на эту тему.
мне вот в принципе все достаточно понятно (ну может совсем за исключением каких-то тонкостей). Написание обработок для ТСД на 77 под RDP быстро привело к тому что даже в одной обработке весьма разделены функции вывода на экран и функции получения/обработки данных.

Чучундер 17.12.2021 21:43

191-tutsi > А какой возраст/класс киндеров?
Может мне к вам репетитором по 77 записаться?
Если что - стукайтесь здесь в личку или в скайп (вроде где-то выше давал) или в мессенджеры если тлф знаете.

Чучундер 17.12.2021 21:46

191-tutsi > если лабы в классе. на время - то это имхо круто, для этого д.б. уже готовые "блоки" от препода или заранее для выполнения лабы имхо. Жуть не люблю программировать на время.

tutsi 18.12.2021 15:28

Всем спасибо! Со всем разобрались!
Объяснила детям, что тупым копированием из одной обработки в другую, программировать нельзя. Проработали с ними суть задачи. Они всё сделали сами!!! Я, прям, не седьмом небе от счастья!
[quote=Чучундер;48640512]А какой возраст/класс киндеров?[/quote]
Первый-второй курс колледжа. Младшему 17 через два дня исполняется.
Семерка у них и на первом, и на втором курсе. На втором уже и восьмерку изучают.
Честно говоря, я сначала была в шоке от программы. Ну зачем учить семерку, если она уже мертвая? Но теперь поняла суть. Он просто заставляет их думать разными масштабами. Они много "мертвых" вещей изучают. Но от этого есть польза в перспективе.
Сейчас учатся племянники. Сын уже в университете. Вспоминает, как мы с ним выполняли эти задания по семерке, с юмором. Но говорит, что теперь понимает, что не существует одного варианта решения задачи. Их всегда много. И важно найти самый простой и быстрый.

tutsi 18.12.2021 15:34

[quote=Чучундер;48640521]если лабы в классе. на время - то это имхо круто, для этого д.б. уже готовые "блоки" от препода или заранее для выполнения лабы имхо. Жуть не люблю программировать на время.[/quote]

У них есть методичка. К этой методичке существуют базы, в которых они лабы делают. Причем не одна база, а именно базы. То есть, всё реально круто. И есть задания на время. Простые.

Чучундер 18.12.2021 20:55

"Они много "мертвых" вещей изучают."
- ну, основы даже в мертвых - те же самые. И даже м.б. "мертвые" в этом отношении лучше, так как ближе с основам. А то будут "расставлятелями галочек"


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