-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Showing
10 changed files
with
178 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
56 changes: 56 additions & 0 deletions
56
bundles/com.e1c.ssl.bsl/src/com/e1c/ssl/bsl/CommonFunctionCollapseArrayTypesComputer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/******************************************************************************* | ||
* Copyright (C) 2021, 1C-Soft LLC and others. | ||
* | ||
* This program and the accompanying materials are made | ||
* available under the terms of the Eclipse Public License 2.0 | ||
* which is available at https://www.eclipse.org/legal/epl-2.0/ | ||
* | ||
* SPDX-License-Identifier: EPL-2.0 | ||
* | ||
* Contributors: | ||
* 1C-Soft LLC - initial API and implementation | ||
*******************************************************************************/ | ||
package com.e1c.ssl.bsl; | ||
|
||
import java.util.Collections; | ||
import java.util.List; | ||
|
||
import org.eclipse.xtext.EcoreUtil2; | ||
|
||
import com._1c.g5.v8.dt.bsl.model.Expression; | ||
import com._1c.g5.v8.dt.bsl.model.Invocation; | ||
import com._1c.g5.v8.dt.mcore.Environmental; | ||
import com._1c.g5.v8.dt.mcore.TypeItem; | ||
|
||
/** | ||
* Extension computer of invocation types of 1C:SSL API module function {@code CommonClientServer.CollapseArray()} that | ||
* returns the typed array. | ||
* | ||
* @author Artem Iliukhin | ||
* | ||
*/ | ||
public class CommonFunctionCollapseArrayTypesComputer | ||
extends AbstractCommonModuleObjectAttributeValueTypesComputer | ||
{ | ||
|
||
@Override | ||
public List<TypeItem> getTypes(Invocation inv) | ||
{ | ||
if (inv.getParams().size() != 1) | ||
return Collections.emptyList(); | ||
|
||
if (!isValidClientServerModuleNameInvocation(inv)) | ||
return Collections.emptyList(); | ||
|
||
Expression expr = inv.getParams().get(0); | ||
if (expr != null) | ||
{ | ||
Environmental envs = EcoreUtil2.getContainerOfType(expr, Environmental.class); | ||
return this.getTypesComputer().computeTypes(expr, envs.environments()); | ||
} | ||
|
||
return Collections.emptyList(); | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# `ОбщегоНазначенияКлиентСервер.СвернутьМассив` (`CommonClientServer.CollapseArray`) | ||
|
||
Описание функции: | ||
|
||
> Возвращает копию исходного массива с уникальными значениями. | ||
## Типизация возвращаемых значений | ||
|
||
Функция возвращает типизированный массив как входящий тип. | ||
|
||
Пример: | ||
|
||
```bsl | ||
Процедура Тест() | ||
Товары = Новый Массив; // Массив из СправочникСсылка.Товары - | ||
УникальныеТовары = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Товары); | ||
УникальныйТовар = УникальныеТовары.Получить(0); | ||
КонецПроцедуры | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 8 additions & 0 deletions
8
tests/com.e1c.ssl.bsl.itests/resources/common-functions/collapse-array.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
|
||
Процедура Тест() | ||
|
||
Товары = Новый Массив; // Массив из СправочникСсылка.Товары - | ||
УникальныеТовары = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Товары); | ||
УникальныйТовар = УникальныеТовары.Получить(0); | ||
|
||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
48 changes: 48 additions & 0 deletions
48
...tests/workspace/CommonFunctions/src/CommonModules/ОбщегоНазначенияКлиентСервер/Module.bsl
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters