powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Подскажите по запросам в 7.7
13 сообщений из 13, страница 1 из 1
Подскажите по запросам в 7.7
    #39189792
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой запрос.

Код: 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
Подскажите по запросам в 7.7
    #39189821
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот описания таблиц этого регистра
Код: 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
Подскажите по запросам в 7.7
    #39189823
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeчто делают функции НачОст(), Приход(), Расход() и КонОст(). Откуда они взялись? Это встроенный язык 1С, или что-то, определенное программистом?

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

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

Спасибо.

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

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

Код: 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
Подскажите по запросам в 7.7
    #39190178
Фотография Flying-home
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.
...
Рейтинг: 0 / 0
Подскажите по запросам в 7.7
    #39190209
Последний выдох ГПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying-homeТеперь я понимаю, почему одинэсники такие ...
Ни один уважаемый себя человек не будет работать с таким продуктом.
Перефразирую. Нормальный программист получает от своей работы две вещи: удовлетворение от творческой работы и деньги. Одинэсники лишены первого пункта. Он у них замещен чувством вые..нности во все щели.

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

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

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

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

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

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

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

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

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

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

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


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