Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
Заблокирован

1С специалист

15.10.2013, 22:48. Показов 3084. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у мене вопрос по смыслу задания одного из билетов специалиста, не понимаю хоть убей че имел ввиду мозг того кто его писал:
вот часть текста задания:
"Оплата покупателя поступает общей суммой по нескольким накладным (накладные
указываются в табличной части, сумма в шапке). При проведении документа оплаты
должны автоматически распределяться по накладным, начиная с самой ранней
недооплаченной, причем оплаты должны распределяться с учетом фактической (реально
получено согласно акту) задолженности покупателя"

Правильно ли я понимаю ситуацию:
отгрузили допустим 10 накладных,
провести отдельно и в ручную мы их не можем(т.е. кнопочку провести и записать их стандартную обработку блокируем), чтобы можно было провести их только из документа "Поступление Оплаты" ???
Отгрузили 10 на сумму 10000000, а в "поступлении оплаты" есть всего лишь одна тыщща на одну накладную.
одну накладную проводим, 9 нет.
а какой в этом случае будет статус у документа "ПолучениеОплаты"?
можем ли мы провести допустим двадцатью документами "поступление оплаты" десять накладных?
или даже 100 документов содержащих 10 накладных и по 33 копейки поступалений?

что имелось ввиду в тексте задачи?
з.ы. давненько я в 1с не лазал, ща опять материться начну
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2013, 22:48
Ответы с готовыми решениями:

Разница между Специалист по платформе и Специалист по прикладным решениям
В чем отличие 1С:Специалист по платформе "1С:Предприятие 8" и 1С:Специалист по прикладным решениям "1С:Предприятие 8" где...

1С Специалист
Помогите пожалуйста с заданиями на экзамен 1С специалиста у кого что есть. Заранее спасибо!!!

1C Специалист 8.2
Интересует : сборник задач по редакции 3 (Спец. платформа) сильно отличается от 2-ой ??? Или если кто знает ресурс откуда можно сдернуть...

21
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
15.10.2013, 22:59
это тривиальная ситуация, касающаяся бух учета. При чём тут 1с? Алгоритм абстрктный:
1. при оплате поднимаются остатки по оплате реализации или счет 62, в разрезе документов.
2. Взяли по порядку остаток по доку, списали, если не хватило, по нему остаток остался, если лишку, см п.2
0
Заблокирован
15.10.2013, 23:01  [ТС]
ааа, я то в бух ни в рот ногой))
значит нуна теорию по буху качать?
спасибо, DЮк.
з.ы.я раз в год захожу и вы мне сразу отвечаете.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
15.10.2013, 23:03
хай!
0
Заблокирован
15.10.2013, 23:10  [ТС]
а вот еще вопрос:
как правильнее передать данные с формы на сервер и с сервера на форму обратно?
у мене почему то
директивы
&НаСервере
&НаКлиенте
мне кажется не работают.


вот пример кода
в модуле формы ща напишу

Добавлено через 5 минут
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
&НаСервере
Функция НекаяФункция(Перем)
Запрос = новый запрос;
запрос . текст = тут выбираем допустим цену из регистрасведений цены
// устанавливаем параметры, все ок.
//делаю выборку, пи шет ошибка чтения значения
тут еще некий код, проверка выборки
возврат цена;
конецфункции
 
&Наклиенте
процедура некая процедура(элемент)
цена= НекаяФункция(Элементы.ТабличнаяЧасть.ТекущиеДанные);
конецПроцедуры
Некая функция не работает, причем ни в виде запросов, ни в виде через РегистрыСведений.цена.срезпоследних(,Ном енклатураНапример);
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
16.10.2013, 00:08
1. Нельзя в качестве переменных использовать зарезервированные слова (Перем - зарезервированное системой слово)
2. Нельзя использовать пробелы в именах переменных, процедур и фукций

3.
Цитата Сообщение от Gokusa Посмотреть сообщение
/ устанавливаем параметры, все ок.
//делаю выборку, пи шет ошибка чтения значения
Текст ошибки и код который вызывает ошибку - не гадать же на кофейной гуще тут...
0
Заблокирован
16.10.2013, 00:42  [ТС]
слово "перем" я написал что просто как некая переменная,
там стоит номенклатура.
а выдает не ошибку, а когда смотришь через шифт ф9, выборку.
выборка= запрос.выполнить().выбрать();
выборка имеет поле цена, т.е. оно выбрано из регистра нормально.
но значение этого поля "ошибка чтения значения"
регистр непериодический, измерение:
справочник.ссылка.номенклатура,
ресурс:
цена, тип числ 15, точность 3.
//////////////////////////////////////
параметр запроса установлен корректно.
т.е. в "перем" передано элементы.табличнаяЧасть.текущиеданные.но менклатура;
////////////
ошибка как будто в регистре нет записей.
з.ы. сейчас не могу предоставить скрин с ошибкой, на другой машине база стоит.
на этой не идет.
////////////////////////////////
мне просто важно понять:
можно ли так обращаться к серверу как это делаю я,
т.е. из модуля формы, пишу в ней процедуру с директивой &НаСервере, а потом вызываю эту процедуру в другой процедуре, которая работает &наКлиенте.
мне вот этот вот момент важен.
с конкретикой я разберусь, надеюсь сам
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
16.10.2013, 00:59
Скорее всего у вас не установлен курсор на строку выборки. И значение не может быть прочитано т.к. вы не указали какое значение из выборки вы хотите получить... (советую почитать литературу)
1C
1
2
3
выборка= запрос.выполнить().выбрать();
Выборка.Следующий(); //Устанавливает курсор выборки на следующую запись в выборке
Сообщит(Выборка.Цена);
0
Заблокирован
16.10.2013, 01:02  [ТС]
нет не так.
я проверяю если выборка. количество.>1
тогда выборка след.
возврат выборка.цена.
а цена то с ошибкой.
в шахматы парралельно играю. не могу писать ))))0
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
16.10.2013, 01:06
Бесполезный разговор получается... То это не так, то то не так
Приведите весь КОД

Добавлено через 2 минуты
1C
1
2
3
4
5
6
выборка= запрос.выполнить().выбрать();
Если Выборка.Следующий() Тогда //Проверяет есть ли в выборке хотя бы одна запись
   Возврат Выборка.Цена;
Иначе
   Возврат 0;
КонецЕсли;
Добавлено через 25 секунд
Цитата Сообщение от Gokusa Посмотреть сообщение
мне просто важно понять:
можно ли так обращаться к серверу как это делаю я,
т.е. из модуля формы, пишу в ней процедуру с директивой &НаСервере, а потом вызываю эту процедуру в другой процедуре, которая работает &наКлиенте.
мне вот этот вот момент важен.
Можно
0
Заблокирован
16.10.2013, 01:19  [ТС]
про выборку - это потом разберусь.
мене вот что важно, правильно ли я понимаю суть взаимодействия сервера и упр формы в 1с,
как лучше или где лучше разместить запрос к регистру с целью получения например цены ?

Добавлено через 11 минут
ща напишу
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
&НаСервере
функция возвратЦены(Номенклатура)
запрос = новый запрос;
запрос.текст = "тут ,если честно, не помню точно, но все правильно - это 100%";
 
запрос.установитьПараметр("номенклатура", номенклатура);
выборка = запрос.выполнить().выбрать();
есливыборка.количество() >1 тогда
выборка.следующий();
возврат выборка.цена;
конецесли
конецфункции
 
&НаКлиенте
процедура НоменклатураПриИзменении(Элемент)
ТекСтр = элементы.табличнаяЧасть.текущиеДанные;
Цена = ВозвратЦены(ТекСтр.Номенклатура);
...........бла бла бла и т.д.
можно вместо запроса написать
1C
1
регистрыСведений.цена .срезпослледних(, номенклатура);
и всё равно выдает "ошибку чтения значения" поля цена, как будто нет записи в регистре.

регистр делал периодический и непериодический, неподчиненный регистратору - ничего не меняется.
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
16.10.2013, 01:32
При синтаксических ошибках, как правило, без разницы, регистр периодический или непериодический, козырёк у справочника вперёд или козырёк назад...

Добавлено через 1 минуту
Цитата Сообщение от Gokusa Посмотреть сообщение
правильно ли я понимаю суть взаимодействия сервера и упр формы в 1с
Вам уже ответили

Добавлено через 32 секунды
........
Цитата Сообщение от Dethmontt Посмотреть сообщение
Можно
Добавлено через 1 минуту
У Вас на доске слон, ладья и ферзь или королева, тура и офицер?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
16.10.2013, 02:00
Кто вам сказал что это условие выполняется
1C
1
если выборка.количество() >1 тогда //А если в выборке всего одна запись, то условие ложно!
Если условие ЛОЖНО, то метод выборки Следующий() не выполняется... А пока ОН не выполниться вы не сможете ничего ПОСМОТРЕТЬ по F9

Добавлено через 5 минут
Проверить наличие данных в результате запроса можно легко
(duk337 уже писал в какой то из тем этот способ)
Ставим точку останова на строке
1C
1
выборка = запрос.выполнить().выбрать();
Выделяем запрос и жмем Shift+F9
В поле вычисления пишем Запрос.выполнить().Выгрузить() - жмем рассчитать, в поле результата появиться таблица значений, ее можно просмотреть встав на нее курсором и нажав F2 - или карандашик (справа)
1
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
16.10.2013, 10:12
Dethmontt, спасибо за терпение. Но наш дорогой Гокуша вот уж сколько времени в 1с, говоря языком преферансистов, бездумно "шлёпает картами". А мы как клуши долдоним: "конь ходит буквой Г", "начинать лучше с королевской пешки", "слоны бывают чернопольные и белопольные", копируем фрагменты синт.пома... Ощущение, что чел комменты мимо ушей пропускает.
0
Заблокирован
16.10.2013, 11:47  [ТС]
dethmontt, спасибо за пояснение,
но под ошибкой имелось ввиду не ошибка прерывания, а как раз эта самая ошибка которая появляется после шифт +ф9 расчитать,(зеленый карандаш) и в поле значение цена написано ошибка чтения значения.
тип число.
1С не выдает ошибку как таковую.
как будто в регистре нет данных.
мне вот и интересно, как почему могут быть такие ошибки:
первый вариант- нет записи в регистре,
какие еще могут варианты.
з.ы. кстати на другой машине у мене вообще постоянно блокировка базы, т.е. создал документ, закрыл, и сразу же повторно открыть его уже не могу.
мож это вирус какой?
0
Модератор
Эксперт 1С
 Аватар для Dethmontt
4032 / 2977 / 594
Регистрация: 10.03.2011
Сообщений: 11,701
Записей в блоге: 1
16.10.2013, 12:38
Я сдаюсь! Не знаю как объяснить популярнее...
Gokusa спасибо что попытались мне объяснить, НО я знаю что это за ошибка и несколько раз уже написал ВАМ

Добавлено через 11 минут
Если вы не умеете работать с выборкой (ну не получается у вас) работайте с таблицей значений
1C
1
2
3
4
5
6
ТЗ = Зпрос.Выполнить().Выгрузить();
Если ТЗ.Количество() > 0 тогда
   Возврат ТЗ[0].Цена;
КонецЕсли;
Возврат 0;
КонецФункции
Добавлено через 1 минуту
Цитата Сообщение от Gokusa Посмотреть сообщение
мож это вирус какой?

Не по теме:

Скорее всего кривые руки

0
Заблокирован
16.10.2013, 14:08  [ТС]
детмонт, не надо лохматить бабушку
и путать меня в трех соснах)
у меня проблема не в том что выборка количество = 1 и проверрка условий , поэтиому мы не можем прочитать элемент, потому что его нет.
у мене из регистра не берет запись.
например регистрсведений. цены.срезпоследних(парам, парам2, ); возвращает то же самое "ошибка чтения значения", при этом код не останавливается и программа дальше работает.
при том что записи в регистре есть.

почему тогда срез последних ,оформленный как надо, не возвращает значение?
и почему например когда я создал документ, закрыл его, новый сеанс не начинал, нигде более этот документ не использую и никто не использует, но я не могу его повторно открыть при том что я админ и вообще единственный пользователь.
мне нужен ответ на впорос:
если срез последних и запрос не читают регистр, может ли быть такое что платформа глючная?
0
 Аватар для Augusto
72 / 72 / 1
Регистрация: 18.12.2012
Сообщений: 390
16.10.2013, 14:47
база файловая? chdbfl и тестирование и исправление пробовали?
0
Заблокирован
16.10.2013, 15:42  [ТС]
вот уже другой разговор, не пробовали.
да файловая.
сначала было все норм, потом система предложила что-то там обновить, или привести в соответствие.
привели и чначалось)
старой версии базы не сохранилось.

Добавлено через 1 минуту
а что такое chdnfl?
заменить файл дата базы?
из чего это запускается, или тупо заменить сам файл ?
0
0 / 0 / 0
Регистрация: 09.10.2013
Сообщений: 5
16.10.2013, 15:47
Цитата Сообщение от Gokusa Посмотреть сообщение
а что такое chdnfl?
Это программка для проверки файла БД 1С (1Cv8.1CD), лежит в каталоге, в который установлена платформа 1С 8.

Например: C:\Program Files\1cv82\8.2.19.68\bin\chdbfl.exe
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2013, 15:47
Помогаю со студенческими работами здесь

Специалист Perl
Доброго времени суток уважаемые форумчани. Есть специалист по Perl с опытом работы в xfilesharing ?

Специалист по платформе 1.28
Привет. Вопрос по документу "Дополнительные затраты" который должен добавляет/списывает себестоимость. Собственно, что добавить и списать...

Seo специалист
Ищу работу в seo специалистами. Раскручивал интернет магазины, сайты визитки. Опыт вывода в топ 10 по Москве СК запросов. Сбор трафика....

Нужен ли специалист?
Есть печальный опыт работы с оптимизатором, деньги и время потрачены в пустую. Возникает вопрос, при наличии небольших знаний в области...

1С Специалист Задача 1.1
Я новичок в 1С, начал решать задачи, вроде всё сделал, осталось только чтобы в отчетах не записывались отрицательные значения, и если...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru