Гость
Форумы / [игнор отключен] [закрыт для гостей] / Подскажите по запросам в 7.7 / 13 сообщений из 13, страница 1 из 1
11.03.2016, 11:42
    #39189792
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Есть такой запрос.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
ТекстЗапроса	=
		"Период с ВыбНачПериода по ВыбКонПериода;
		|
		|Номенклатура		= Регистр.ОстаткиТоваров.Товар;
		|Филиал				= Регистр.ОстаткиТоваров.Филиал;
		|Фирма				= Регистр.ОстаткиТоваров.Филиал.ЮрЛицо;
		|
		|Количество			= Регистр.ОстаткиТоваров.ОстатокТовара;
		|Стоимость	        = Регистр.ОстаткиТоваров.ПриходнаяСтоимость;
		|
		|Функция КоличествоНачОст = НачОст(Количество);
		|Функция КоличествоПриход = Приход(Количество);
		|Функция КоличествоРасход = Расход(Количество);
		|Функция КоличествоКонОст = КонОст(Количество);
		|
		|Функция СтоимостьНачОст = НачОст(Стоимость);
		|Функция СтоимостьПриход = Приход(Стоимость);
		|Функция СтоимостьРасход = Расход(Стоимость);
		|Функция СтоимостьКонОст = КонОст(Стоимость);
        |
		|Группировка День;
		|Группировка Филиал без групп;
		|Группировка Номенклатура без групп;
		|
		|Без Итогов;
		|";

Объясните, пожалуйста, что делают функции НачОст(), Приход(), Расход() и КонОст(). Откуда они взялись? Это встроенный язык 1С, или что-то, определенное программистом?
Я просто хочу иметь представление о том, как это работает.
Проблема, которая породила этот вопрос:
Результат запроса в определенных случаях содержит отрицательный приход из-за документа "инвентаризация". Надо это дело как-то исправить.
Сам по себе регистр содержит только ОстатокТовара и ПриходнуюСтоимость. Я правильно понимаю? Откуда он берет Приход и Расход?
...
Рейтинг: 0 / 0
11.03.2016, 11:58
    #39189821
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Вот описания таблиц этого регистра
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
#===============================================================================
#==TABLE no 385    : Регистр ОстаткиТоваров
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable  
T=RG1851  |Регистр ОстаткиТоваров        |A          |RG1851     |1         
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=PERIOD    |Period Registr      |D   |8     |0        
F=SP3371    |(P)Филиал           |C   |9     |0        
F=SP1856    |(P)Склад            |C   |9     |0        
F=SP1852    |(P)Товар            |C   |9     |0        
F=SP1857    |(P)ОстатокТовара    |N   |19    |3        
F=SP2001    |(P)ПриходнаяСтоимост|N   |19    |2        
#----Indexes------
# Name     |Descr         |Unique|Indexed fields                                              |DBName     
I=PROP     |PERIOD+PROP   |0     |PERIOD,SP3371,SP1856,SP1852                                 |PROP       
#
#===============================================================================
#==TABLE no 386    : Регистр (Дв.) ОстаткиТоваров
# Name    |Descr                         |Type[A/S/U]|DBTableName|ReUsable  
T=RA1851  |Регистр (Дв.) ОстаткиТоваров  |A          |RA1851     |1         
#-----Fields-------
# Name      |Descr               |Type|Length|Precision
F=IDDOC     |ID Document's       |C   |9     |0        
F=LINENO    |LineNo              |N   |4     |0        
F=ACTNO     |Action No           |N   |6     |0        
F=DEBKRED   |Flag Debet/Kredit   |N   |1     |0        
F=SP3371    |(P)Филиал           |C   |9     |0        
F=SP1856    |(P)Склад            |C   |9     |0        
F=SP1852    |(P)Товар            |C   |9     |0        
F=SP1857    |(P)ОстатокТовара    |N   |19    |3        
F=SP2001    |(P)ПриходнаяСтоимост|N   |19    |2        
#----Indexes------
# Name     |Descr         |Unique|Indexed fields                                              |DBName     
I=IDLINE   |of IDDOC+LineN|0     |IDDOC,LINENO,ACTNO                                          |IDLINE     
#
#===============================================================================
...
Рейтинг: 0 / 0
11.03.2016, 11:59
    #39189823
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-homeчто делают функции НачОст(), Приход(), Расход() и КонОст(). Откуда они взялись? Это встроенный язык 1С, или что-то, определенное программистом?

это встроенные функции

http://www.mista.ru/articles1c/query.htm
...
Рейтинг: 0 / 0
11.03.2016, 15:46
    #39190167
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Последний выдох ГПЖ,

Спасибо.

Надыбал пример , который мне помог:

авторНу вот еще пример - эммулирование функции НачОст и КонОст в тексте запроса:
Работает медленнно, но верно :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Функция Ё(Док,Запрос)
  Если Док.ДатаДок<НачДата Тогда
     Возврат Запрос.Пр - Запрос.Рр;
  Иначе
     Возврат 0;
  КонецЕсли;
КонецФункции  
//*******************************************
Процедура Сформировать()
  ТекстЗапроса = "
  |Период с 01.01.80 По КонДата;
  |Док = Регистр.Покупатели.ТекущийДокумент,Регистр.Поставщики.ТекущийДокумент;
  |Сумма = Регистр.Покупатели.СуммаРуб,Регистр.Поставщики.СуммаРуб;
  |Контрагент = Регистр.Покупатели.Договор.Владелец,Регистр.Поставщики.Договор.Владелец;
   |Функция Пр = Приход(Сумма);
   |Функция Рр = Расход(Сумма);
  |Функция Приход = Приход(Сумма)Когда(Док.ДатаДок>=НачДата);
  |Функция Расход = Расход(Сумма)Когда(Док.ДатаДок>=НачДата);
  |Функция НачОст = Сумма(Сумма-Сумма+Ё(Док,Запрос));
  |Функция КонОст = Сумма(Сумма-Сумма+Запрос.Пр-Запрос.Рр);
  |Группировка Контрагент Без Групп;
  |Условие (Контрагент в ВыбКонтрагент);";
  Запрос = СоздатьОбъект("Запрос");
  Запрос.Выполнить(ТекстЗапроса);
  Запрос.Выгрузить(ТЗ,0,0);
КонецПроцедуры

И комментарий к этому примеру:
авторПросто функция сумма берет точность из переменной запроса - а при использовании Сумма(МояФункция()) - нет переменной=> неоткуда брать точность => точность результата =0 ("округляет")

Но это тоже "лечится" - введением "ложной" переменной в аргумент функции:
>>>Функция НачОст = Сумма(Сумма-Сумма+Ё(Док,Запрос));
// тут ввели Сумма-Сумма - т.е нуль, зато из переменной Сумма = Регистр.Покупатели.СуммаРуб...

- точность соответственно будет такой же, как и у переменной Сумма в тексте запроса.
...
Рейтинг: 0 / 0
11.03.2016, 15:52
    #39190178
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Теперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.
...
Рейтинг: 0 / 0
11.03.2016, 16:18
    #39190209
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-homeТеперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.

пройдите накуй
...
Рейтинг: 0 / 0
11.03.2016, 16:19
    #39190213
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
есть еще третий вариант - вы слишком тупорылы, чтобы прочитать мануал к продукту
...
Рейтинг: 0 / 0
11.03.2016, 16:44
    #39190251
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Последний выдох ГПЖFlying-homeТеперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.

пройдите накуй
Я не имел ввиду лично тебя. Кроме того, я не сказал, какие они "такие". Может, я имел в виду "добрые и счастливые"?
А насчет чтения мануалов - я занимаюсь этим, когда предвижу положительный результат.
Ситуация округлением результата функцией "Сумма", который приведен в моем посте - яркий пример того, что 1С - крайне плохо документированный продукт.

В любом случае, я не расположен разжигать срач. Я искренне благодарю тебя и сообщество скруля за помощь.
...
Рейтинг: 0 / 0
11.03.2016, 20:30
    #39190390
Bone serpent
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-home,

Теперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.

Всё относительно. Зато 1Сник может за пару часиков без запарки сделать базу какого-нибудь складского учета с тремя документами, соответствующими им печатными формами и парой отчетов. А "нормальный программист" будет получать удовольствие довольно продолжительное время, пока не создаст что-то близкое к 1С по удобству и функциональности.

Если вы имеете именно приведенный язык запросов, то это 1С7.7, продукт разлива конца 90х. Возьмите какой-нибудь другой язык программирования той эпохи и посмотрим, кто быстрее и проще получит удовлетворение от работы и пойдёт пить пиво на заработанные деньги :)
...
Рейтинг: 0 / 0
14.03.2016, 08:11
    #39191067
Flying-home
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Bone serpentFlying-home,

Теперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.

Всё относительно. Зато 1Сник может за пару часиков без запарки сделать базу какого-нибудь складского учета с тремя документами, соответствующими им печатными формами и парой отчетов. А "нормальный программист" будет получать удовольствие довольно продолжительное время, пока не создаст что-то близкое к 1С по удобству и функциональности.

Если вы имеете именно приведенный язык запросов, то это 1С7.7, продукт разлива конца 90х. Возьмите какой-нибудь другой язык программирования той эпохи и посмотрим, кто быстрее и проще получит удовлетворение от работы и пойдёт пить пиво на заработанные деньги :)
В твоем примере можно быстро "получить удовлетворение" только в рамках стандартных задач. Любой шаг в сторону - и начинаются судорожные поиски обходов глюков.

У меня работают и в семерке, и в восьмерке. 95% жалоб на глюки и сбои в программе - от тех, кто на восьмерке. Для восьмерки специально покупался новый сервак. Она вообще когда-нибудь станет стабильной?
...
Рейтинг: 0 / 0
14.03.2016, 12:48
    #39191282
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-home Она вообще когда-нибудь станет стабильной?
1С всегда была стабильно кривой, независимо от версии. Так что более стабильного продукта вам еще поискать.
В чем-то вы правы, а в чем-то ошибаетесь. Но в любом случае аптеки всегда вазелин и т.п. Объемы уже зависят от конкретного 1С-ника.
...
Рейтинг: 0 / 0
14.03.2016, 15:29
    #39191482
Bone serpent
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-homeВ твоем примере можно быстро "получить удовлетворение" только в рамках стандартных задач. Любой шаг в сторону - и начинаются судорожные поиски обходов глюков.
Эээээ.... Мсье не знает, чем отличаются языки программирования общего назначения от специализированных и зачем нужны последние?
...
Рейтинг: 0 / 0
15.03.2016, 14:26
    #39192329
MicMic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по запросам в 7.7
Flying-homeУ меня работают и в семерке, и в восьмерке. 95% жалоб на глюки и сбои в программе - от тех, кто на восьмерке. Для восьмерки специально покупался новый сервак. Она вообще когда-нибудь станет стабильной?

Ошибок в платформе, как и в типовых конфах , ошибок хватает.
Но при этом, по моему опыту, 95% "жалоб на глюки и сбои в программе" - следствие шаловливых ручек программистов и админов.
А еще тем, что в 95% случаях при сбое не разбираются в причинах проблемы, а "балин, опять эта глючная 1с, надо перегрузить" сидим на попе ровно до следующего глюка.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Подскажите по запросам в 7.7 / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]