Функция за автоматична смяна на датата за 1s. Как да зададете първичната организация за заместване в документи

Функция за автоматична смяна на датата за 1s.  Как да зададете първичната организация за заместване в документи
Функция за автоматична смяна на датата за 1s. Как да зададете първичната организация за заместване в документи

Въпрос: Замяна на код в поле 1s


Здравейте, моля, кажете ми в кое поле трябва да замените процедурата, която отчита броя на дните между датите, намерих самата процедура, но отговорът на този въпрос е не

Има полета - дата на пристигане, дата на заминаване и поле за количество, където трябва да попадне разликата между първите две стойности
в какъв случай е необходимо да се добави процедура?

Отговор:В събитието „OnChange“ на полето за дата на заминаване:

Въпрос: Автоматичното заместване на данни не работи

Отговор:

Благодаря на всички за отговорите:
1) 1C:Enterprise 8.3 (8.3.4.437), Счетоводство за Украйна: версия 2.0.4.3.
2) Особено за nsk1C: "Винаги имате такъв навик да търсите там, където не е необходимо, в моя въпрос няма нито една дума за основната ставка на ДДС - това е, първо, второ, внимателно прочетете указа, забраняващ продуктите на 1C в Украйна, и след това напишете вашите мисли .."

Благодаря за отговора, но бих искал да знам по-точно къде в кода е зададено това.

Въпрос: Полето за въвеждане и Enter накрая


Управлявани форми, работа в уеб клиента.
Ситуация: Програмирах скенера за F7 + баркод + enter. Опитах много опции, но кодът няма време да прочете "ShowInputValues". Оставих тази опция.
2. Създадохте формуляр с поле за въвеждане в него. С F7 се отваря формата, кодът влиза в полето за въвеждане, enter, hike, също се натиска (маркира се в полето текстов документ). Опитвам се да хвана събитието EndInputText, но не работи, защото работи при физически натиснат enter на клавата. Събитието AutoFit не е най-добрият вариант за мен, т.к баркодът може да се въведе ръчно и тогава трябва да измисля някаква патерица, за да заобиколя малкото забавяне между кликванията.
Можете ли да ми кажете дали има по-добри опции?

Отговор:() формата се отваря, кодът се предава - събитията не се обработват

Въпрос: SKD справка и таблично поле


Създавам отчет с помощта на SKD. Как мога да покажа резултата в поле на таблица? Не на полето документ с електронна таблица, а именно в полето на таблицата.

Отговор:Полето на документ с електронна таблица е елемент на формуляр (данните се показват в него), който принадлежи към атрибута (формуляр) Документ на електронна таблица.
В документа с електронна таблица записвате стойността и полето на документа с електронна таблица показва тази стойност за вас.
Как да напиша стойност там?

Въпрос: Фокусът върху полето работи странно


Самостоятелно написана конфигурация на 1C (8.3.8.2088), управлявани форми, такси интерфейс.

Окачвам събитие OnChange на полето със следния код:

1C
1 2 3 4 StandardProcessing = False; ChoiceData = Нов списък със стойности; ChoiceData. Add(Object. Number) ;

В края на въвеждането на текст поставям кода

Всичко работи, но някак криво.

Елементът получава фокус, но някак наполовина, можете да видите на снимката:

Стана след кода:

Тоест жълтата рамка и дизайнът на полето изчезнаха. Работи, но не е красиво, залепва окото.

Отговор:Ами накратко, при смяна на номера се появява форма с букви, където човек попълва причината за промяната, ако човекът просто затвори формата, тогава се връща старата стойност и фокусът остава в полето. Имате ли други идеи как да направите това по-добре?

Въпрос: Поле на таблицата на формуляра


Добър ден.
Яжте стандартна формаизбор на номенклатурата (ut11), в която не се изписва името, а само артикула!

Опита се да се върне стандартни настройкиформа - безрезултатно, полето/колоната не се показва.

Конфигуратор:

Нивите имат дин. списъкът е „Използвай винаги“.
Дори отстраняването на грешки на FormCreate() и OnOpen() показва това

Items.ListAdvancedSearchNomenclature.SubItems

са налични, всичко е в режим на видимост и достъпност, няма функционални опции!

Опитах да добавя моето поле със същия път към данните - и то не се показва!
Час убит, но полето не се появява. Моля помогнете

Отговор:

тогава о! Току-що успях да плъзна полето за име в друга група и то не се виждаше,
и на първия бутон Все още не е възстановен, бях сигурен, че ще ви помогне.

Въпрос: Как мога да накарам кода да се показва, а не името, когато избирам елемент от директория?


има раздел. част, в него има поле с типа на референтната връзка. как да се покаже кодът на атрибута, а не името, когато се избира елемент в това поле? (управлявани формуляри)

Отговор: Tklwegsd,))) Да точно това е въпроса

Съобщение от полакс

Не можете ли просто да добавите полето за код към таблицата?

Въпрос: Полето за избор на филтър в отчета SKD


Здравейте момчета, имам въпрос. Искам да покажа полето за избор на селекция в отчета, но нещо е заседнало в моя случай, имам нужда от вашия съвет...

За полето контрагент въведох кода по този начин, той прави вътрешна селекция, но как да покажа Comparison Type за полето отляво и да го свържа с Users?

1C
1 2 3 4 5 6 7 8 9 10 11 Процедура UsersOnChange(Item) Параметър за експортиране = SettingsComposer. Настройки. ПараметриДанни. Find ParameterValue(NewDataCompositionParameter("Users") ) ; Параметър. Стойност = Потребители; Параметър. Използване = вярно; SelectionItem = Композитор на настройките. Настройки. Избор. Елементи. Добавяне (Тип ( „Елемент за избор на състав на данни“) ) ; Избор на елементи. ComparisonType = DataCompositionComparisonType. Равно на; Избор на елементи. Лява стойност = New DataCompositionField( „Отговорен за отговор на запитване“) ; Избор на елементи. RightValue = Потребители; EndProcedure

Отговор: Детмонт, махам кода, на формата има само ACS и полето за избор - празен отчет...

Добавено след 1 час и 50 минути
Детмонт, разбрах защо имаше празен отчет при избор на SKD, имаше условие в заявката за SKD за потребители - изтрих го и всичко работи. Благодаря за съветите)

Въпрос: Възможно ли е да се промени съставът на полетата на динамичния списък без код?


Добър ден на всички. Имам чист формуляр, върху него динамичен списъкс произволна заявка, където една таблица (справочник, тя е и основната таблица на DS), едно поле Link и характеристики.

Полетата с характеристики могат веднага да се използват при селекции, сортиране, дизайн и да се избират за групиране. Всичко работи. Но просто изберете като допълнително поленевъзможно (да стои до линка в отделна колона). Ясно е, че с помощта на код всичко това се прави по някакъв начин там, но наистина ли е невъзможно да се направи това без код?
Куп персонализирани елементи за оформление на данни, които могат да бъдат поставени във формуляра, и няма начин просто да добавите поле? Или правя нещо нередно?

Отговор:Като цяло, тъй като не съм усуквал колоните през композитора на данни - не можах да добавя (Без код). Най-вероятно това е невъзможно, тъй като не атрибутът на формата ds е отговорен за колоните, а елементът на формата, което е логично. Линкерът управлява данните - елемент от формата - дисплей (включително колони).
Тоест, без програмно увеличаване на подчинените елементи на елемента на формуляра, няма да работи да ги промените.
Благодаря на всички.

Въпрос: Въведете на базата, полето за съобщение в ЛС не е попълнено


Колеги помагайте Не е типичен вход на базата на дока в ZUP 2.5, съобщение - полето в ЛС не е попълнено, въпреки че е попълнено - тип Дата. Код в FillProcessing.
Ако убиете реквизита през формата, тогава той провежда ...

Отговор: OMG, той изпсува друго поле - тази колона просто беше скрита) при попълване на интерфейса се копира от полето за начална дата

Нека решим следната задача. Необходимо е при създаване или промяна на документа за предоставяне на услуги и при добавяне на номенклатура на услуги към табличната част, текущата цена, получена от информационния регистър и съответстваща на датата на документа, да бъде незабавно заменена.

За целта са ви необходими:

    напишете функция RetailPrice, която ще върне текущата цена;

    извикване на функцията, когато към документа се добави нова номенклатура.

Тъй като такава функция може да се наложи в бъдеще, ще я напишем на „публично достъпно“ място - в общ модул.

1. Създайте функция Цена на дребнов клон Общи - Общи модули с име Работа с директории. задайте флаг Обаждане на сървъра(така че експортните процедури и функции на този модул да могат да бъдат извикани от клиента) (фиг. 71a).

Ориз. 71а. Общи свойства на модула

2. Поставете следния текст в модула.

Функция RetailPrice(ActualDate, ItemNomenclature of Services)Export

//Създаване на спомагателен обект Selection

Избор = Нова структура ("Номенклатура на услугата", Елемент на номенклатурата на услугата);

//Вземете действителните стойности на ресурса на регистъра

ResourceValues=InformationRegisters.Prices.GetLast(ActualDate,Selection);

Връщане ResourceValue.Price;

Крайни функции

Нека обясним функцията.

За да получите цената на дребно, трябва да предадете два параметъра на функцията:

    Действителна дата– параметър от тип Дата, дефинира точка на времевата ос, в която ни интересува стойността на цената на дребно.

Тази структура съдържа Изборспоред регистрационните измервания. С негова помощ се определя желаната размерност на регистъра Service Nomenclature, която е равна на препратката към елемента от речника, предадена на функцията.

Име на структурен ключ („N номенклатура на услугите”) трябва да съответства на името на измерението на регистъра, посочено в конфигуратора, и стойността на структурния елемент ( Артикулноменклатурни услуги) указва избраната стойност за това измерение.

Вторият ред се отнася до мениджъра на регистъра за ценова информация ( Регистри на информация. Цени) и изпълнение на метода ExecuteLast(), който връща стойността на ресурса на последния запис в регистъра, съответстващ на датата, предадена на функцията ( Действителна дата) и регистрирайте стойностите на измерването Избор.

Метод GetLatestвръща структура, съдържаща стойности на ресурс, която се съхранява в променлива Ресурсни стойности.

В следващия ред получаваме желаното цена на дребно, като посочите името на желания регистърен ресурс, разделено с точка ( ResourceValue.Price) и го връща, когато функцията се изпълни.

Че. тази функция може да бъде извикана в даден момент.

Трябва да се отвори Услуги за изпълнение на формуляр за документи(създадена е по-рано). IN Модул формулярнеобходимо добавете процедура при промяна.

За да направите това, щракнете двукратно върху елемента от формуляра NomenclatureListService (фиг. 71b).

Ориз. 71б. Елементи на документа за изпълнение на услугата

В прозореца със свойства в събитието Когато се променисъздайте манипулатор на събитие със следния текст:

&При клиент

Процедура Номенклатура ListServiceOnChange(Item)

//Вземете следващия ред от табличния раздел

TabularSectionString=Elements.NomenclatureList.CurrentData;

//Задаване на цена

TabularPartString.Price=Директория Operations.RetailPrice(Object.Date,TablePartString.Service);

EndProcedure

Нека обясним функцията.

Първият ред вече е известен: първо, получаваме текущия ред на табличната част на документа, защото ще ви трябва по-късно и го запазете в променлива RowTabularPart.

След това извикваме функцията Цена на дребно ()от общия модул Работа с директории.

Първият параметър на функцията е датата на документа, за който искате да получите цената. Получаваме датата на документа от основния атрибут на формуляра - Обект.Дата.

Функцията връща последната стойност на цената и тази стойност се присвоява на полето Цена в текущия ред на табличния раздел на документа ( RowTabularPart.Price).

Моля, имайте предвид, че процедурата NomenclatureListServiceOnChange()започва да работи в модула формуляр от страна на клиента, т.к това е интерактивният манипулатор на събития на формуляра. Когато създавате мъниче на тази процедура, платформата автоматично ще постави директива за компилация преди описанието на процедурата &При клиент.

След това извикваме функцията Цена на дребно (). защото тази функция не е намерена от страна на клиента, тогава изпълнението ще бъде прехвърлено към общ модул Работа с директории, който работи на сървъра. След като функцията приключи, програмният код ще продължи да се изпълнява на клиента.

Нека проверим извършената по-горе работа, стартирайте приложението в режим 1C: Enterprise. Да работим с разработената конфигурация.

ВЪВЕЖДАНЕ НА ДАННИ В БД

1. Въведете поне 8 документа в приложението Предоставяне на услуги.

/
Счетоводство за Украйна /
Работа с документи, справочници и справки

Как да зададете първичната организация за заместване в документи

Този раздел описва как да настроите първична организация за автоматично заместване в нови документи.

Монтаж от ръководството

В директорията на организациите (меню "Предприятие" - "Организации") основната организация е подчертана с удебелен шрифт. Това означава, че при създаване на нови документи, той ще бъде заменен автоматично.

За да направите друга организация основна, изберете тази организация в списъка и щракнете върху бутона Инсталирайте основнияв командния панел.

Connect Code Preoix Name lw 00000001 to Dobro 000000001 DB Do5ro5ut 00000006 DU Доставка и монтаж 00000005 NF National S0000001 nsho Защита на нашата компания"="757" height="216" border="0">

ЗАБЕЛЕЖКА
Основната организация се съхранява в настройките на потребителя. За всеки потребител основната организация се определя индивидуално.

Подбор на документи по основна организация

В потребителските настройки (меню "Инструменти" - "Потребителски настройки") можете да зададете автоматичен избор на документи за основната организация. Това означава, че всички дневници и списъци с документи ще показват документи само от основната организация.

Изборът на документи в журналите се контролира от флага Счетоводство за всички организации. Когато е зададено, регистрационните файлове показват документи за всички организации. Когато флагът не е отметнат, дневниците показват само документи за основната организация.

Ако е необходимо, основната организация може да бъде променена директно в потребителските настройки в групата "Основни стойности за заместване в документи и директории".

Задача 1. Създаване на падащ списък

1. Отворете файла Ex03_1.xlsx.

2. На листа Цена има таблица със стоки с цени.

3. Наименувайте диапазоните с името на продукта ( Продукт) и таблица с ценова листа ( Таблица) (снимка 1). Имената на диапазони са посочени за по-нататъшното им използване във формули и за улесняване на работата с диапазони. Името на диапазона може да бъде зададено чрез полето за име на клетка или в контекстно менюизберете екип Задайте име(разбира се, в този или онзи случай диапазонът от клетки трябва да бъде предварително избран, както е показано на фигура 1).

Снимка 1

4. На листа за продажба в колоната Име на продуктасъздайте падащ списък и го попълнете с данни.

За да създадете падащ списък, трябва да изберете клетките (можете да имате няколко наведнъж), в които искате да получите падащ списък и да изберете в раздела Данни бутон Проверка на данни (Фигура 2).

Фигура 2

В първия раздел Настроикиот падащия списък Тип данниИзбери опция списъки поставете в ред Източник= и името на диапазона с необходимите данни (т.е. =Продукт) (Фигура 3). Кликнете Добре.

Резултатът от създаването на падащ списък е показан на фигура 4.

Ако наборът от стойности в източника може да се промени, най-добре е да вмъкнете или изтриете данни в средата на списъка.

Фигура 3

Фигура 4

Въведение във функциите MATCH и INDEX

Функциите MATCH и INDEX се използват главно за автоматично заместване на данни в таблица от даден диапазон.

Синтаксис на функцията

MATCH(търсеща_стойност, масив, тип_съвпадение)

масиве блок, състоящ се от една колона или един ред.

Map_typeе числото -1, 0 или 1.

Ако съвпадение_типе равно на 1, тогава функцията СЪВПАДАнамира най-голямата стойност, която е по-малка от търсена_стойностили равен на него. Разгледано масивтрябва да бъдат сортирани във възходящ ред.

Ако съвпадение_типравно на 0, Че Функция MATCHнамира първата стойност, която е точно равна на аргумента търсена_стойност.Разгледано масивможе да е неподреден.

Ако съвпадение_типе равно на -1, тогава функцията СЪВПАДАнамира най-малката стойност, която е по-голяма от търсена_стойност,или равен на него. Търсене_масивтрябва да бъдат сортирани в низходящ ред.

Ако съвпадение_типпропуснато, се приема, че е равно на 1 .

функция СЪВПАДАвръща позицията на търсената стойност в масива, а не самата стойност.

функция ИНДЕКСима две форми. Ще разгледаме само един.

ИНДЕКС(таблица; номер_на_ред; номер_на_колона)

Тази функция избира от правоъгълен блок (таблица) елемент, определен с номера на редове и колони, като тези числа се броят от горния ляв елемент на блока.

Нека да разгледаме как работят тези функции с конкретни примери.

Задача 2. Въведение във функцията MATCH

С помощта на функцията MATCH() определете позицията на продукта с име "Йогурт" в диапазона Продукт. За това:

1. в електронна книга Ex03_1.xlsxотидете на лист Ценаи задайте курсора на листа на всяка свободна клетка;

2. Въведете формулата = MATCH("Кисело мляко", Продукт, 0) в тази клетка, т.е. указваме с тази функция, че трябва да намерим елемента "Йогурт" ( текстова стойноствинаги цитиран във функции) в диапазона Продукт, тип съвпадение 0 – точно съвпадение;

3. натиснете Enter. В резултат на това трябва да получите числото 7 (Фигура 5).

Фигура 5

Наистина, ако погледнем гамата Продукт, тогава позицията на киселото мляко съответства на тази цифра. В същото време си струва да запомните, че позицията на стойността в масива, т.е. в дадения диапазон, считано от началото на диапазона. Оказва се, че ако добавим в началото на таблицата с данни нова линия, тогава стойността "Кисело мляко" ще се премести на ред номер 8, но диапазонът Продуктзапочва със стойността „Мляко“, следователно от началото на диапазона позицията на киселото мляко във всеки случай ще съответства на числото 7 (Фигура 6).

Фигура 6

Моля, обърнете внимание, че като стойност за функцията MATCH() можете да посочите както самата стойност, така и името на клетката, в която се намира тази стойност. Например, записът =MATCH(A7;Product;0) ще ви позволи да получите същия резултат като използването на записа =MATCH("Yogurt",Product,0).

Задача 3. Запознаване с функцията ИНДЕКС

Спомнете си, че функцията INDEX() избира от правоъгълен блок (таблица) елемент, определен от номерата на редове и колони, и тези числа се броят от горния ляв елемент на блока.

Използвайте функцията INDEX(), за да намерите в диапазона Продуктелемент, разположен на пета позиция. За това:

1. в електронната книга Ex03_1.xlsxна лист Ценапоставете курсора на листа във всяка свободна клетка;

2. Въведете следната функция в тази клетка =ИНДЕКС(Елемент;5). Натиснете Enter. Резултатът е показан на фигура 7.

Фигура 7

Обърнете внимание, че сме посочили само стойности на диапазон и номер на ред за функцията INDEX. Не сме посочили номера на колоната. Този параметър не е задължителен, ако търсим стойност в таблица (диапазон), състояща се от една колона. Ако трябва да намерим стойност в таблица (диапазон), състояща се от няколко колони, тогава във формулата, за по-точно търсене на стойност, трябва да посочите номера на колоната.

В нова клетка въведете формулата = ИНДЕКС(Таблица, 8, 2). В резултат на това ще намерите цената на шунката (Фигура 8).

Фигура 8

Автоматично заместване на данни

Когато работите с падащ списък, можете да автоматизирате въвеждането на данни в таблицата. Например, има ценова листа, съдържаща имената на стоките и техните цени. Можете да организирате избор на името на продукта от списъка и автоматично заместване на цената на продукта в крайната таблица.

Автоматичното заместване на данни от справочна таблица се основава на комбинираното използване на функциите INDEX и MATCH.

Задача 4. Комбиниране на функциите MATCH и INDEX

В електронна книга Ex03_1.xlsxна лист Продажбив колона Цена, използвайки функциите на MS Excel, осигуряват автоматично заместване на себестойността на стоките от листа Цена, в зависимост от стойността, избрана от падащия списък на листа Продажби.

1. Поставете курсора на листа в клетка C2 и въведете следната формула в нея:

2. Натиснете Enter. В резултат на това в клетка C2 ще получите цената на продукта, чието име е посочено в съседната колона (Фигура 9). Ако изберете друго име на продукт от падащия списък, стойността на цената ще се промени съответно.

Фигура 9

3. Използвайте маркера за автоматично попълване, за да дублирате тази формуладо края на масата (Фигура 10).

Фигура 10

Нека дешифрираме тази формула. Тази формула започва с функцията MATCH, която ни позволява да намерим позицията на стойността от клетка B2 на работния лист Продажбив диапазона Продуктот листа Ценаи тип на точност 0. Например, ако използвате списъка със стоки, показан на Фигура 10, тогава функцията MATCH търси позицията на хляба, чието име е посочено в клетка B2 от колоната Име на продуктав диапазона Продуктна лист Цена. Тази позиция ще бъде равна на 3. Следователно в паметта на компютъра формулата, която въведохме

=ИНДЕКС(Таблица, MATCH(B2, Продукт, 0), 2)

ще приеме формата

=ИНДЕКС(Таблица;3; 2)

Параметър "3" е резултат от функцията MATCH.

Следва функцията INDEX, която ще търси в диапазона Таблицана лист Ценастойността в пресечната точка на третия ред и втората колона. (Имайте предвид, че диапазонът Таблицасе състои от две колони). Тази стойност ще бъде цената на стоката, в този случай хляб = 27.

Задача 5. Проектиране на финалната маса

На листа Продажбив колона Количествовъведете произволни стойности. Изчислете стойности в колона Обща сума.

Задача 6. Самостоятелна задача

Отворете файла Frames.xls . Необходимо е да се автоматизира промяната на заплатите в листа Персонал .

Например, необходимо е да прехвърлите един от мениджърите и да прехвърлите старши мениджъри или консултант на товарачи. Необходимо е тази операция да се извърши за четирима служители. Заедно с позицията трябва да се промени и заплатата.

Създавайте нов листи го назовете състояние .

Копиране на лист състояниеколони ДлъжностИ Заплата.

Премахване на дублирани служители. За това:

1. Изберете колоните за позиция и заплата.

2. Таб Данни щракнете върху бутона Премахване на дубликати .

3. Премахнете отметката от колоната Заплата.

4. Щракнете върху бутона Добре.

За да можете да сменяте позициите, върху листа Персоналсъздайте падащ списък в колоната за позиция. В същото време ще трябва да промените и официалната заплата, за това ние автоматизираме този процес, така че когато сменяте позиции, Excel сам променя заплатата. За целта използваме функциите: MATCH и INDEX.

Насоки

1. Маркирайте върху листа състояниедиапазон на работа. Наименувайте избрания диапазон длъжност.

2. Маркирайте върху листа състояниедиапазон на заплатите. Наименувайте избрания диапазон заплата.

3. На листа служителив колоната Заплатавъведете формулата, която ще търсите в работния лист състояниев диапазона длъжностпозиция, съответстваща на длъжността на служителя, а след това от гамата заплаталист състояниевмъкна заплатата, съответстваща на намерената позиция.

4. След като въведете формулата, уверете се, че получената заплата наистина отговаря на заплатата на длъжността на служителя от листа състояние.

5. Промяна на заплатата при гл. счетоводител на лист състояние. Проверете дали има промяна в съответната заплата в листа служители.